For the complete documentation index, see llms.txt. This page is also available as Markdown.

POSTpartial

Bind linked payer and payee accounts before Award preparation

Requires the settlement_adapter role scoped to stripe_connect. Both accounts belong to this tenant. Express debit consent, exact USD amount and party mapping become immutable binding identity. No money is moved by this operation.

/api/cases/{id}/stripe-connect-bindingbindStripeConnectAccounts

Authentication and authority

Send one of the allowed bearer credential roles. Alternatives are OR; credentials named within one alternative are AND.

CanonicalPartnerBearer

Partner key issued after partner access is approved. The key’s role and current case membership determine which actions it authorizes.

Parameters

NameLocationRequirementSchema
idpathRequired{"type":"string"}
Idempotency-KeyheaderRequired{"type":"string","minLength":8,"maxLength":200}

Request body

Required request body.

application/json

{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "payerConnectedAccountId",
    "payeeConnectedAccountId",
    "payerSide",
    "amountUsd",
    "debitConsentReference",
    "authorizeAccountDebit"
  ],
  "properties": {
    "payerConnectedAccountId": {
      "type": "string",
      "pattern": "^acct_[a-zA-Z0-9]+$",
      "example": "acct_payerExample"
    },
    "payeeConnectedAccountId": {
      "type": "string",
      "pattern": "^acct_[a-zA-Z0-9]+$",
      "example": "acct_payeeExample"
    },
    "payerSide": {
      "enum": [
        "claimant",
        "respondent"
      ]
    },
    "amountUsd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "multipleOf": 0.01
    },
    "debitConsentReference": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "authorizeAccountDebit": {
      "const": true
    }
  }
}

Responses

200

Authorized Stripe Connect resource.

application/json

{
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "caseId",
        "binding"
      ],
      "properties": {
        "caseId": {
          "type": "string"
        },
        "binding": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/StripeConnectBinding",
              "type": "object",
              "required": [
                "adapter",
                "connectedAccountId",
                "amountUsd",
                "currency",
                "balanceTransfer"
              ],
              "properties": {
                "adapter": {
                  "const": "stripe_connect"
                },
                "connectedAccountId": {
                  "type": "string"
                },
                "amountUsd": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "currency": {
                  "const": "usd"
                },
                "buyerReference": {
                  "type": "string"
                },
                "balanceTransfer": {
                  "type": "object",
                  "required": [
                    "id",
                    "partnerId",
                    "environment",
                    "payerConnectedAccountId",
                    "payerSide",
                    "payeeSide",
                    "debitConsentReference"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "partnerId": {
                      "type": "string"
                    },
                    "environment": {
                      "enum": [
                        "test",
                        "live"
                      ]
                    },
                    "payerConnectedAccountId": {
                      "type": "string"
                    },
                    "payerSide": {
                      "enum": [
                        "claimant",
                        "respondent"
                      ]
                    },
                    "payeeSide": {
                      "enum": [
                        "claimant",
                        "respondent"
                      ]
                    },
                    "debitConsentReference": {
                      "type": "string"
                    }
                  }
                }
              },
              "x-mcp-exposure": "none"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
201

Authorized Stripe Connect resource.

application/json

{
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "caseId",
        "binding"
      ],
      "properties": {
        "caseId": {
          "type": "string"
        },
        "binding": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/StripeConnectBinding",
              "type": "object",
              "required": [
                "adapter",
                "connectedAccountId",
                "amountUsd",
                "currency",
                "balanceTransfer"
              ],
              "properties": {
                "adapter": {
                  "const": "stripe_connect"
                },
                "connectedAccountId": {
                  "type": "string"
                },
                "amountUsd": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "currency": {
                  "const": "usd"
                },
                "buyerReference": {
                  "type": "string"
                },
                "balanceTransfer": {
                  "type": "object",
                  "required": [
                    "id",
                    "partnerId",
                    "environment",
                    "payerConnectedAccountId",
                    "payerSide",
                    "payeeSide",
                    "debitConsentReference"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "partnerId": {
                      "type": "string"
                    },
                    "environment": {
                      "enum": [
                        "test",
                        "live"
                      ]
                    },
                    "payerConnectedAccountId": {
                      "type": "string"
                    },
                    "payerSide": {
                      "enum": [
                        "claimant",
                        "respondent"
                      ]
                    },
                    "payeeSide": {
                      "enum": [
                        "claimant",
                        "respondent"
                      ]
                    },
                    "debitConsentReference": {
                      "type": "string"
                    }
                  }
                }
              },
              "x-mcp-exposure": "none"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
default

Authorization, validation or provider configuration failure.

application/problem+json

{
  "$ref": "#/components/schemas/Problem",
  "type": "object",
  "required": [
    "type",
    "title",
    "status",
    "code",
    "detail",
    "requestId"
  ],
  "properties": {
    "type": {
      "type": "string",
      "format": "uri"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer"
    },
    "code": {
      "type": "string"
    },
    "detail": {
      "type": "string"
    },
    "requestId": {
      "type": "string"
    },
    "details": {
      "description": "Account-readiness refusals include a value-free checklist and exact account-page link. Other error codes may provide different details.",
      "anyOf": [
        {
          "$ref": "#/components/schemas/AccountReadinessDetails",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "ready",
            "accountSetupUrl",
            "missing"
          ],
          "properties": {
            "ready": {
              "type": "boolean"
            },
            "accountSetupUrl": {
              "type": "string",
              "format": "uri"
            },
            "missing": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AccountReadinessRequirement",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "code",
                  "label",
                  "section",
                  "accountUrl"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "section": {
                    "type": "string",
                    "enum": [
                      "email",
                      "identity",
                      "legal_documents"
                    ]
                  },
                  "accountUrl": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        },
        {
          "$ref": "#/components/schemas/LegalDocumentsRequiredDetails",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "legalDocumentsUrl"
          ],
          "properties": {
            "legalDocumentsUrl": {
              "type": "string",
              "format": "uri",
              "description": "Absolute account-page URL where the person reviews and accepts the current Terms and Privacy Notice. Uses the configured public application origin. After accepting the documents, retry the original operation."
            },
            "ready": {
              "type": "boolean"
            },
            "accountSetupUrl": {
              "type": "string",
              "format": "uri"
            },
            "missing": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AccountReadinessRequirement",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "code",
                  "label",
                  "section",
                  "accountUrl"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "section": {
                    "type": "string",
                    "enum": [
                      "email",
                      "identity",
                      "legal_documents"
                    ]
                  },
                  "accountUrl": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        },
        {}
      ]
    }
  }
}

Example response

Successful response

{
  "data": {
    "caseId": "pcase_test_123",
    "binding": {
      "adapter": "stripe_connect",
      "connectedAccountId": "connectedAccountId_test",
      "amountUsd": 0.9,
      "currency": "usd",
      "balanceTransfer": {
        "id": "id_test",
        "partnerId": "partner_test_123",
        "environment": "test",
        "payerConnectedAccountId": "payerConnectedAccountId_test",
        "payerSide": "claimant",
        "payeeSide": "claimant",
        "debitConsentReference": "partner_reference_123"
      }
    }
  },
  "requestId": "requestId_test"
}

Errors

Read the response status and stable error code. See errors and rate limits for recovery. Refresh the resource before resolving a state or digest conflict.

Idempotency and retries

  • For throttling, honor Retry-After when present. Back off on retryable server failures.
  • Send a unique Idempotency-Key. An exact retry returns the stored result; reusing the key with a different request fails.
  • The request is accepted only when its credential, authority, case state, and resource preconditions are satisfied.