---
title: "Retrieve a consent"
method: GET
path: "/consents/{consent_id}"
tags: ["consents"]
---

# Retrieve a consent

`GET /consents/{consent_id}`

## Request

- Base URL: `https://api.pscrpt.com/v1`
- URL: `https://api.pscrpt.com/v1/consents/{consent_id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://api.pscrpt.com/oauth/authorize`
    - Token URL: `https://api.pscrpt.com/oauth/token` scopes: `consent:read`

## Query parameters

- `expand` string[]

## Headers

- `Postscript-Version` string, date

## Response `200`

The consent.

- ConsentEnvelope
  - `data` Consent, required
    - `channel` string, required
    - `consented_at` string, date-time, required
    - `id` string, required
    - `identifier` Identifier
      - `created_at` string, date-time, required
      - `display_value` string, required
      - `id` string, required
      - `is_primary` boolean, required
      - `object` 'identifier', required
      - `profile_id` string, required
      - `source` string, required
      - `type` string, required
      - `updated_at` string, date-time, required
      - `value` string: Requires the `identifiers:read_value` scope.
      - `verified_at` string, date-time, required
    - `identifier_id` string, required
    - `method` string, required: How consent was collected.
    - `method_detail` string, nullable, required
    - `object` 'consent', required
    - `profile_id` string, required
    - `source` string, required: Origin derived from the credential.
    - `source_reference` string, nullable, required
    - `status` 'subscribed' | 'unsubscribed' | 'never_subscribed' | 'pending' | 'expired', required
    - `updated_at` string, date-time, required
  - `meta` Meta, required
    - `as_of` string, date-time
    - `livemode` boolean, required
    - `page` PageMeta
      - `limit` integer, required
      - `next_cursor` string, nullable, required: Pass as `page[after]`. Null on the last page.
    - `request_id` string, required
    - `resolved_from` string: The merged-away profile ID the request addressed; `data` holds the survivor.
    - `revision` string, date, required

## Other responses

- `400`: Malformed input, an unknown parameter, an unsupported filter, sort, or expand, or a mistyped ID.
- `401`: Missing or invalid API key.
- `403`: The key lacks the required scope.
- `404`: No such resource in the authenticated property.
- `429`: Rate limit exceeded.
- `500`: Internal error.
- `502`: Upstream provider failure.
- `503`: Temporarily unavailable.

## Changes

- **2026-10-06** `9a9f9d98844a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pscrpt/apis/postscript-native-api-beta/changes/consents/:consent_id/get.md)

---

[API](https://skmtc.dev/pscrpt/apis/postscript-native-api-beta.md) - [All operations](https://skmtc.dev/pscrpt/apis/postscript-native-api-beta/llms.txt) - [OpenAPI document](https://skmtc.dev/pscrpt/apis/postscript-native-api-beta/revisions/882458ee1f36?raw)
