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`.
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
Response Body
application/json
application/json
curl -X GET "https://loading/v1/users/497f6eca-6276-4993-bfeb-53cbbbba6f08/cards/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"data": {
"card_item_id": "1586af6e-3251-4059-85f0-a67533654efd",
"item_header": "string",
"item_body": {
"main": "string",
"description": "string",
"header": "string"
},
"supported_actions": {
"action_keys": [
"mark_health_action_as_completed",
"mark_health_action_as_completed"
]
},
"item_preprocessing": {
"audio_summary_url": "string",
"audio_duration": 0,
"audio_script": "string"
},
"item_created_at": "2019-08-24T14:15:22Z",
"interaction_status": "pending",
"trigger_name": "missed_first_action",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}List active nudge cards for a member
Paginated list of nudge cards. Optional `interaction_status` filter narrows by lifecycle state (`pending`, `opened`, `completed`, `dismissed`). Cards are produced by the coaching pipeline and also signaled via the `coach.nudge.created` partner-queue event.
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.