Facturiadocs

primary_contact_conflict

Two requests tried to claim the primary contact for the same counterparty at once.

Two requests tried to claim the primary contact for the same counterparty at once.

Codeprimary_contact_conflict
Typeconflict_error — State conflict
HTTP409
Retriable?Yes

What to do

Retry. Exactly one contact per counterparty may be primary and the database enforces it, so the loser of the race is safe to repeat.

Retrying the same request may work. Respect Retry-After when it comes.

The envelope

{
  "error": {
    "type": "conflict_error",
    "code": "primary_contact_conflict",
    "message": "…",
    "hint": "Retry. Exactly one contact per counterparty may be primary and the database enforces it, so the loser of the race is safe to repeat.",
    "retriable": true,
    "doc_url": "https://docs.facturia.cl/errors/primary_contact_conflict",
    "request_id": "req_01K2R7Q9M4T2VB"
  }
}

Program against code, never against message — the prose can be rewritten, the code cannot (§5.8).

hint and retriable arrive in the response with these exact values: they are a function of code and come from the same dictionary GET /v1/error_codes serves, so the envelope and the dictionary cannot disagree. Both are English on the wire by design — one registry, one language. More in The error envelope.

See also

The machine-readable copy of this page lives at GET /v1/error_codes, unauthenticated.

On this page