curl --request GET \
--url https://api.sandbox.paypathiq.com/v1/clients/{clientCode}/customers/{externalCustomerId} \
--header 'Authorization: Bearer <token>'{
"contacts": [
{
"address": {
"countryCode": "IE",
"line1": "1 Example Street",
"line2": "Example Building",
"locality": "Dublin",
"postalCode": "D02 X285",
"region": "Dublin",
"type": "home"
},
"email": {
"address": "avery@example.test",
"type": "personal"
},
"externalContactId": "CON_7F3K2Q",
"fullName": "Avery Example",
"isCustomerSelf": true,
"isMain": true,
"phone": {
"number": "+35315550123",
"type": "mobile"
}
}
],
"name": {
"firstName": "Avery",
"lastName": "Example"
},
"sourceReference": "member-ref-example",
"type": "person",
"externalCustomerId": "CUS_123",
"updatedAt": "2026-08-29T12:00:00Z"
}{
"detail": "API key is invalid, inactive, revoked, or for another environment.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 401,
"title": "API key is invalid, inactive, revoked, or for another environment.",
"type": "https://docs.paypathiq.com/problems/invalid_api_key"
}{
"detail": "The Client code is unknown, the grant lacks the required scope, or the calling address is outside the grant's IP allowlist.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 403,
"title": "The Client code is unknown, the grant lacks the required scope, or the calling address is outside the grant's IP allowlist.",
"type": "https://docs.paypathiq.com/problems/client_scope_denied"
}{
"detail": "Customer was not found within the authorized scope.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 404,
"title": "Customer was not found within the authorized scope.",
"type": "https://docs.paypathiq.com/problems/customer_not_found"
}{
"detail": "Route parameters or the representation are invalid. Route parameters are checked before authentication. Field errors carry a code such as invalid_format, unrecognized_keys, custom, sensitive_external_id, or sensitive_source_reference.",
"errors": [
{
"code": "invalid_format",
"detail": "Invalid ISO date",
"pointer": "/dueDate"
}
],
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 422,
"title": "Route parameters or the representation are invalid. Route parameters are checked before authentication. Field errors carry a code such as invalid_format, unrecognized_keys, custom, sensitive_external_id, or sensitive_source_reference.",
"type": "https://docs.paypathiq.com/problems/validation_error"
}{
"detail": "Each API key may send 60 requests per minute and run 1 request at a time. In sandbox, the same limits also apply per Client across all of its keys. Every request, including GET, counts.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 429,
"title": "Each API key may send 60 requests per minute and run 1 request at a time. In sandbox, the same limits also apply per Client across all of its keys. Every request, including GET, counts.",
"type": "https://docs.paypathiq.com/problems/rate_limit_exceeded"
}{
"detail": "An unexpected error prevented a safe commit, and nothing was saved. Retry with backoff.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 503,
"title": "An unexpected error prevented a safe commit, and nothing was saved. Retry with backoff.",
"type": "https://docs.paypathiq.com/problems/projection_unavailable"
}Get a Customer
Returns the calling Integration’s current Customer representation.
curl --request GET \
--url https://api.sandbox.paypathiq.com/v1/clients/{clientCode}/customers/{externalCustomerId} \
--header 'Authorization: Bearer <token>'{
"contacts": [
{
"address": {
"countryCode": "IE",
"line1": "1 Example Street",
"line2": "Example Building",
"locality": "Dublin",
"postalCode": "D02 X285",
"region": "Dublin",
"type": "home"
},
"email": {
"address": "avery@example.test",
"type": "personal"
},
"externalContactId": "CON_7F3K2Q",
"fullName": "Avery Example",
"isCustomerSelf": true,
"isMain": true,
"phone": {
"number": "+35315550123",
"type": "mobile"
}
}
],
"name": {
"firstName": "Avery",
"lastName": "Example"
},
"sourceReference": "member-ref-example",
"type": "person",
"externalCustomerId": "CUS_123",
"updatedAt": "2026-08-29T12:00:00Z"
}{
"detail": "API key is invalid, inactive, revoked, or for another environment.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 401,
"title": "API key is invalid, inactive, revoked, or for another environment.",
"type": "https://docs.paypathiq.com/problems/invalid_api_key"
}{
"detail": "The Client code is unknown, the grant lacks the required scope, or the calling address is outside the grant's IP allowlist.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 403,
"title": "The Client code is unknown, the grant lacks the required scope, or the calling address is outside the grant's IP allowlist.",
"type": "https://docs.paypathiq.com/problems/client_scope_denied"
}{
"detail": "Customer was not found within the authorized scope.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 404,
"title": "Customer was not found within the authorized scope.",
"type": "https://docs.paypathiq.com/problems/customer_not_found"
}{
"detail": "Route parameters or the representation are invalid. Route parameters are checked before authentication. Field errors carry a code such as invalid_format, unrecognized_keys, custom, sensitive_external_id, or sensitive_source_reference.",
"errors": [
{
"code": "invalid_format",
"detail": "Invalid ISO date",
"pointer": "/dueDate"
}
],
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 422,
"title": "Route parameters or the representation are invalid. Route parameters are checked before authentication. Field errors carry a code such as invalid_format, unrecognized_keys, custom, sensitive_external_id, or sensitive_source_reference.",
"type": "https://docs.paypathiq.com/problems/validation_error"
}{
"detail": "Each API key may send 60 requests per minute and run 1 request at a time. In sandbox, the same limits also apply per Client across all of its keys. Every request, including GET, counts.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 429,
"title": "Each API key may send 60 requests per minute and run 1 request at a time. In sandbox, the same limits also apply per Client across all of its keys. Every request, including GET, counts.",
"type": "https://docs.paypathiq.com/problems/rate_limit_exceeded"
}{
"detail": "An unexpected error prevented a safe commit, and nothing was saved. Retry with backoff.",
"requestId": "29400000-0000-4000-8000-000000000001",
"status": 503,
"title": "An unexpected error prevented a safe commit, and nothing was saved. Retry with backoff.",
"type": "https://docs.paypathiq.com/problems/projection_unavailable"
}Authorizations
Integration-owned environment-specific API key. Never paste a production key into documentation tools.
Path Parameters
Stable non-sensitive Client code authorized by the Integration grant.
^[A-Za-z0-9_-]{1,128}$Caller-assigned, opaque identifier for this Customer's source-system record. It is stable when Customer details change and is never a PayPathIQ ID, member or account number, or contact detail.
^[A-Za-z0-9_-]{1,128}$Response
Current Customer representation.
- Option 1
- Option 2
Show child attributes
Show child attributes
"person"Caller-assigned, opaque identifier for this Customer's source-system record. It is not a PayPathIQ ID, member number, loan or account number, or contact detail. Keep it stable when Customer details change.
^[A-Za-z0-9_-]{1,128}$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$1 - 2008Show child attributes
Show child attributes
At most one assertion per type; ordering is semantically irrelevant.
5- Option 1
- Option 2
Show child attributes
Show child attributes