POST
/api/v1/customer-360/external/profiles/

External API endpoint for organisations to upload customer profiles.

Accepts JSON payload with a type discriminator ("individual" or "business"), an optional on_conflict strategy (defaults to "update" for idempotent sync), and a records array.

Authentication: X-API-Key header (live or sandbox key). Rate limit: 10 requests/minute per organisation.

Payload: { "type": "individual", "on_conflict": "update", "records": [ {"first_name": "John", "last_name": "Doe", "customer_reference": "CUS-001", ...}, ... ] }

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Validates the external API profile upload payload.

Payload: { "type": "individual" or "business", "on_conflict": "update" (default) | "skip" | "error", "records": [{...}, ...] }

Response Body

application/json

curl -X POST "https://example.com/api/v1/customer-360/external/profiles/" \  -H "Content-Type: application/json" \  -d '{    "type": "individual",    "records": [      {        "property1": null,        "property2": null      }    ]  }'
{  "data": {},  "status": true,  "message": "Request successful.",  "errors": {},  "meta": {    "timestamp": "2019-08-24T14:15:22Z",    "version": "v1",    "request_id": "string"  },  "pagination": {    "page": 0,    "page_size": 0,    "total_pages": 0,    "total_items": 0  }}
Response Codes & Statuses: Prembly API responses include custom response_code values (e.g., 00 Success, 01 Not Found, 02 Unavailable).
View Response Codes Guide
Prembly Slack Community

Join our developer Slack channel for real-time integration support, engineering updates, and direct Q&A with the Prembly team.

Join Slack Channel