Skip to the page
Chapters

Enrollments

Update an enrollment

PATCH/api/v1/enrollments/{id}

Changes the fields sent and leaves the rest: the status (only along the allowed changes: an open enrollment may move to another open status or to active, paperwork submitted to the payer is never not started again, and an active one may only start over), the dates (null clears one) and the note. Send at least one. Every status change is on the organization's audit trail. Needs an Idempotency-Key header and a key with the submit permission.

Needs a key with submit permission.

Request

Headers

Headers
NameTypeRequiredDescription
Idempotency-KeystringrequiredMakes the request safe to repeat: a request with the same key and body returns the first answer (the reply has an idempotent-replayed header), and the same key with a different request is refused. 1 to 255 printable characters; a UUID is a good choice.At least 1 character.At most 255 characters.Matches `^[\x21-\x7e]{1,255}$`.

Path parameters

Path parameters
NameTypeRequiredDescription
idstringrequiredAn enrollment ID (enr_...).

Body

Body
NameTypeRequiredDescription
statusstringoptionalThe new status, along the allowed changes.One of: `not_started`, `awaiting_signature`, `provider_action`, `submitted`, `active`.
sent_onstring (date) or nulloptionalWhen the paperwork was sent (YYYY-MM-DD), or null for none.
expected_onstring (date) or nulloptionalWhen the payer is expected to finish (YYYY-MM-DD), or null for none.
notestringoptionalFor your office's own notes about the paperwork. Never patient information.At most 500 characters.

Response

The enrollment as it is now. Status 200.

Response fields
NameTypeDescription
idstringAn ID that starts with enr_.
objectstringAlways `enrollment`.
provider_idstringAn ID that starts with prv_.
provider_namestring
payer_idstringAn ID that starts with pyr_.
payer_namestring
typestringOne of: `claims`, `era`, `era_eft`.
methodobject or nullHow the payer enrolls a provider, from the payer directory; null when the payer needs no enrollment for this (it started active).
method.codestringThe payer directory's enrollment code when the enrollment was started (S, O, W, F, I or U, with * or L).
method.labelstring
method.instructionsstringWhat has to be done, in plain words.
statusstringOne of: `not_started`, `awaiting_signature`, `provider_action`, `submitted`, `active`.
next_stepstringWhat someone has to do now, in plain words.
sent_onstring (date) or null
expected_onstring (date) or null
notestring
modestringOne of: `test`, `live`.
activated_atstring (date-time) or nullWhen it last became active; null while it is not.
created_atstring (date-time)
updated_atstring (date-time)

Errors

Errors
HTTP statusCodeWhat it means
401UNAUTHORIZEDA valid API key is required. Send it as "Authorization: Bearer <key>".
403PERMISSION_DENIEDThis API key is not allowed to do that.
404NOT_FOUNDNot found.
422INVALID_REQUESTThe request is not valid.
400IDEMPOTENCY_KEY_REQUIREDPOST and PATCH requests need an Idempotency-Key header.
422IDEMPOTENCY_KEY_REUSEDThat Idempotency-Key was already used with a different request.
409IDEMPOTENCY_KEY_IN_USEA request with that Idempotency-Key is still running. Retry shortly.
413PAYLOAD_TOO_LARGEThe request body is larger than 1 MB.
504TIMEOUTThe request took too long to finish. It may still have taken effect: look it up before sending it again with a new Idempotency-Key. What it made is found with GET /api/v1/eligibility?request_id=<this request_id>, and the same filter on /api/v1/claims and /api/v1/attachments (a key with read permission).
409CONFLICTThe resource is not in a state that allows this, or it changed while the request was handled. Read it, then decide whether to send the request again.
500INTERNALSomething went wrong on our side. Quote the request ID if you contact us.

Example

Example request

Shell
curl -X PATCH "https://sandbox.myclaimhouse.com/api/v1/enrollments/enr_01JM000000E00800000000004M" \
  -H "Authorization: Bearer $CLAIMHOUSE_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "submitted",
  "sent_on": "2026-09-22",
  "expected_on": "2026-10-10",
  "note": "Faxed to the payer'\''s provider services."
}'

Example response: 200

JSON
{
  "id": "enr_01JM000000E00800000000004M",
  "object": "enrollment",
  "provider_id": "prv_01JM000000E008000000000005",
  "provider_name": "Dr. Riley Example, DDS",
  "payer_id": "pyr_01JM000000E008000000000004",
  "payer_name": "Example Dental Plan",
  "type": "claims",
  "method": {
    "code": "W",
    "label": "Payer paperwork (fax or email)",
    "instructions": "The payer requires its own enrollment paperwork. Claim House supplies a copy, and the provider returns it by fax, email or mail so Claim House can submit it to the payer."
  },
  "status": "submitted",
  "next_step": "Wait for the payer to confirm, then mark it active.",
  "sent_on": "2026-09-22",
  "expected_on": "2026-10-10",
  "note": "Faxed to the payer's provider services.",
  "mode": "test",
  "activated_at": null,
  "created_at": "2026-09-20T15:00:00+00:00",
  "updated_at": "2026-09-22T16:10:00+00:00"
}