POSTlive

Bind a case to one external settlement corpus

A platform orchestrator registers the USD-only binding only after bilateral authorization and while the dispute is in awaiting_submissions or awaiting_validation, with no Award. The server atomically checks the current dispute revision/status, derives immutable actor and authority-grant metadata, and binds that metadata with the evaluation digest, action subset, participant identities, adapter, and corpus limits. An exact idempotent replay remains valid after the registration window closes.

/api/v2/cases/{caseId}/settlement-bindingcreateSettlementBindingV2

Authentication and authority

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

platformOrchestratorBearer

Credential bound to the platform_orchestrator role.

Parameters

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

Request body

Required request body.

application/json

{
  "$ref": "#/components/schemas/PartnerSettlementBindingInput",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "evaluationDigest",
    "externalReference",
    "adapter",
    "mode",
    "allowedActions",
    "corpus"
  ],
  "properties": {
    "evaluationDigest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "externalReference": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "adapter": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{1,200}$"
    },
    "mode": {
      "type": "string",
      "enum": [
        "manual_partner",
        "partner_callback",
        "platform_adapter"
      ]
    },
    "allowedActions": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "enum": [
          "release_to_claimant",
          "release_to_respondent",
          "allocate_by_award",
          "none"
        ]
      }
    },
    "corpus": {
      "$ref": "#/components/schemas/PartnerSettlementCorpus",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "currency",
        "amountMinorUnits",
        "claimantPrincipalId",
        "respondentPrincipalId",
        "expiresAt"
      ],
      "properties": {
        "currency": {
          "type": "string",
          "const": "USD"
        },
        "amountMinorUnits": {
          "type": "string",
          "pattern": "^(0|[1-9][0-9]{0,77})$"
        },
        "claimantPrincipalId": {
          "type": "string"
        },
        "respondentPrincipalId": {
          "type": "string"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}

Responses

201

Immutable settlement binding created or idempotently replayed.

application/json

{
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/PartnerSettlementBinding",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "partnerId",
        "caseId",
        "evaluationDigest",
        "externalReference",
        "adapter",
        "mode",
        "allowedActions",
        "corpus",
        "authority",
        "bindingDigest",
        "status",
        "createdAt"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "partnerId": {
          "type": "string"
        },
        "caseId": {
          "type": "string"
        },
        "evaluationDigest": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$"
        },
        "externalReference": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        "adapter": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:-]{1,200}$"
        },
        "mode": {
          "type": "string",
          "enum": [
            "manual_partner",
            "partner_callback",
            "platform_adapter"
          ]
        },
        "allowedActions": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "enum": [
              "release_to_claimant",
              "release_to_respondent",
              "allocate_by_award",
              "none"
            ]
          }
        },
        "corpus": {
          "$ref": "#/components/schemas/PartnerSettlementCorpus",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "currency",
            "amountMinorUnits",
            "claimantPrincipalId",
            "respondentPrincipalId",
            "expiresAt"
          ],
          "properties": {
            "currency": {
              "type": "string",
              "const": "USD"
            },
            "amountMinorUnits": {
              "type": "string",
              "pattern": "^(0|[1-9][0-9]{0,77})$"
            },
            "claimantPrincipalId": {
              "type": "string"
            },
            "respondentPrincipalId": {
              "type": "string"
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "authority": {
          "$ref": "#/components/schemas/PartnerSettlementBindingAuthority",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "actorCredentialPublicId",
            "actorPrincipalId",
            "representedPrincipalId",
            "actorRole",
            "authorityGrantId",
            "requiredScope",
            "authorityAct",
            "authorizedAt"
          ],
          "properties": {
            "actorCredentialPublicId": {
              "type": "string"
            },
            "actorPrincipalId": {
              "type": "string"
            },
            "representedPrincipalId": {
              "type": "string"
            },
            "actorRole": {
              "type": "string",
              "const": "platform_orchestrator"
            },
            "authorityGrantId": {
              "type": "string"
            },
            "requiredScope": {
              "type": "string",
              "const": "settlement:bindings:manage"
            },
            "authorityAct": {
              "type": "string",
              "const": "settle_dispute"
            },
            "authorizedAt": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "bindingDigest": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$",
          "description": "SHA-256 binding the caller-supplied corpus contract and the server-derived immutable authority metadata."
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "expired",
            "revoked"
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
default

RFC 9457 style problem response.

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"
    }
  }
}

Example response

Successful response

{
  "data": {
    "id": "id_test",
    "partnerId": "partner_test_123",
    "caseId": "case_test_123",
    "evaluationDigest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "externalReference": "partner_reference_123",
    "adapter": "adapter_test",
    "mode": "manual_partner",
    "allowedActions": [
      "release_to_claimant"
    ],
    "corpus": {
      "currency": "USD",
      "amountMinorUnits": "12500",
      "claimantPrincipalId": "principal_test_123",
      "respondentPrincipalId": "principal_test_123",
      "expiresAt": "2026-08-09T12:00:00.000Z"
    },
    "authority": {
      "actorCredentialPublicId": "actorCredentialPublicId_test",
      "actorPrincipalId": "principal_test_123",
      "representedPrincipalId": "principal_test_123",
      "actorRole": "platform_orchestrator",
      "authorityGrantId": "grant_test_123",
      "requiredScope": "settlement:bindings:manage",
      "authorityAct": "settle_dispute",
      "authorizedAt": "2026-08-09T12:00:00.000Z"
    },
    "bindingDigest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "status": "active",
    "createdAt": "2026-08-09T12:00:00.000Z"
  },
  "requestId": "requestId_test"
}

Usage notes

  • Responses reflect the current authoritative resource state.
  • 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.

Likely next action: Validate the settlement action with a dry run