Update User CIP Status

Use PATCH on /cipStatus to override a user's CIP (Customer Identification Program) status. This endpoint is an override, not a setter: it only changes a status that your program's onboarding flow has already decided. Please note that a status of pass is required before an account can be created for the user.


⚠️ Warning: Directly editing a user's CIP status will override the CIP status set by the program. Only call this endpoint for a user who already has a decided CIP status.


Preconditions

  • The user must have a decided CIP status of pass or fail. If cip.status is absent or pend, the request will return 400 because there is nothing to override yet.
  • The status can only be changed within 30 days of the user's cip.initialStatusDecisionDate, returned by Get User and Accounts. After that window the status is locked and can no longer be updated.

📘 Note: To move a sandbox user to a decided status, complete the Plaid sandbox session and wait for the risk decision to land, or approve the pending action in manual review. Do not use this endpoint to force an initial decision.


Error Codes

The codes below are not listed in evaluation order.

Error CodeHTTP StatusDescription
NOT_ALLOWED_FOR_ANONYMOUS_USER400The user is anonymous; this action is not allowed for anonymous users.
CIP_NOT_YET_DETERMINED400No CIP decision has been reached yet (the CIP status is absent or pend), so there is nothing to override.
CIP_STATUS_NOT_ELIGIBLE_FOR_UPDATE400The CIP status can no longer be updated (more than 30 days since initialStatusDecisionDate, or no initial decision date was recorded).
USER_NOTHING_TO_MODIFY400The requested CIP status already matches the user's current status; there is nothing to update.
USER_NOT_FOUND404No active user with this id exists for your program.
Path Params
string
required

Pass in the Spidr user ID

Body Params

PATCH /v1/user/:id/cipStatus Request body

string
enum
required

The CIP status, if enrolled.

Allowed:
string
required

The reason for manually updating the CIP status

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json