Update interaction status when the member acts on a card
Lifecycle transitions: `pending → opened → completed | dismissed`, or the direct `pending → dismissed`. Same-status PATCHes are accepted as no-ops. Other transitions return `422`. Returns `204 No Content` on success.
Authorization
MemberBearer Member-scoped JWT minted by POST /v1/auth/token. Required on every /v1/users/{user_id}/... route; the token's sub claim must match the path user_id.
In: header
Path Parameters
uuiduuidHeader Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X PATCH "https://loading/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/cards/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "interaction_status": "pending" }'{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Fetch a single nudge card
Read a single card. Partners typically call this when a `coach.nudge.created` event arrives with `target.type=card` and the contract is set to `basic` delivery (no inline `data`). Cross-user access is indistinguishable from a missing row: both surface as `404`.
Return the member's backend-notification enablement state
Reflects backend-managed notification enrollment, distinct from the device-level OS notification toggle (which the partner app manages directly). Partners surface this as a settings toggle alongside the OS-level permission.