---
title: "Get all consents"
method: GET
path: "/agreements"
tags: ["Consents"]
---

# Get all consents

`GET /agreements`

Get a list of all consent types configured in the CareCloud platform. Consents are the primary mechanism for GDPR compliance - they control which customers are eligible to receive marketing communications and which can be included in segmented audiences. Three consent types exist by default: processing of personal data, marketing communication, and profiling. The `communication_channel_id` filter returns only consents associated with a specific channel. See [Consent impact on segmentation and communication](https://help.crmcarecloud.com/en/campaigns-and-segmentation/constent-impact-on-segmentation-and-communication) for details.

## Query parameters

- `count` integer
- `offset` integer
- `sort_field` string
- `sort_direction` 'ASC' | 'DESC'
- `communication_channel_id` string
- `text_id` string

## Headers

- `Accept-Language` string

## Response `200`

OK

- object
  - `data` object
    - `agreements` AgreementList[] — List of the consents.
      - `agreement_id` string — The unique ID of the consents in CareCloud. [GET /consents](https://carecloud.readme.io/reference/getconsents)
      - `name` string — Name of the consent in CareCloud.
      - `text` string — Text of the consent in CareCloud. The language version of the text is returned by language setup in the HTTP header of the request.
      - `withdrawal_text` string — Text when a customer wants to withdraw his consent. The language version of the text is returned by language setup in the HTTP header of the request.
      - `communication_channel_id` string — The unique ID of the communication channel. [GET /communication-channels](https://carecloud.readme.io/reference/getcommunicationchannels)
      - `text_id` string — Text identification of the consent.
      - `last_change` string — Timestamp of the last change. Format: `YYYY-MM-DD HH:MM:SS`. All times are in the local timezone.
    - `total_items` integer — Number of all found consents.

## Other responses

- `400` — Bad input parameter. The response body's `error.error_data.invalid_params[]` array lists the parameters that caused the failure, each carrying a `reason` code. See the `BadRequestErrorBody` schema for the generic reason taxonomy. Operations with domain-specific business rules document additional reasons at the operation level.
- `401` — The client has invalid credentials or auth token.
- `403` — The client does not exist or the client tried to access an unauthorized property or resource.
- `404` — The resource was not found.
- `405` — The resource does not support the specified HTTP method.
- `429` — Too many requests - more than the resource limit.
- `500` — Server is not working as expected.
- `503` — Temporary state when the service is temporarily unavailable, overloaded or there is a maintenance window.

---

[API](https://skmtc.net/crmcarecloud/apis/rest-api-reference.md) · [All operations](https://skmtc.net/crmcarecloud/apis/rest-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crmcarecloud/rest-api-reference/revisions/329c06dbf8d9/schema)
