Show customer details
name and email attributes are kept in sync with the related contact resourceexternal_user_id attribute may be used as a customer reference in an external systemname (string) - The customer’s full name. This is a required field and can be either user-provided or auto-generated from their email address if left blank.email (string) - The customer’s email address. This is a required field and must be unique within a site. It’s automatically downcased and stripped of whitespace. Used for authentication and communication.avatar (string) - A URL to the customer’s profile image. Can be either a custom uploaded avatar or falls back to Gravatar. If not set, defaults to a blank image.external_user_id (string) - An optional external identifier that can be used to link the customer to external systems. Must be unique within a site.public_bio (string) - A text field containing the customer’s public biography or description. This is optional and can be displayed in community/social features.public_location (string) - A text field for the customer’s public location information. Optional field used for community/social features.public_website (string) - The customer’s website URL. This is validated to ensure it’s a proper URL format and is transformed to ensure proper formatting.socials (object) - A collection of the customer’s social media links and profiles.net_revenue (string) - The total revenue generated by this customer through their purchases. This is calculated from their successful payment transactions.sign_in_count (integer) - A counter tracking how many times the customer has signed into their account.last_request_at (string) - Timestamp of the customer’s most recent activity or request. Used to track user engagement and activity.bounced_at (string) - Timestamp indicating when the customer’s email started bouncing. This is reset if the email address is changed.created_at (string) - Timestamp when the customer record was created.updated_at (string) - Timestamp when the customer record was last updated.Use the include parameter to include related resources:
GET /v1/customers/123?include=contact,offers,productsResponse will include related resources
{
"data": {
"id": "123",
"type": "customers",
"attributes": {
"name": "Alice Smith",
"email": "[email protected]",
"avatar": null,
"external_user_id": "cust_123",
"public_bio": null,
"public_location": null,
"public_website": null,
"socials": null,
"net_revenue": "0.0",
"sign_in_count": 0,
"last_request_at": null,
"bounced_at": null,
"created_at": "2021-01-01T00:00:00Z",
"updated_at": "2021-01-01T00:00:00Z"
},
"links": {
"contact": "https://app.kajabi.com/api/v1/contacts/321"
},
"relationships": {
"contact": {
"data": {
"id": "321",
"type": "contacts"
}
},
"offers": {
"data": [{ "id": "456", "type": "offers" }],
"links": {
"self": "https://app.kajabi.com/api/v1/customers/123/relationships/offers"
}
},
"products": {
"data": [{ "id": "789", "type": "products" }]
}
}
},
"included": [
{
"id": "456",
"type": "offers",
"attributes": {
"name": "Offer 1",
"description": "Offer 1 description",
"internal_title": "Offer 1",
"price_in_cents": 0,
"payment_type": "free",
"token": "offer_123",
"payment_method": "none",
"price_description": "Free",
"checkout_url": "https://mywebsite.com/offers/456",
"recurring_offer": false,
"subscription": false,
"one_time": true,
"single": false,
"free": true
}
},
{
"id": "789",
"type": "products",
"attributes": {
"created_at": "2024-11-12T23:43:09.551Z",
"title": "Course 1",
"description": "Course 1 description",
"status": "ready",
"members_aggregate_count": 0,
"product_type_name": "Course",
"product_type_id": 789,
"publish_status": "published",
"thumbnail_url": null
}
},
{
"id": "321",
"type": "contacts",
"attributes": {
"name": "Alice Smith",
"email": "[email protected]",
"address_line_1": null,
"address_line_2": null,
"address_city": null,
"address_country": null,
"address_state": null,
"address_zip": null,
"phone_number": null,
"business_number": null,
"subscribed": false,
"external_user_id": null,
"created_at": "2024-11-20T18:53:19.389Z",
"updated_at": "2024-11-20T18:53:19.389Z"
}
}
]
}
Use the fields[customers] parameter to request only specific attributes:
GET /v1/customers/123?fields[customers]=name,emailResponse will only include requested fields
{
"data": {
"id": "123",
"type": "customers",
"attributes": {
"name": "Alice Smith",
"email": "[email protected]"
}
}
}
You can combine filtering, sparse fields, pagination and search in a single request:
GET /v1/customers/123?include=products&fields[customers]=name&fields[product]=titleResponse will include related resources with sparse fields
{
"data": {
"id": "123",
"type": "customers",
"attributes": {
"name": "Alice Smith"
},
"relationships": {}
},
"included": [
{
"id": "789",
"type": "products",
"attributes": {
"title": "Course 1"
}
}
]
}
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Partial attributes as specified, e.g. fields[customers]=name,email
Should be ignored when include parameter is missing
Should be ignored when include parameter is missing