BillKit/DocsConsole
Tenant

Rotate tenant provider credential

Replace the payment provider API key BillKit uses to charge on your behalf.

POST/v1/tenant/provider_credential
Operation rotate_tenant_provider_credential·Scope provider_credential:write·OpenAPI v1.1.0

Parameters

ParameterDescription
api_keystringrequiredThe new provider API key. Stored encrypted and never returned. At most 128 characters.
modeenum | nulloptionalWhich mode's provider key to replace. Must match the mode of the calling API key, or the request fails with mode_mismatch. Omit to use the calling key's mode. One of live, test.
providerconstoptionalThe payment provider. Only mollie. Always mollie. Defaults to "mollie".

Returns

Returns a TenantProviderCredentialResponse object.

Errors

StatusCause
400The request was refused (type: invalid_request_error): a required parameter is missing (parameter_missing), one failed validation (parameter_invalid) or is not one the operation takes (parameter_unknown), and param names it.
401No credential, or one that does not authenticate.
402The account is suspended (tenant_suspended), or the payment provider refused a charge or refund the call made (type: payment_error, code: payment_refused).
403Authenticated, but not allowed: missing scope (insufficient_scope), a key of the wrong mode (mode_mismatch), or a refused origin. Needs the provider_credential:write scope.
404No such object in this account and mode.
409Conflicts with the object's current state (state_conflict, or a more specific code), or an operation still in flight (operation_pending).
413The request body is larger than the API accepts.
429Rate limited. Retry-After says when to try again.
500Something failed on BillKit's side (type: api_error). Retry with the same Idempotency-Key.
502The payment provider failed or did not answer.
503Temporarily unable to serve. reason says whether the request was attempted.
Request · curl
curl -X POST https://api.billkit.eu/v1/tenant/provider_credential \
  -H "Authorization: Bearer $BILLKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api_key":"string"}'
Request body · every field
{
  "api_key": "string",
  "mode": "live",
  "provider": "mollie"
}
Response · 200 OK
{
  "mode": "live",
  "object": "tenant_provider_credential",
  "provider": "mollie",
  "rotated_at": 1789392000,
  "tenant_id": "tenant_9XKp2vQ1"
}