Everything an AI agent can do with the GetResponse API.

A reference guide for building AI agents: every method, how to authenticate, and the permissions each one needs.

Endpoints48
API versionv3
Last updated23 June 2026
Orientation

How the GetResponse API works.

The GetResponse API is how an app or AI agent works with a GetResponse account: adding and updating contacts, building segments, sending newsletters, and running autoresponders and automation workflows. Access is granted through an API key or an OAuth token, which on GetResponse reaches the whole account rather than a chosen subset, since the key carries a single all-data permission and not per-area scopes. GetResponse can also push contact activity to a callback URL when someone subscribes, opens a message, or clicks a link.

48Endpoints
12Capability groups
24Read
24Write
0Permissions
Authentication
GetResponse authenticates a call with an API key or an OAuth 2.0 bearer token. The API key is sent in the X-Auth-Token header, prefixed with 'api-key', as in 'X-Auth-Token: api-key {key}', and an unused key expires after 90 days. OAuth tokens go in a standard Authorization: Bearer header. GetResponse MAX accounts use a separate host and add an X-Domain header to name the account.
Permissions
GetResponse access is account-level, with no granular per-endpoint permissions. A key or token reaches everything in the account, and the only OAuth scope GetResponse offers is 'all', which grants access to all account data. Because the key is not scoped, the boundary on what an agent can do has to come from the layer in front of the API rather than from GetResponse itself.
Versioning
GetResponse versions its API by a single major number in the path, currently v3. GetResponse states it will increment the version only when it introduces a backward-incompatible change, so additive changes ship under v3 without a new version. There is no dated version header to pin and no public dated API changelog.
Data model
GetResponse is resource-oriented JSON over HTTPS at https://api.getresponse.com/v3. A 'campaign' in the API is a contact list in the interface, and a contact is identified by an alphanumeric token rather than a sequential number. Updates use POST rather than PATCH. Contact activity can be pushed to a callback URL, and lists are paged with page and perPage parameters.
Connect & authenticate

Connection & authentication methods.

How an app or AI agent connects to GetResponse determines what it can reach. There is a route for making calls and a route for receiving events, and each is governed by the key or token behind it, which on GetResponse carries access to the whole account.

Ways to connect

REST API

The REST API answers at https://api.getresponse.com/v3, takes and returns JSON, and pages lists with page and perPage query parameters. GetResponse MAX accounts use a different host, https://api3.getresponse360.com/v3 or https://api3.getresponse360.pl/v3, and add an X-Domain header. A call authenticates with an API key in the X-Auth-Token header or an OAuth bearer token.

Best forConnecting an app or AI agent to GetResponse.
Governed byThe key or token, which reaches the whole account.
Docs ↗

Callbacks (webhooks)

GetResponse POSTs a contact-activity event to a callback URL set on the account, for activity like subscribe, unsubscribe, open, click, goal, and survey. The callback timeout is 4 seconds, and a callback that is not received in time is dropped and not retried, so the receiver must respond quickly. Callbacks are configured through the account callbacks endpoint or in the web interface.

Best forReceiving GetResponse contact activity at an app or AI agent.
Governed byThe callback configuration on the account.
Docs ↗
Authentication

API key

An API key is created in the account and sent in the X-Auth-Token header, prefixed with 'api-key', as in 'X-Auth-Token: api-key {key}'. The key reaches the whole account, since GetResponse does not scope a key to a subset of data or to particular endpoints. An unused key expires after 90 days.

TokenAPI key (X-Auth-Token: api-key {key})
Best forServer-side calls from a single account.
Docs ↗

OAuth 2.0

OAuth 2.0 issues a bearer token sent in the Authorization header. GetResponse supports the authorization-code, client-credentials, and implicit flows, and the only scope it offers is 'all', which grants access to all account data. It suits an app connecting to many accounts without holding each one's raw key.

TokenOAuth bearer token (Authorization: Bearer {token})
Best forApps connecting on behalf of multiple GetResponse accounts.
Docs ↗
Capability map

What an AI agent can do in GetResponse.

The GetResponse API is split into areas an agent can act on, like contacts, lists, newsletters, autoresponders, and automation workflows. Each area has its own methods, and writes in some areas send email to real subscribers or change who is on a list.

Contacts

8 endpoints

List, read, create, update, and delete contacts, add them in batches, and read their activity and consent history.

Writes here change real contact data and can email people.
View endpoints

Segments (search contacts)

4 endpoints

Run a search over contacts, and save, read, update, and delete the saved segments those searches define.

