> ## Documentation Index
> Fetch the complete documentation index at: https://developer.plugchoice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Remove a charger

> A user's charger your integration has access to only loses that access: it stays in their own Plugchoice
account. A charger your team owns is released: deleted with its history, or, when that's not possible
(a Volt Time charger, or one with billing or roaming records), taken off its site and team with the card
ids removed from its charging sessions, and refused when it connects. The same answer for a charger
that's gone already or that you can't reach, so retrying is safe.




## OpenAPI

````yaml api-reference/sdk/sdk-v1.openapi.yaml DELETE /chargers/{charger_id}
openapi: 3.1.0
info:
  title: Plugchoice SDK API
  version: '2026-10-07'
  summary: Connect EV chargers to Plugchoice from your own app.
  description: >
    The API of the Plugchoice SDK. Your server creates client sessions, which
    say who Link (the SDK's

    onboarding feature) acts for and what it may reach; it reads the link
    sessions Link opened with them, and

    the chargers and what each can do. The `/session` endpoints are used only by
    Link's hosted flow at

    `connect.plugchoice.com`.


    Errors are RFC 9457 problem details; times are RFC 3339 UTC; ids are UUIDs.


    **Versions** are dates. Pin one with the `Plugchoice-Version` request
    header; without it you get the newest.

    Every response says which version answered in the same header. An unknown
    version is

    `400 unknown-version`. The only version is `2026-10-07`.
  contact:
    name: Plugchoice
    url: https://developer.plugchoice.com/sdk
    email: support@plugchoice.com
servers:
  - url: https://api.plugchoice.com/sdk/v1
    description: Production
security: []
tags:
  - name: Client sessions
    description: >-
      Say who Link acts for, and what it may reach, for an hour. Integrations
      and Plugchoice users.
  - name: Link sessions
    description: >-
      Read the outcome of a link session, one time through Link. Integrations
      and Plugchoice users.
  - name: Chargers
    description: >-
      Read chargers and what they can do (`capabilities`). Integrations and
      Plugchoice users.
  - name: Transactions
    description: >-
      Read the charging sessions of your chargers, and of your users' chargers
      they let you read. Integrations only.
  - name: Session
    description: Link's hosted flow only. Opens and runs one link session.
paths:
  /chargers/{charger_id}:
    delete:
      tags:
        - Chargers
      summary: Remove a charger
      description: >
        A user's charger your integration has access to only loses that access:
        it stays in their own Plugchoice

        account. A charger your team owns is released: deleted with its history,
        or, when that's not possible

        (a Volt Time charger, or one with billing or roaming records), taken off
        its site and team with the card

        ids removed from its charging sessions, and refused when it connects.
        The same answer for a charger

        that's gone already or that you can't reach, so retrying is safe.
      operationId: deleteCharger
      parameters:
        - $ref: '#/components/parameters/PlugchoiceVersion'
        - $ref: '#/components/parameters/ChargerId'
      responses:
        '204':
          description: Removed
        '401':
          $ref: '#/components/responses/Unauthenticated'
      security:
        - integrationToken: []
components:
  parameters:
    PlugchoiceVersion:
      name: Plugchoice-Version
      in: header
      required: false
      description: >-
        The API version to answer with (`400 unknown-version` for one this API
        does not know). Every response carries the version that answered in the
        same header.
      schema:
        type: string
        enum:
          - '2026-10-07'
    ChargerId:
      name: charger_id
      in: path
      required: true
      schema:
        type: string
        format: uuid
  responses:
    Unauthenticated:
      description: Missing, invalid or expired token (`unauthenticated`).
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
  schemas:
    Problem:
      type: object
      description: RFC 9457 problem details.
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
          description: >-
            Stable identifier,
            `https://developer.plugchoice.com/sdk/errors/{code}`.
          examples:
            - https://developer.plugchoice.com/sdk/errors/identity-taken
        title:
          type: string
          examples:
            - Identity already registered
        status:
          type: integer
        detail:
          type: string
        code:
          $ref: '#/components/schemas/ErrorCode'
        errors:
          type: object
          description: Only for `validation-failed`. Field path → messages.
          additionalProperties:
            type: array
            items:
              type: string
        site:
          $ref: '#/components/schemas/SiteSummary'
          description: Only for `charger-at-other-site`.
        claimable:
          type: boolean
          description: >-
            Only for `identity-taken`. Whether `POST /session/claims` can be
            tried.
        sign_in_to_share:
          type: boolean
          description: >
            Only for `identity-taken`, in a link session for your user's own
            account before they signed in. The

            charger may already be in their account: once signed in, they share
            it (`POST /session/chargers/{charger_id}/share`).
        vendor_charger:
          type: object
          description: >-
            Only for problems connecting a Zaptec installation's chargers in the
            hosted flow. Which charger of the installation it is about.
          required:
            - id
            - serial
          properties:
            id:
              type: string
              description: The brand's id (`ZaptecCharger.id`).
            serial:
              type: string
    ErrorCode:
      type: string
      description: >-
        The last path segment of `type`, for switch statements. New codes may be
        added.
      enum:
        - unauthenticated
        - forbidden
        - scope-missing
        - sdk-access-required
        - profile-incomplete
        - sign-in-not-needed
        - sign-in-required
        - site-not-saved
        - sign-in-code-required
        - code-invalid
        - two-factor-not-needed
        - two-factor-invalid
        - two-factor-locked
        - not-found
        - validation-failed
        - rate-limited
        - unknown-version
        - unsupported-device-type
        - scope-required
        - client-session-expired
        - site-required
        - start-code-invalid
        - session-ended
        - consent-required
        - consent-not-needed
        - location-required
        - location-already-set
        - method-not-allowed
        - identity-taken
        - identity-busy
        - identity-not-taken
        - charger-at-other-site
        - handover-not-offered
        - control-held
        - pincode-invalid
        - claim-exists
        - claim-closed
        - charger-offline
        - plug-in-not-available
        - nothing-to-complete
        - vendor-sign-in-failed
        - vendor-sign-in-required
        - vendor-not-permitted
        - vendor-charger-offline
        - vendor-rate-limited
        - vendor-unavailable
        - vendor-error
        - bad-request
        - server-error
    SiteSummary:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
  securitySchemes:
    integrationToken:
      type: oauth2
      description: >
        Your integration's client credentials (test or live). The token acts as
        your integration's team and

        lasts 1 hour; request a new one when it expires. Send `client_id`,
        `client_secret` and

        `grant_type=client_credentials`. No OAuth scopes are needed.
      flows:
        clientCredentials:
          tokenUrl: https://app.plugchoice.com/oauth/token
          scopes: {}

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.