Skip to main content
POST
Save a payment method to a customer

Authorizations

X-Suby-Api-Key
string
header
required

Secret API key. sk_live_… (production) or sk_sandbox_… (sandbox).

Headers

Idempotency-Key
string

Optional key (≤255 chars, e.g. a UUID v4) that makes this POST safe to retry: the first request executes and its response is cached for 24h; a retry with the SAME key replays that response instead of re-executing (no duplicate payment/subscription). A reused key with a different request → 422 IDEMPOTENCY_KEY_CONFLICT; a retry while the first is still in flight → 409. See the Idempotency guide.

Maximum string length: 255
Example:

"5f3b9c2e-1a4d-4f2b-9c31-7e2a1b6d8c04"

Body

application/json
customerId
string
required

The customer to attach the instrument to. Required.

Example:

"cus_abc123"

paymentMethod
object
required
threedsSessionData
object

Optional proactive-3DS browser fingerprint — authenticates the card up front so later off-session debits are SCA-exempt MITs. Omit to save without 3DS.

Response

Setup intent created (status SUCCEEDED or REQUIRES_ACTION)

success
boolean
required
Example:

true

data
object
required

Endpoint-specific payload.

message
string