Writes here change real saved segment data.
View endpoints

Lists (campaigns)

5 endpoints

List, read, create, and update lists, read the contacts on a list, and pull subscriber statistics.

Writes here change real list data.
View endpoints

Custom fields

4 endpoints

List, read, create, update, and delete the custom field definitions that hold extra data on a contact.

Writes here change real custom field definitions.
View endpoints

Tags

3 endpoints

List, read, create, update, and delete tags used to label and segment contacts.

Writes here change real tag data.
View endpoints

Newsletters

5 endpoints

List, read, create, and send newsletters, send a saved draft, cancel a send, and read send statistics.

Writes here send email to real subscribers.
View endpoints

Autoresponders

4 endpoints

List, read, create, update, and delete autoresponders, the scheduled messages a contact receives over a cycle.

Writes here change messages sent automatically to subscribers.
View endpoints

Automation workflows

3 endpoints

List and read automation workflows, and update an existing workflow.

Writes here change live automation that emails and tags contacts.
View endpoints

Forms & landing pages

4 endpoints

List and read forms and their A/B variants, and list and read landing pages.

Writes here change real form and landing page data.
View endpoints

Transactional emails

3 endpoints

Send a transactional email, manage transactional templates, and read transactional send statistics.

Writes here send email to a real recipient.
View endpoints

Custom events

2 endpoints

List, create, update, and delete custom events, and trigger one to start automation.

A trigger here can start live automation for contacts.
View endpoints

Account & callbacks

3 endpoints

Read account details, and read, enable, update, or disable the account's callback (webhook) configuration.

Writes here change account-wide callback configuration.
View endpoints
Endpoint reference

Every GetResponse API method.

Filter by method, access, or permission, or search any path. Select a row for version detail, rate limits, the related webhook event, and the source.

MethodEndpointWhat it doesAccessPermissionVersion

Contacts

List, read, create, update, and delete contacts, add them in batches, and read their activity and consent history.8

Reads contacts across the account; GetResponse does not scope keys to a subset of data.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Adding a contact to a list with confirmed opt-in can send a confirmation email.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventsubscribe
Rate limitStandard limits apply

Processed asynchronously; the batch can add many contacts in one call.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventsubscribe
Rate limitStandard limits apply

GetResponse uses POST, not PATCH, to update a contact.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Removes the contact from the list.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventunsubscribe
Rate limitStandard limits apply

Upserts tags; tags must already exist as definitions.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts oncontact activity
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Segments (search contacts)

Run a search over contacts, and save, read, update, and delete the saved segments those searches define.4

A read that uses POST to carry the search query in the body.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts onsegment
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Saves the search so it can be reused.

Acts onsegment
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only; results are paginated.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Lists (campaigns)

List, read, create, and update lists, read the contacts on a list, and pull subscriber statistics.5

A campaign in the API is a contact list in the GetResponse interface.

Acts oncampaign
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts oncampaign
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Creates a list contacts can be added to.

Acts oncampaign
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

GetResponse uses POST, not PATCH, to update a campaign.

Acts oncampaign
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only; results are paginated.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Custom fields

List, read, create, update, and delete the custom field definitions that hold extra data on a contact.4

Read-only.

Acts oncustom field
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Defines a new field that can hold extra data on contacts.

Acts oncustom field
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Changes the definition, which affects every contact that uses the field.

Acts oncustom field
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Removes the field and its values from contacts.

Acts oncustom field
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Tags

List, read, create, update, and delete tags used to label and segment contacts.3

Read-only.

Acts ontag
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Creates a tag definition that can then be applied to contacts.

Acts ontag
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Removes the tag from every contact it was applied to.

Acts ontag
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Newsletters

List, read, create, and send newsletters, send a saved draft, cancel a send, and read send statistics.5

Read-only.

Acts onnewsletter
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Depending on the send settings, this emails real subscribers.

Acts onnewsletter
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Sends an existing draft to its recipients.

Acts onnewsletter
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Only works while the newsletter is still in a cancellable state.

Acts onnewsletter
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts onnewsletter statistics
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Autoresponders

List, read, create, update, and delete autoresponders, the scheduled messages a contact receives over a cycle.4

Read-only.

Acts onautoresponder
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

An active autoresponder emails contacts on the configured day of the cycle.

Acts onautoresponder
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Changes a message that may already be sending automatically.

Acts onautoresponder
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Stops the message from being sent in its cycle.

