---
title: "Sign up for newsletters"
method: POST
path: "/customers/actions/newsletters-sign-up"
tags: ["Customers actions"]
---

# Sign up for newsletters

`POST /customers/actions/newsletters-sign-up`

Sign up a contact for the newsletter. The contact does not need to be an existing customer.
⚠️ We strongly recommend verifying the contact with CAPTCHA before sending a request to CareCloud API.

**Partner assignment**

When a contact is signed up, CareCloud creates one or more customer-partner relations. The assignment is determined as follows:

- If `partner_records` is provided (non-empty array) - relations are created for exactly those partners.
- If `partner_records` is an empty array (`[]`) or omitted - relations are created for all partners accessible to the authenticated API user.

Because this endpoint returns no customer ID, partner assignment cannot be managed after the call. Use `partner_records` to control assignment at sign-up time.

## Request body

- object
  - `contact` string, required — The parameter could contain email, phone number or other identifier of the contact.
  - `customer_source_id` string, required — The unique ID of the customer source.
  - `agreements` Agreement — Customer's consents.
    - `agreement_gtc` 0 | 1 | 2 — Consent to the Personal data processing. *Possible values: 0 - no, consent canceled / 1 - yes, consent given / 2 - consent not set*
    - `agreement_profiling` 0 | 1 | 2 — Consent to the Profiling. *Possible values: 0 - no, consent canceled / 1 - yes, consent given / 2 - consent not set*
    - `agreement_marketing_communication` 0 | 1 | 2 — Consent to the Marketing communication. *Possible values: 0 - no, consent canceled / 1 - yes, consent given / 2 - consent not set*
    - `custom_agreements` CustomAgreements[] — Custom consent list. The list of consents is available in the [Consents resource](https://carecloud.readme.io/reference/getconsents)
      - `agreement_id` string, required — The unique ID of the consent in CareCloud from [consents](https://carecloud.readme.io/reference/getconsents) resource.
      - `agreement_value` 0 | 1 | 2, required — Value of the specific consent. *Possible values: 0 - no, consent canceled / 1 - yes, consent given / 2 - consent not set*
  - `language_id` string — The unique ID of the language by ISO 639-1 code.
  - `partner_records` PartnerRecord[] — List of partners to associate with the signed-up contact. When provided as a non-empty array, partner assignment is based solely on this list. An empty array is treated the same as omitting this field. See the partner assignment rules in the endpoint description for the full precedence logic. [GET /partners](https://carecloud.readme.io/reference/getpartners)
    - `partner_record_id` string — The unique ID of the partner record.
    - `partner_id` string, required — The unique ID of the partner. [GET /partners](https://carecloud.readme.io/reference/getpartners)
    - `last_change` string — Date and time of the last change. *(YYYY-MM-DD HH:MM:SS)*

## Response `204`

No Content

## 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)
