> ## Documentation Index
> Fetch the complete documentation index at: https://loops.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# API Changelog

> Release notes for the Loops REST API and webhooks, covering new endpoints, fields, breaking changes, and deprecations across OpenAPI versions.

<Update label="July 8, 2026">
  New: endpoints for creating and updating themes and components.
</Update>

<Update label="July 2, 2026">
  New: [Guardian](/docs/api-reference/run-guardian-checks) endpoint for validating email message content via the API.
</Update>

<Update label="July 1, 2026">
  New: a `transactionalName` field in the [transactional.email.sent](/docs/webhooks#transactional-email-sent) webhook event.
</Update>

<Update label="June 22, 2026">
  New: endpoints for viewing [workflows](/docs/api-reference/list-workflows) and [workflow nodes](/docs/api-reference/get-workflow-node). These endpoints are currently in open alpha.
</Update>

<Update label="June 19, 2026">
  New: endpoints for [campaign groups](/docs/api-reference/list-campaign-groups), [transactional groups](/docs/api-reference/list-transactional-groups), [audience segments](/docs/api-reference/list-audience-segments), and [email message previews](/docs/api-reference/preview-email-message).

  Updated:

  * [Campaign](/docs/api-reference/create-campaign) endpoints now support audience targeting (mailing list, segment, or filter), groups, and scheduling.
  * [Email message](/docs/api-reference/update-email-message) endpoints now support CC/BCC, language, email format, and property fallbacks.
  * [Transactional email](/docs/api-reference/create-transactional-email) endpoints now support groups.
</Update>

<Update label="June 5, 2026">
  New: endpoints for creating and editing transactional emails. These endpoints are currently in an open alpha.
</Update>

<Update label="May 20, 2026">
  New: [Upload](/docs/api-reference/create-upload) endpoints for uploading images to use in emails.
</Update>

<Update label="April 24, 2026">
  New: endpoints for creating and editing campaigns. These endpoints are currently in an open alpha.
</Update>

<Update label="March 25, 2026">
  New: API endpoints to [check](/docs/api-reference/check-contact-suppression) and [remove](/docs/api-reference/remove-contact-suppression) suppression for contacts.
</Update>

<Update label="February 13, 2026">
  New: a `campaignName` field in the [campaign.email.sent](/docs/webhooks#campaign-email-sent) webhook event.
</Update>

<Update label="October 17, 2025">
  New: an [`email.resubscribed`](/docs/webhooks#email-resubscribed) webhook event for
  when contacts resubscribe to your marketing email from an email's
  "Unsubscribe" link.
</Update>

<Update label="October 13, 2025">
  New: an `optInStatus` field from [double opt-in](/docs/contacts/double-opt-in) in
  the [Find contact](/docs/api-reference/find-contact) endpoint and in
  `contact.created` [webhook events](/docs/webhooks).
</Update>

<Update label="September 29, 2025">
  New: [webhooks](/docs/webhooks) are now available to all users.
</Update>

<Update label="September 11, 2025">
  Improvement: all endpoints now return a `success` and `message` field in the error response bodies.

  `error` and `path` top-level keys are now deprecated but will continue to be supported for some time for backward compatibility.
</Update>

<Update label="August 21, 2025">
  The docs have been updated to reflect that the `email` parameter is optional
  in the [Update contact](/docs/api-reference/update-contact) endpoint if a `userId`
  is provided.
</Update>

<Update label="May 23, 2025">
  Improvement: data variables are now optional in the [Send transactional
  email](/docs/api-reference/send-transactional-email) endpoint. [Read
  more](/docs/transactional#optional-data-variables)
</Update>

<Update label="April 29, 2025">
  New: an `Idempotency-Key` header when [sending
  events](/docs/api-reference/send-event).
</Update>

<Update label="March 28, 2025">
  New: an `Idempotency-Key` header when [sending transactional
  emails](/docs/api-reference/send-transactional-email).
</Update>

<Update label="February 28, 2025">
  New: an endpoint for [listing transactional
  emails](/docs/api-reference/list-transactional-emails) and their data variables.
</Update>

<Update label="February 5, 2025">
  New: [webhooks](/docs/webhooks) are in Beta.
</Update>

<Update label="January 14, 2025">
  New: new endpoints for [creating contact properties](/docs/api-reference/create-contact-property) and [listing contact properties](/docs/api-reference/list-contact-properties).

  Deprecation: the [List custom fields](/docs/api-reference/list-custom-fields) endpoint is now deprecated in favor of the new [List contact properties](/docs/api-reference/list-contact-properties) endpoint.
</Update>

<Update label="December 18, 2024">
  New: we added `description` to mailing list objects in the [List mailing
  lists](/docs/api-reference/list-mailing-lists) endpoint.
</Update>

<Update label="November 5, 2024">
  Improvement: the maximum payload size for the transactional endpoint has been
  increased from 1MB to 4MB, allowing for more or larger attachments.
</Update>

<Update label="September 6, 2024">
  New: our new [Nuxt module](/docs/sdks/nuxt) is now out!
</Update>

<Update label="August 16, 2024">
  New: our new [Ruby SDK](/docs/sdks/ruby) is available!
</Update>

<Update label="August 15, 2024">
  New: we added an `isPublic` attribute to mailing list objects in the [List
  mailing lists](/docs/api-reference/list-mailing-lists) endpoint.
</Update>

<Update label="June 28, 2024">
  New: there's a new `addToAudience` parameter in the [Send transactional
  email](/docs/api-reference/send-transactional-email) endpoint that can add contacts to
  your audience.
</Update>

<Update label="June 18, 2024">
  New: support for our new [mailing lists](/docs/contacts/mailing-lists) feature.

  You can now add contacts to and remove contacts from mailing lists in the [Create contact](/docs/api-reference/create-contact), [Update contact](/docs/api-reference/update-contact) and [Send event](/docs/api-reference/send-event) endpoints.

  There is also a [new endpoint](/docs/api-reference/list-mailing-lists) for retrieving your mailing lists.
</Update>

<Update label="April 18, 2024">
  New: you can now [Find contacts](/docs/api-reference/find-contact) by `userId`.
</Update>

<Update label="April 9, 2024">
  New: a new endpoint for testing your integration and/or API key: [API
  key](/docs/api-reference/api-key).
</Update>

<Update label="March 21, 2024">
  New: you can now include [event properties](/docs/events/properties) in requests to
  the [Send event](/docs/api-reference/send-event) endpoint.
</Update>

<Update label="March 13, 2024">
  Improvement: we removed behavior that returned a `400 Bad Request` response if
  an unrecognized property was added to Contact endpoints.
</Update>

<Update label="February 9, 2024">
  Improvement: sending in a payload that contains an unrecognized property will
  now return a `400 Bad Request` response.
</Update>

<Update label="January 25, 2024">
  Clarification in the API docs that `userId` can be used in a [Send
  event](/docs/api-reference/send-event) request.
</Update>

<Update label="November 6, 2023">
  New: we added a new endpoint for [querying custom contact
  properties](/docs/api-reference/list-custom-fields).
</Update>

<Update label="October 30, 2023">
  Our [official JavaScript/TypeScript SDK](/docs/sdks/javascript) is now available!
</Update>

<Update label="October 12, 2023">
  New: we now accept dates as a custom [contact property](/docs/contacts/properties)
  type. [View the available formats](/docs/contacts/properties#dates).
</Update>