Acts onautoresponder
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Automation workflows

List and read automation workflows, and update an existing workflow.3

Read-only.

Acts onworkflow
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts onworkflow
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Changes live automation that can email and tag contacts.

Acts onworkflow
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Forms & landing pages

List and read forms and their A/B variants, and list and read landing pages.4

Read-only.

Acts onform
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts onform
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts onlanding page
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts onlanding page
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Transactional emails

Send a transactional email, manage transactional templates, and read transactional send statistics.3

Transactional emails require GetResponse MAX and a Transactional Emails add-on.

Acts ontransactional email
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only; GetResponse MAX feature.

Acts ontransactional email
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

GetResponse MAX feature.

Acts ontransactional email template
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Custom events

List, create, update, and delete custom events, and trigger one to start automation.2

Read-only.

Acts oncustom event
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Can start live automation that emails and tags the contact.

Acts oncustom event
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Account & callbacks

Read account details, and read, enable, update, or disable the account's callback (webhook) configuration.3

Read-only.

Acts onaccount
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Read-only.

Acts oncallback
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Sets the URL GetResponse posts contact-activity events to.

Acts oncallback
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply
No endpoints match those filters.
Webhooks

Webhook events.

GetResponse can notify an app or AI agent when a contact acts, like subscribing, opening a message, or clicking a link. It posts the event to a callback URL set on the account, so an integration learns about activity without polling.

EventWhat it signalsTriggered by
subscribeFires when a contact is added to a list, for example through the API, a form, or an import./contacts
/contacts/batch
unsubscribeFires when a contact is removed from a list or unsubscribes./contacts/{contactId}
openFires when a contact opens a message.In-app only
clickFires when a contact clicks a tracked link in a message.In-app only
goalFires when a contact reaches a tracked goal, like visiting a configured page.In-app only
surveyFires when a contact completes a survey.In-app only
No events match that search.
Rate limits & pagination

Rate limits, pagination & request size.

GetResponse limits how fast and how much an app or AI agent can call, through a per-key request quota measured over a fixed time window and a separate cap on how many requests run at once.

Request rate

GetResponse meters requests per API key over a fixed 10-minute time frame. Each key may make 30,000 calls per time frame and 80 calls per second, and may run up to 10 requests at once. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers reporting the quota, the requests left, and the seconds until the window resets. Going over returns HTTP 429 with error code 1015 and currentLimit and timeToReset values in the body.

Pagination

List endpoints use page-number pagination through the page and perPage query parameters, as in ?page=2&perPage=100. perPage tops out at 1,000 on most endpoints and defaults to a smaller page. Some list endpoints also accept sort and query filters to narrow results before paging.

Request size

Responses are JSON. A list page returns at most 1,000 items, the maximum value of perPage. The contacts batch endpoint accepts many contacts in one request and processes them asynchronously rather than returning them inline.

Errors

Status codes & error handling.

The status codes an agent should handle, and what to do about each.

StatusCodeMeaningWhat to do
4001000A general validation error. The request had one or more invalid fields, listed in the context array of the error body.Read the context entries, correct the named fields, and resend.
4001001A related resource referenced in the request could not be found, for example a campaign ID that does not exist.Check the referenced IDs exist and belong to this account, then resend.
4001002The resource is in a state that forbids the requested action.Refetch the resource, check its state, and retry the action only when it is allowed.
4031014Authentication or authorization failed. The API key or token is missing, invalid, or expired.Confirm a valid key or token is sent in the right header, and regenerate the key if it has expired.
4041013There is no resource of the given ID.Verify the ID and that it belongs to this account.
4091008A unique property already has the submitted value, like a duplicate that conflicts with an existing record.Use a value that does not already exist, or update the existing record instead.
4291015The rate limit was exceeded, or the request looked suspicious. The body carries currentLimit and timeToReset values.Back off until timeToReset, then retry, and smooth the request rate.
5001Something went wrong on GetResponse's side. It is rare and not caused by the request.Retry after a short wait, and contact GetResponse support if it persists.
Versioning & freshness

Version history.

GetResponse versions its API by a single major number in the path. The current version is v3, and GetResponse increments the number only when it ships a change that is not backward compatible.

Version history

What changed, and when

Latest versionv3
v3Current version
Current major version (v3)

GetResponse versions its API by a single major number in the path, currently v3. GetResponse states it will increment the number only when it ships a backward-incompatible change, so new resources and fields are added under v3 without minting a new version. The published OpenAPI specification carried a dated build stamp of 2026-04-28 when last checked. There is no dated version header to pin and no public dated API changelog, so feature changes are tracked through the product 'what's new' page rather than an API release log.

