Bulk link payment accounts

View as Markdown
Points a batch of your Tabs customers at payment-processor customer accounts that already exist — a Stripe `cus_…` id for each. Useful when migrating customers you already bill through Stripe onto Tabs. This only records the link. It never creates a customer in Stripe: if the reference does not already exist there, the link is still written, but nothing will charge against it. Send at most 100 entries per request and split larger imports across several calls. Every entry is checked against your merchant account first, and each one is reported back individually — the response returns one result per entry, in the order sent, so a rejected entry does not hide behind a successful batch. A customer that is not yours comes back as `NOT_FOUND` and is left untouched. **Default payment method.** Pass `defaultPaymentMethodId` to choose the default yourself. Leave it out and Tabs reads the customer's current default from the processor instead — that read runs asynchronously, just after this call returns, so the `defaultPaymentMethod` in the response is only what Tabs has on record at that moment and is usually empty for a newly linked account. It fills in shortly afterwards on its own; re-read the customer a little later rather than treating the response as final. There is no status endpoint for that follow-up work. **Re-linking.** Sending a different reference for a customer that is already linked repoints them to the new one. The previously stored default payment method is cleared and resolved again for the new account. Each entry is applied independently: one failure does not roll back the entries that already succeeded.

Authentication

Authorizationstring
API Key authentication via header

Request

This endpoint expects an object.
itemslist of objectsRequired

The accounts to link. At most 100 per request; split larger imports across several calls.

Response

Accepted. One result per request entry: LINKED, NOT_FOUND (not your customer), or FAILED with a reason.

payloadobject
Response payload, will be empty when success is false
successboolean

Boolean with true=success, false=failure

messagestring

Plain-text description of the result

errorobjectOptional
json element with any error messages or warnings

Errors

400
Bad Request Error
500
Internal Server Error