---
title: "Get customer source records"
method: GET
path: "/customer-source-records"
tags: ["Customer source records"]
---

# Get customer source records

`GET /customer-source-records`

Get all customer source records.

Customer source records link customer accounts to the external systems that created or track them. Each record includes the source ID and one or more external IDs from that system. This endpoint returns source records across all customers. To retrieve source records for a specific customer, use [GET /customers/{customer_id}/sources](https://carecloud.readme.io/reference/getsubcustomersource).

When both the `external_ids` and `external_id` filter parameters are provided, `external_ids` takes priority and `external_id` is ignored.

## Query parameters

- `count` integer
- `offset` integer
- `sort_field` string
- `sort_direction` 'ASC' | 'DESC'
- `customer_id` string
- `external_id` string
- `customer_source_id` string
- `external_ids` string[]

## Headers

- `Accept-Language` string

## Response `200`

OK

- object
  - `data` object
    - `customer_source_records` CustomerSourceRecord[] — List of the customer source records.
      - `customer_source_record_id` string — The unique ID of the customer source record.
      - `customer_source_id` string, required — The unique ID of the customer source. It identifies the system where the customer belongs or the customer account was created. For the list of all available customer sources please look at: [GET /customer-sources](https://carecloud.readme.io/reference/getcustomersources).
      - `customer_id` string — The unique ID of the customer. [GET /customers](https://carecloud.readme.io/reference/getcustomers)
      - `external_id` string — The external ID of the customer in the external system.
      - `last_change` string — Timestamp of the last change. Format: `YYYY-MM-DD HH:MM:SS`. All times are in the local timezone.
    - `total_items` integer — The number of all found customer source records.

## Other responses

- `400` — Bad input parameter. The response body's `error.error_data.invalid_params[]` array lists the parameters that caused the failure, each carrying a `reason` code. See the `BadRequestErrorBody` schema for the generic reason taxonomy. Operations with domain-specific business rules document additional reasons at the operation level.
- `401` — The client has invalid credentials or auth token.
- `403` — The client does not exist or the client tried to access an unauthorized property or resource.
- `404` — The resource was not found.
- `405` — The resource does not support the specified HTTP method.
- `429` — Too many requests - more than the resource limit.
- `500` — Server is not working as expected.
- `503` — Temporary state when the service is temporarily unavailable, overloaded or there is a maintenance window.

---

[API](https://skmtc.net/crmcarecloud/apis/rest-api-reference.md) · [All operations](https://skmtc.net/crmcarecloud/apis/rest-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crmcarecloud/rest-api-reference/revisions/329c06dbf8d9/schema)