What changed
  • Single path-based major version; backward-incompatible changes would create a new major version.
  • Additive endpoints and fields ship under v3 without a version bump.
  • OpenAPI specification build dated 2026-04-28 at last check.
2026-05-20Feature update
Shopify customer-tag sync (product update)

Shopify customer tags now sync automatically into GetResponse on paid plans, feeding segmentation and automation triggers. This is a product feature reachable through the contacts, tags, and automation areas of the API rather than a new API version.

What changed
  • Shopify customer tags sync into GetResponse contacts.
  • Synced tags can drive segments and automation triggers.
2026-04-16Feature update
Ecommerce revenue attribution (product update)

Revenue attribution connects emails and workflows to purchases, surfacing attributed revenue, orders, and average order value per message. The figures are read through the ecommerce statistics endpoints.

What changed
  • Attributed revenue, orders, and average order value shown per message and workflow.
  • Available through the ecommerce statistics endpoints.
2025-12-15Feature update
Bot filtering in automation (product update)

Automation workflows gained a toggle to exclude automated systems like email security scanners and antivirus software from triggering on opens and clicks, which affects how callback and automation activity is counted.

What changed
  • Workflows can exclude bot-driven opens and clicks.
  • Affects activity counted by automation and callbacks.

Build against v3 and watch the developer docs for any future major version.

GetResponse what's new ↗
Questions

GetResponse API, answered.

How do I authenticate with the GetResponse API?+
Two ways. The simplest is an API key, created at app.getresponse.com/api and sent in the X-Auth-Token header prefixed with 'api-key', as in 'X-Auth-Token: api-key {key}'. The other is OAuth 2.0, which issues a bearer token sent in the Authorization header and suits an app connecting to many accounts. An unused API key expires after 90 days, after which a new key must be generated.
Can I limit what a GetResponse API key can access?+
Not within GetResponse. Access is account-level: a key or token reaches every part of the account, and the only OAuth scope GetResponse offers is 'all', which grants access to all account data. There are no per-endpoint or per-resource scopes. To restrict an agent to, say, reading contacts but not sending newsletters, the limit has to be enforced by a governance layer in front of the API.
Why is a 'campaign' a contact list?+
In the GetResponse API a campaign is the object the interface calls a contact list, not an email send. A contact always belongs to a campaign (list), and when adding a contact the campaignId is the alphanumeric token shown under the list name, not the visible 8-digit number. The actual email sends are newsletters, autoresponders, and automation messages.
What are the rate limits?+
Each API key may make 30,000 calls per 10-minute time frame and 80 calls per second, with up to 10 requests running at once. Every response reports X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. Exceeding a limit returns HTTP 429 with error code 1015 and a timeToReset value to wait for before retrying.
How do I receive events instead of polling?+
GetResponse calls these callbacks. A callback URL is set on the account, through the account callbacks endpoint or the web interface, and GetResponse POSTs an event to it when a contact subscribes, unsubscribes, opens, clicks, reaches a goal, or completes a survey. The callback timeout is 4 seconds, and a callback that is not received in time is dropped and not retried, so the receiver must respond fast.
How does pagination work?+
List endpoints use page-number pagination through the page and perPage query parameters, for example ?page=2&perPage=100. perPage tops out at 1,000 on most endpoints. Many list endpoints also accept query and sort parameters to filter and order results before paging through them.
Are transactional emails available through the API?+
Yes, but only on GetResponse MAX with the Transactional Emails add-on. The transactional-emails endpoints send individual messages like receipts and password resets, manage their templates, and report send statistics, and they run on the MAX host rather than the standard one. Bulk marketing sends use newsletters and autoresponders instead.
Related

More marketing API guides for agents

What is Bollard AI?

Control what every AI agent can do in GetResponse.

Bollard AI sits between a team's AI agents and GetResponse. Grant each agent exactly the access it needs, read or write, resource by resource, and every call is checked and logged.

  • Set read, write, or full access per agent, never a shared GetResponse key.
  • Denied by default, so an agent reaches only what has been explicitly allowed.
  • Every call recorded in plain English: who, what, where, and the decision.
GetResponse
Marketing Agent
Read contacts ResourceOffReadFull use
Send newsletters ActionOffReadFull use
Tags ResourceOffReadFull use
Per-agent access, set in Bollard AI, not in GetResponse