---
title: "Get customer by external ID"
method: GET
path: "/customers/external/{external_id}"
tags: ["Customers"]
---

# Get customer by external ID

`GET /customers/external/{external_id}`

Use when resolving a customer by your app's id (e.g. from your user table). Ideal for integrations that key by external id.

## Path parameters

- `external_id` string, required

## Response `200`

OK

- CustomerResponse — Customer response object containing all customer information
  - `address_city` string — AddressCity is the city of the customer's address
  - `address_country` string — AddressCountry is the country of the customer's address (ISO 3166-1 alpha-2)
  - `address_line1` string — AddressLine1 is the first line of the customer's address
  - `address_line2` string — AddressLine2 is the second line of the customer's address
  - `address_postal_code` string — AddressPostalCode is the postal code of the customer's address
  - `address_state` string — AddressState is the state of the customer's address
  - `created_at` string, date-time
  - `created_by` string
  - `email` string — Email is the email of the customer
  - `environment_id` string — EnvironmentID is the environment identifier for the customer
  - `external_id` string — ExternalID is the external identifier for the customer
  - `id` string — ID is the unique identifier for the customer
  - `integrations` EntityIntegrationMappingResponse[]
    - `created_at` string, date-time
    - `created_by` string
    - `entity_id` string
    - `entity_type` 'customer' | 'plan' | 'invoice' | 'subscription' | 'payment' | 'credit_note' | 'addon' | 'item' | 'item_price' | 'price'
    - `environment_id` string
    - `id` string
    - `metadata` object
    - `provider_entity_id` string
    - `provider_type` string
    - `status` 'published' | 'deleted' | 'archived'
    - `tenant_id` string
    - `updated_at` string, date-time
    - `updated_by` string
  - `metadata` object — Metadata
  - `name` string — Name is the name of the customer
  - `status` 'published' | 'deleted' | 'archived'
  - `tenant_id` string
  - `updated_at` string, date-time
  - `updated_by` string

## Other responses

- `400` — Invalid request
- `404` — Resource not found
- `500` — Server error

## Changes

- **2026-06-03** `7adf4f33ea1a` — 1 info
  - added the optional property `integrations/items/metadata` to the response with the `200` status
- **2026-05-18** `8ec2edea6b20` — 6 warning
  - removed the optional property `details` from the response with the `400` status
  - removed the optional property `details` from the response with the `404` status
  - removed the optional property `details` from the response with the `500` status
  - added the new `too_many_requests` enum value to the `code` response property for the response status `400`
  - …2 more
- **2026-04-06** `95af41a12111` — 8 warning, 12 info
  - removed the optional property `error` from the response with the `400` status
  - removed the optional property `error` from the response with the `404` status
  - removed the optional property `error` from the response with the `500` status
  - removed the optional property `parent_customer` from the response with the `200` status
  - …16 more
- **2026-04-04** `3d452eb9ebcc` — 1 info
  - added the optional property `integrations` to the response with the `200` status

[Change history](https://skmtc.dev/flexprice/apis/flexprice-api/changes/customers/external/:external_id/get.md)

---

[API](https://skmtc.dev/flexprice/apis/flexprice-api.md) · [All operations](https://skmtc.dev/flexprice/apis/flexprice-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flexprice/flexprice-api/revisions/2a40f94de722/schema)
