POSTpartial

Submit a stage-bound party brief and evidence

Flag-gated canonical alias over the existing operation, with the same authorization, persistence and retry identity. Session requests use the existing hosted declaration fields; bearer requests use protocol certification and require x-pc-party plus Idempotency-Key. Hosted submission retries retain the existing stage/revision checks and do not acquire a new durable keyed replay journal.

/api/cases/{id}/submissionsfileSubmissionPreview

Authentication and authority

Use one listed account-session, scoped OAuth, or partner credential alternative. Account tokens retain the approving account’s authority. Cookie-authenticated writes require same-origin authorization. Alternatives are OR; schemes in one alternative are AND.

claimantAgentBearer

Credential bound to the claimant_agent role. Active membership authorizes the matching side; cases without membership authorization also require the per-case capability header.

respondentAgentBearer

Credential bound to the respondent_agent role. Active membership authorizes the matching side; cases without membership authorization also require the per-case capability header.

CanonicalSession

AccountOAuth

Account tokens authorize only their approving account and case scope. S256 PKCE is mandatory on the code flow. Explicit reacceptance is required after Rules/disclosure changes.

Parameters

NameLocationRequirementSchema
idpathRequired{"type":"string"}
Idempotency-Key

Required for bearer requests. Hosted submission behavior is unchanged.

headerOptional{"type":"string"}
x-pc-party

Required for bearer credentials.

headerOptional{"type":"string","enum":["claimant","respondent"]}
x-arb-party-token

Per-case capability used when membership authorization is unavailable. Optional with active membership for the matching side.

headerOptional{"type":"string"}
x-pc-compatibility

Bounded compatibility inputs on the canonical URL. Existing scoped credentials retain v1 responses; role-bound credentials use grant-checked typed operations. Preserves each contract’s original journals, consent and disclosure. See /openapi/partner-v1.json for scoped credentials.

headerOptional{"type":"string","enum":["v1"]}

Request body

Required request body.

multipart/form-data

{
  "$ref": "#/components/schemas/CanonicalSubmissionForm",
  "type": "object",
  "required": [
    "party",
    "brief"
  ],
  "properties": {
    "party": {
      "type": "string",
      "enum": [
        "claimant",
        "respondent"
      ]
    },
    "brief": {
      "type": "string"
    },
    "files": {
      "type": "array",
      "items": {
        "type": "string",
        "contentEncoding": "binary"
      }
    },
    "evidenceCandidateRefs": {
      "type": "string",
      "description": "JSON array of exportRecordId and artifactRef objects."
    },
    "attest": {
      "type": "string",
      "const": "true",
      "description": "Required for hosted-session and account-OAuth human declarations. The person must explicitly affirm truthfulness; never infer or default it. Partner protocol filings use their separately authorized certification."
    },
    "declarantName": {
      "type": "string"
    },
    "declarantCapacity": {
      "type": "string"
    },
    "executionLocation": {
      "type": "string"
    }
  }
}

Responses

201

Committed party submission.

application/json

{
  "$ref": "#/components/schemas/CanonicalFileSubmissionPreviewResponse",
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CanonicalSubmissionResult",
      "type": "object",
      "properties": {
        "schemaVersion": {
          "type": "string"
        },
        "submission": {
          "$ref": "#/components/schemas/CanonicalSubmission",
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "disputeId": {
              "type": "string"
            },
            "party": {
              "type": "string",
              "enum": [
                "claimant",
                "respondent"
              ]
            },
            "brief": {
              "type": "string"
            },
            "evidenceIds": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "submittedAt": {
              "type": "string"
            },
            "phase": {
              "type": "string"
            },
            "sealedAt": {
              "type": "string"
            },
            "revealedAt": {
              "type": "string"
            },
            "contentHash": {
              "type": "string"
            },
            "supersededAt": {
              "type": "string"
            },
            "supersededBy": {
              "type": "string"
            }
          },
          "required": [
            "id",
            "party",
            "brief",
            "evidenceIds",
            "submittedAt"
          ]
        },
        "evidence": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "phase": {
                "type": "string"
              },
              "reliabilityTier": {
                "type": "string"
              },
              "contentHash": {
                "type": "string"
              },
              "extractionError": {
                "type": "string"
              },
              "neutralizedCount": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "label",
              "phase",
              "reliabilityTier",
              "contentHash",
              "neutralizedCount"
            ]
          }
        },
        "security": {
          "type": "object",
          "properties": {
            "neutralizedCount": {
              "type": "integer"
            },
            "quarantinedExhibits": {
              "type": "integer"
            },
            "attributableTo": {
              "type": "string",
              "enum": [
                "claimant",
                "respondent"
              ]
            }
          },
          "required": [
            "neutralizedCount",
            "quarantinedExhibits"
          ]
        },
        "sealed": {
          "type": "boolean"
        },
        "phase": {
          "type": "string"
        },
        "deadlines": {
          "type": "object",
          "properties": {
            "answer": {
              "type": "string"
            },
            "evidence": {
              "type": "string"
            },
            "rebuttal": {
              "type": "string"
            }
          }
        },
        "evidenceCandidateAdoptions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "exportRecordId": {
                "type": "string"
              },
              "artifactRef": {
                "type": "string"
              },
              "evidenceObjectId": {
                "type": "string"
              },
              "sourceSha256": {
                "type": "string"
              }
            },
            "required": [
              "exportRecordId",
              "artifactRef",
              "evidenceObjectId",
              "sourceSha256"
            ]
          }
        }
      },
      "required": [
        "submission"
      ]
    },
    "requestId": {
      "type": "string"
    }
  },
  "required": [
    "data",
    "requestId"
  ],
  "x-code-source": "lib/submissions/partner-operation.ts"
}
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": {
    "submission": {
      "id": "id_test",
      "party": "claimant",
      "brief": "The attached test record supports this position.",
      "evidenceIds": [
        "evidenceIds_test"
      ],
      "submittedAt": "submittedAt_test"
    }
  },
  "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.