> ## 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.

# Add Charger

Attaches an existing charger to the specified location using its identity and pincode.

<ParamField path="site" type="string" required>
  The UUID of the location.
</ParamField>

<ParamField body="identity" type="string" required>
  The OCPP identity of the charger to attach. Maximum 255 characters.
</ParamField>

<ParamField body="pincode" type="number" required>
  The pincode of the charger (4–8 digits).
</ParamField>

## Response

Returns the attached charger.

<ResponseField name="uuid" type="string">
  The unique UUID of the charger.
</ResponseField>

<ResponseField name="id" type="integer">
  The numeric ID of the charger.
</ResponseField>

<ResponseField name="identity" type="string">
  The charger's OCPP identity string.
</ResponseField>

<ResponseField name="serial_number" type="string">
  The charger's serial number. May be `null`.
</ResponseField>

<ResponseField name="pincode" type="string">
  The charger's pincode. Only included when the authenticated user has sensitive access to the charger.
</ResponseField>

<ResponseField name="reference" type="string">
  A custom reference label for the charger. May be `null`.
</ResponseField>

<ResponseField name="connection_status" type="string">
  The current connection status of the charger.
</ResponseField>

<ResponseField name="status" type="string">
  The current OCPP status of the charger.
</ResponseField>

<ResponseField name="error" type="string">
  The current error code, if any. May be `null`.
</ResponseField>

<ResponseField name="error_info" type="string">
  Additional error information. May be `null`.
</ResponseField>

<ResponseField name="vendor_id" type="string">
  The vendor identifier. May be `null`.
</ResponseField>

<ResponseField name="vendor_error_code" type="string">
  A vendor-specific error code. May be `null`.
</ResponseField>

<ResponseField name="firmware_version" type="string">
  The raw firmware version string. May be `null`.
</ResponseField>

<ResponseField name="parsed_firmware_version" type="string">
  The parsed and normalized firmware version. May be `null`.
</ResponseField>

<ResponseField name="server" type="string">
  The OCPP server the charger is connected to. May be `null`.
</ResponseField>

<ResponseField name="last_connection_at" type="string">
  ISO 8601 timestamp of the last connection. May be `null`.
</ResponseField>

<ResponseField name="last_disconnection_at" type="string">
  ISO 8601 timestamp of the last disconnection. May be `null`.
</ResponseField>

<ResponseField name="last_heartbeat_at" type="string">
  ISO 8601 timestamp of the last heartbeat. May be `null`.
</ResponseField>

<ResponseField name="setup_pending" type="boolean">
  Whether the charger has a pending setup operation.
</ResponseField>

<ResponseField name="setup_completed" type="boolean">
  Whether the charger has completed initial setup.
</ResponseField>

<ResponseField name="blocked" type="boolean">
  Whether the charger is blocked.
</ResponseField>

<ResponseField name="max_current" type="integer">
  The maximum current in amps.
</ResponseField>

<ResponseField name="licenses" type="object">
  The charger's active licenses.

  <Expandable title="licenses">
    <ResponseField name="smart" type="boolean">
      Whether the smart charging license is active.
    </ResponseField>

    <ResponseField name="pro" type="boolean">
      Whether the pro license is active.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="model_id" type="integer">
  The ID of the charger model. May be `null`.
</ResponseField>

<ResponseField name="model" type="object">
  The charger model details. Only included when the model relationship is loaded.

  <Expandable title="model">
    <ResponseField name="vendor" type="string">
      The vendor or manufacturer name.
    </ResponseField>

    <ResponseField name="name" type="string">
      The model name.
    </ResponseField>

    <ResponseField name="is_dc" type="boolean">
      Whether this is a DC charger.
    </ResponseField>

    <ResponseField name="image_url" type="string">
      The URL of the model image. May be `null`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="internal_model" type="object">
  The internal model details. Only included when the internal model relationship is loaded, otherwise `null`.

  <Expandable title="internal_model">
    <ResponseField name="id" type="integer">
      The numeric ID of the internal model.
    </ResponseField>

    <ResponseField name="name" type="string">
      The internal model name.
    </ResponseField>

    <ResponseField name="sku" type="string">
      The internal model SKU.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="is_mid" type="boolean">
  Whether the charger is MID-certified, derived from its internal or public model. May be `null`.
</ResponseField>

<ResponseField name="permissions" type="object">
  The authenticated user's permissions for this charger.

  <Expandable title="permissions">
    <ResponseField name="basic" type="boolean">
      Whether the user has basic read access.
    </ResponseField>

    <ResponseField name="sensitive" type="boolean">
      Whether the user has access to sensitive data (e.g., pincode, transactions).
    </ResponseField>

    <ResponseField name="full" type="boolean">
      Whether the user has full control (e.g., delete, transfer).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="connectors" type="array">
  An array of connector objects for this charger. Only included when the connectors relationship is loaded.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp of when the charger was created.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp of when the charger was last updated.
</ResponseField>
