Skip to content

Consent link status

GET /api/outside-app/status/{request_id}

Use this endpoint to poll the current state of a consent link request. When consent has been completed, the response includes the action the user chose.

Authentication

Path parameters

ParameterTypeRequiredDescription
request_idstringYesThe request_id returned when the link was created

Response

200 OK

FieldTypeDescription
request_idstringThe identifier for this consent request
statusstringCurrent state of the request: pending, completed, or expired
is_verifiedbooleantrue if the data principal completed OTP verification
completed_atstringISO 8601 timestamp of when consent was submitted. null if not yet completed.
consent_actionstringThe action the data principal chose (for example, approved or declined). null if consent has not been completed.

Errors

StatusDescription
400Tenant context could not be resolved from the provided token
404No consent request found for the given request_id
500Unexpected internal error

Examples

Terminal window
curl --request GET \
--url https://api.truConsent.io/api/outside-app/status/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
--header 'Authorization: Bearer <token>'

Pending — the link has been sent but consent has not been submitted yet.

{
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "pending",
"is_verified": false,
"completed_at": null,
"consent_action": null
}

Completed — the data principal submitted their consent decision.

{
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"is_verified": true,
"completed_at": "2026-04-21T09:47:32+00:00",
"consent_action": "approved"
}

Expired — the link’s validity period elapsed before consent was submitted.

{
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "expired",
"is_verified": false,
"completed_at": null,
"consent_action": null
}