Operation
Correct a customer
POST
/customers/{customerId}/correctCorrect the first name, last name or phone of a customer the caller's channel created, or matched by exact email through POST /customers/match. Needs customers.correct, which a channel secret key holds; staff edit customers with PATCH /customers/{customerId}. The email is never accepted: it is the customer's identity, and changing it would hand the record, its orders and its tickets to whoever holds the new address. Any other customer is 404. Every correction is recorded in the customer audit trail with the caller as actor. Answers the redacted view a match gives.
Path parameters
customerIdstringRequired- Customer ID
Headers
Idempotency-KeystringOptional- Makes the write safe to retry. The first request with a key does the work and its response is stored for 24 hours; a repeat with the same key and the same request (method, path, query, X-Ticketlayer-Channel, TL-Version and body) gets that stored status and body back, marked `Idempotent-Replay: true`, without running again. The key is scoped to your organisation and your credential. The same key with a different request is 422 IDEMPOTENCY_KEY_REUSED; a repeat while the first is still running waits for it, then answers 409 IDEMPOTENT_REQUEST_IN_PROGRESS if it has not finished. Only a 2xx is stored: after an error the key is free again. Omit the header and the request behaves as it always has.
Body
Returns
Customer corrected
Errors
- 400
- Bad Request - Invalid input
- 401
- Unauthorized - Authentication required
- 403
- Forbidden - Insufficient permissions
- 404
- Not Found - Resource not found
- 500
- Internal Server Error
Every error names its code and links to it. All error codes
curl -X POST "https://api.ticketlayer.com/v1/customers/cus_abc123/correct" \ -H "Authorization: Bearer tlak_..." \ -H "X-Ticketlayer-Org: your-org-slug" \ -H "Content-Type: application/json" \ -d '{ "firstName": "Jane", "lastName": "Smith", "phone": "+44 7700 900001" }'Response 200
{
"customer": {
"id": "cus_abc123",
"firstName": "John",
"lastInitial": "D",
"maskedEmail": "c***@e***.com",
"phoneLast4": "0000"
}
}