Skip to main content
POST
Upsert Matters

Permissions

Requires Client matters admin (write:client_matters). Sending allowed also requires use:disallowed_client_matters, even when the value is true; otherwise the whole request returns HTTP 403.

Before you start

Create the parent clients first. This endpoint never creates clients. If the workspace has matters created with full names, set its delimiter to match those names before using this endpoint. For an existing name such as 10022421-M001, configure - and send client_id: "10022421" with matter_id: "M001". The API uses the delimiter configured for the token’s active workspace. If it is unset or empty, it uses . unless the workspace requires an explicit delimiter. In that case, the whole request returns HTTP 400 with delimiter_required; configure a delimiter before retrying. Neither path changes workspace settings.

Matching and results

The stored name is client_id + the effective delimiter + matter_id. For client 10022421 and matter M001, the default produces 10022421.M001; a configured - produces 10022421-M001. Matching uses the identifier pair first, then the stored name. Matching soft-deleted matters are restored. Restoring a client does not restore its matters. New matters appear in created. Matched matters appear in updated, including when their fields do not change. HTTP 200 can include row failures in errors; valid rows still succeed. Duplicate pairs and name collisions are row errors. Each successful row returns the full result. Use smaller batches to limit response size, especially with long descriptions or notices. See the Client Matters guide for examples, field update rules, and migration steps.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
matters
object[]
required
Required array length: 1 - 10000 elements

Response

Per-row results for the submitted matters.

created
object[]
required
updated
object[]
required

Includes restored matters and matched matters whose fields did not change.

errors
object[]
required