Operation details
List the platform billing bridge keys
- operationId
listPlatformBillingBridgeKeys- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:billing_bridge.manage
Description (from the contract)
Bearer session of the platform owner (platform session, billing_bridge.manage). Lease feature module.billing.bridge (403 entitlement_feature_denied when the plugin is not enabled). Keys are paged by (created_at DESC, id DESC); the secret is never returned here.
Parameters
listPlatformBillingBridgeKeys Parameters| Name | In | Type | Required | Description |
|---|
limit | query | integer | No | — |
|---|
cursor | query | string | No | — |
|---|
Responses
listPlatformBillingBridgeKeys Responses| Status | Description |
|---|
200 | One page of keys. Fields:items: array<BillingBridgeKey> next_cursor: string has_more: boolean |
|---|
400 | The request body or parameters are invalid. |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
503 | A required dependency is unavailable. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
Create a platform billing bridge key
- operationId
createPlatformBillingBridgeKey- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:billing_bridge.manage
Description (from the contract)
Bearer session of the platform owner (platform session, billing_bridge.manage), MFA step-up proof (audience billing-bridge, action billing_bridge.key.create) in step_up_token; 403 mfa_step_up_required without it. ip_allowlist is required (1–32 addresses or CIDR networks, no /0). The secret is returned once in this response and only its pepper-derived seed is stored. Audit billing_bridge.key.created.
Request body
application/json · Required:Yes
createPlatformBillingBridgeKey Request body| Name | Type | Required | Description |
|---|
name | string | Yes | — |
|---|
ip_allowlist | array<string> | Yes | — |
|---|
expires_at | string(date-time) | No | — |
|---|
step_up_token | string | Yes | — |
|---|
Responses
createPlatformBillingBridgeKey Responses| Status | Description |
|---|
201 | The key and its one-time secret. Fields:key: BillingBridgeKey secret: string |
|---|
400 | The request body or parameters are invalid. |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
415 | Content-Type must be exactly application/json without parameters. |
|---|
503 | A required dependency is unavailable. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
Revoke a platform billing bridge key
- operationId
revokePlatformBillingBridgeKey- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:billing_bridge.manage
Description (from the contract)
Step-up action billing_bridge.key.revoke bound to the key id. Revocation is final. Audit billing_bridge.key.revoked.
Parameters
revokePlatformBillingBridgeKey Parameters| Name | In | Type | Required | Description |
|---|
id | path | string(uuid) | Yes | — |
|---|
Request body
application/json · Required:Yes
revokePlatformBillingBridgeKey Request body| Name | Type | Required | Description |
|---|
expected_revision | integer(int64) | Yes | — |
|---|
step_up_token | string | Yes | — |
|---|
Responses
revokePlatformBillingBridgeKey Responses| Status | Description |
|---|
200 | The revoked key. Fields:id: string(uuid) key_id: string owner_scope_id: string(uuid) owner_kind: string: platform / reseller name: string ip_allowlist: array<string> status: string: active / revoked expires_at: string(date-time) last_used_at: string(date-time) created_by: string(uuid) revision: integer(int64) created_at: string(date-time) updated_at: string(date-time) revoked_at: string(date-time) |
|---|
400 | The request body or parameters are invalid. |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
404 | The requested resource was not found. |
|---|
409 | The requested state conflicts with an existing resource or idempotency fact. |
|---|
503 | A required dependency is unavailable. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
Rotate the secret of a platform billing bridge key
- operationId
rotatePlatformBillingBridgeKey- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:billing_bridge.manage
Description (from the contract)
Step-up action billing_bridge.key.rotate bound to the key id. The old secret stops working at once; the new one is returned once. 409 revision_conflict on a stale expected_revision, 409 key_revoked for a revoked key. Audit billing_bridge.key.rotated.
Parameters
rotatePlatformBillingBridgeKey Parameters| Name | In | Type | Required | Description |
|---|
id | path | string(uuid) | Yes | — |
|---|
Request body
application/json · Required:Yes
rotatePlatformBillingBridgeKey Request body| Name | Type | Required | Description |
|---|
expected_revision | integer(int64) | Yes | — |
|---|
step_up_token | string | Yes | — |
|---|
Responses
rotatePlatformBillingBridgeKey Responses| Status | Description |
|---|
200 | The key and its new one-time secret. Fields:key: BillingBridgeKey secret: string |
|---|
400 | The request body or parameters are invalid. |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
404 | The requested resource was not found. |
|---|
409 | The requested state conflicts with an existing resource or idempotency fact. |
|---|
503 | A required dependency is unavailable. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
List the platform billing bridge call log
- operationId
listPlatformBillingBridgeLogs- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:billing_bridge.manage
Description (from the contract)
Calls made with the caller's own keys only (owner scope), newest first, cursor paged. Denied calls carry the internal reason_code the caller of the bridge never sees. Rows are kept 90 days.
Parameters
listPlatformBillingBridgeLogs Parameters| Name | In | Type | Required | Description |
|---|
limit | query | integer | No | — |
|---|
cursor | query | string | No | — |
|---|
Responses
listPlatformBillingBridgeLogs Responses| Status | Description |
|---|
200 | One page of log rows. Fields:items: array<BillingBridgeLogEntry> next_cursor: string has_more: boolean |
|---|
400 | The request body or parameters are invalid. |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
503 | A required dependency is unavailable. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
Read the platform billing bridge plugin settings
- operationId
getPlatformBillingBridgeSettings- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:billing_bridge.manage
Description (from the contract)
Platform plugin settings. sso_require_mfa defaults to false (bridge SSO skips the second factor); revision 0 means never saved. Lease feature module.billing.bridge (403 entitlement_feature_denied).
Responses
getPlatformBillingBridgeSettings Responses| Status | Description |
|---|
200 | Current settings. Fields:sso_require_mfa: boolean revision: integer(int64) updated_at?: string(date-time) |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
503 | A required dependency is unavailable. |
|---|
What to do on failure
401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list
Change the platform billing bridge plugin settings
- operationId
putPlatformBillingBridgeSettings- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:billing_bridge.manage
Description (from the contract)
Requires a step-up proof (audience billing-bridge, action billing_bridge.settings.update, bound to the owner scope): turning MFA off weakens every bridge SSO sign-in. expected_revision is the revision read (0 for the first save); a stale revision is 409. Audited as billing_bridge.settings.updated.
Request body
application/json · Required:Yes
putPlatformBillingBridgeSettings Request body| Name | Type | Required | Description |
|---|
sso_require_mfa | boolean | Yes | — |
|---|
expected_revision | integer(int64) | Yes | — |
|---|
step_up_token | string | Yes | — |
|---|
Responses
putPlatformBillingBridgeSettings Responses| Status | Description |
|---|
200 | Saved settings. Fields:sso_require_mfa: boolean revision: integer(int64) updated_at?: string(date-time) |
|---|
400 | The request body or parameters are invalid. |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
409 | The requested state conflicts with an existing resource or idempotency fact. |
|---|
503 | A required dependency is unavailable. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.503 A dependency is unavailable: retry later with the original Idempotency-Key.
↑ Back to list