GetResponse API integration with managed OAuth. Manage email marketing campaigns, contacts, newsletters, autoresponders, and segments.\n Use this skill when users want to manage email lists, send newsletters, create campaigns, or work with contacts in GetResponse.\n For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill getresponse --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Getresponse?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-getresponse)More formats (shields.io, HTML) on the badges page.
---
name: getresponse
description: "GetResponse API integration with managed OAuth. Manage email marketing campaigns, contacts, newsletters, autoresponders, and segments.\n Use this skill when users want to manage email lists, send newsletters, create campaigns, or work with contacts in GetResponse.\n For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway)."
---
# GetResponse
Access the GetResponse API with managed OAuth authentication. Manage email marketing campaigns, contacts, newsletters, autoresponders, segments, and forms.
## Quick Start
```bash
# List campaigns
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/getresponse/v3/campaigns')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
## Base URL
```
https://gateway.maton.ai/getresponse/{native-api-path}
```
Replace `{native-api-path}` with the actual GetResponse API endpoint path. The gateway proxies requests to `api.getresponse.com` and automatically injects your OAuth token.
## Authentication
All requests require the Maton API key in the Authorization header:
```
Authorization: Bearer $MATON_API_KEY
```
**Environment Variable:** Set your API key as `MATON_API_KEY`:
```bash
export MATON_API_KEY="YOUR_API_KEY"
```
### Getting Your API Key
1. Sign in or create an account at [maton.ai](https://maton.ai)
2. Go to [maton.ai/settings](https://maton.ai/settings)
3. Copy your API key
## Connection Management
Manage your GetResponse OAuth connections at `https://ctrl.maton.ai`.
### List Connections
```bash
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=getresponse&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
### Create Connection
```bash
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'getresponse'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
### Get Connection
```bash
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
**Response:**
```json
{
"connection": {
"connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",
"status": "ACTIVE",
"creation_time": "2025-12-08T07:20:53.488460Z",
"last_updated_time": "2026-01-31T20:03:32.593153Z",
"url": "https://connect.maton.ai/?session_token=...",
"app": "getresponse",
"metadata": {}
}
}
```
Open the returned `url` in a browser to complete OAuth authorization.
### Delete Connection
```bash
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
### Specifying Connection
If you have multiple GetResponse connections, specify which one to use with the `Maton-Connection` header:
```bash
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/getresponse/v3/campaigns')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
If omitted, the gateway uses the default (oldest) active connection.
## API Reference
### Account Operations
#### Get Account Details
```bash
GET /getresponse/v3/accounts
```
#### Get Billing Info
```bash
GET /getresponse/v3/accounts/billing
```
### Campaign Operations
Campaigns in GetResponse are equivalent to email lists/audiences.
#### List Campaigns
```bash
GET /getresponse/v3/campaigns
```
With pagination:
```bash
GET /getresponse/v3/campaigns?page=1&perPage=100
```
#### Get Campaign
```bash
GET /getresponse/v3/campaigns/{campaignId}
```
#### Create Campaign
```bash
POST /getresponse/v3/campaigns
Content-Type: application/json
{
"name": "My Campaign"
}
```
### Contact Operations
#### List Contacts
```bash
GET /getresponse/v3/contacts
```
With campaign filter:
```bash
GET /getresponse/v3/contacts?query[campaignId]={campaignId}
```
With pagination:
```bash
GET /getresponse/v3/contacts?page=1&perPage=100
```
With sorting:
```bash
GET /getresponse/v3/contacts?sort[createdOn]=desc
```
#### Get Contact
```bash
GET /getresponse/v3/contacts/{contactId}
```
#### Create Contact
```bash
POST /getresponse/v3/contacts
Content-Type: application/json
{
"email": "john@example.com",
"name": "John Doe",
"campaign": {
"campaignId": "abc123"
},
"customFieldValues": [
{
"customFieldId": "xyz789",
"value": ["Custom Value"]
}
]
}
```
#### Update Contact
```bash
POST /getresponse/v3/contacts/{contactId}
Content-Type: application/json
{
"name": "John Smith",
"customFieldValues": [
{
"customFieldId": "xyz789",
"value": ["Updated Value"]
}
]
}
```
#### Delete Contact
```bash
DELETE /getresponse/v3/contacts/{contactId}
```
#### Get Contact Activities
```bash
GET /getresponse/v3/contacts/{contactId}/activities
```
### Custom Fields
#### List Custom Fields
```bash
GET /getresponse/v3/custom-fields
```
#### Get Custom Field
```bash
GET /getresponse/v3/custom-fields/{customFieldId}
```
#### Create Custom Field
```bash
POST /getresponse/v3/custom-fields
Content-Type: application/json
{
"name": "company",
"type": "text",
"hidden": false,
"values": []
}
```
### Newsletter Operations
#### List Newsletters
```bash
GET /getresponse/v3/newsletters
```
#### Send Newsletter
```bash
POST /getresponse/v3/newsletters
Content-Type: application/json
{
"subject": "Newsletter Subject",
"name": "Internal Newsletter Name",
"campaign": {
"campaignId": "abc123"
},
"content": {
"html": "<html><body>Newsletter content</body></html>",
"plain": "Newsletter content"
},
"sendOn": "2026-02-15T10:00:00Z"
}
```
#### Send Draft Newsletter
```bash
POST /getresponse/v3/newsletters/send-draft
Content-Type: application/json
{
"messageId": "newsletter123",
"sendOn": "2026-02-15T10:00:00Z"
}
```
#### List RSS Newsletters
```bash
GET /getresponse/v3/rss-newsletters
```
### Tags
#### List Tags
```bash
GET /getresponse/v3/tags
```
#### Get Tag
```bash
GET /getresponse/v3/tags/{tagId}
```
#### Create Tag
```bash
POST /getresponse/v3/tags
Content-Type: application/json
{
"name": "VIP Customer"
}
```
#### Update Tag
```bash
POST /getresponse/v3/tags/{tagId}
Content-Type: application/json
{
"name": "Premium Customer"
}
```
#### Delete Tag
```bash
DELETE /getresponse/v3/tags/{tagId}
```
#### Assign Tags to Contact
```bash
POST /getresponse/v3/contacts/{contactId}/tags
Content-Type: application/json
{
"tags": [
{"tagId": "abc123"},
{"tagId": "xyz789"}
]
}
```
### Autoresponders
#### List Autoresponders
```bash
GET /getresponse/v3/autoresponders
```
#### Get Autoresponder
```bash
GET /getresponse/v3/autoresponders/{autoresponderId}
```
#### Create Autoresponder
```bash
POST /getresponse/v3/autoresponders
Content-Type: application/json
{
"name": "Welcome Email",
"subject": "Welcome to our list!",
"campaign": {
"campaignId": "abc123"
},
"triggerSettings": {
"dayOfCycle": 0
},
"content": {
"html": "<html><body>Welcome!</body></html>",
"plain": "Welcome!"
}
}
```
#### Update Autoresponder
```bash
POST /getresponse/v3/autoresponders/{autoresponderId}
Content-Type: application/json
{
"subject": "Updated Welcome Email"
}
```
#### Delete Autoresponder
```bash
DELETE /getresponse/v3/autoresponders/{autoresponderId}
```
#### Get Autoresponder Statistics
```bash
GET /getresponse/v3/autoresponders/{autoresponderId}/statistics
```
#### Get All Autoresponder Statistics
```bash
GET /getresponse/v3/autoresponders/statistics
```
### From Fields
#### List From Fields
```bash
GET /getresponse/v3/from-fields
```
#### Get From Field
```bash
GET /getresponse/v3/from-fields/{fromFieldId}
```
### Transactional Emails
**Note:** Transactional email endpoints may require additional OAuth scopes that are not included in the default authorization.
#### List Transactional Emails
```bash
GET /getresponse/v3/transactional-emails
```
#### Send Transactional Email
```bash
POST /getresponse/v3/transactional-emails
Content-Type: application/json
{
"fromField": {
"fromFieldId": "abc123"
},
"subject": "Your Order Confirmation",
"recipients": {
"to": "customer@example.com"
},
"content": {
"html": "<html><body>Order confirmed!</body></html>",
"plain": "Order confirmed!"
}
}
```
#### Get Transactional Email
```bash
GET /getresponse/v3/transactional-emails/{transactionalEmailId}
```
#### Get Transactional Email Statistics
```bash
GET /getresponse/v3/transactional-emails/statistics
```
### Imports
#### List Imports
```bash
GET /getresponse/v3/imports
```
#### Create Import
```bash
POST /getresponse/v3/imports
Content-Type: application/json
{
"campaign": {
"campaignId": "abc123"
},
"contacts": [
{
"email": "user1@example.com",
"name": "User One"
},
{
"email": "user2@example.com",
"name": "User Two"
}
]
}
```
#### Get Import
```bash
GET /getresponse/v3/imports/{importId}
```
### Workflows (Automations)
#### List Workflows
```bash
GET /getresponse/v3/workflow
```
#### Get Workflow
```bash
GET /getresponse/v3/workflow/{workflowId}
```
#### Update Workflow
```bash
POST /getresponse/v3/workflow/{workflowId}
Content-Type: application/json
{
"status": "enabled"
}
```
### Segments (Search Contacts)
#### List Segments
```bash
GET /getresponse/v3/search-contacts
```
#### Create Segment
```bash
POST /getresponse/v3/search-contacts
Content-Type: application/json
{
"name": "Active Subscribers",
"subscribersType": ["subscribed"],
"sectionLogicOperator": "or",
"section": []
}
```
#### Get Segment
```bash
GET /getresponse/v3/search-contacts/{searchContactId}
```
#### Update Segment
```bash
POST /getresponse/v3/search-contacts/{searchContactId}
Content-Type: application/json
{
"name": "Updated Segment Name"
}
```
#### Delete Segment
```bash
DELETE /getresponse/v3/search-contacts/{searchContactId}
```
#### Get Contacts from Segment
```bash
GET /getresponse/v3/search-contacts/{searchContactId}/contacts
```
#### Search Contacts Without Saving
```bash
POST /getresponse/v3/search-contacts/contacts
Content-Type: application/json
{
"subscribersType": ["subscribed"],
"sectionLogicOperator": "or",
"section": []
}
```
### Forms
**Note:** Forms endpoints may require additional OAuth scopes (form_view, form_design, form_select) that are not included in the default authorization.
#### List Forms
```bash
GET /getresponse/v3/forms
```
#### Get Form
```bash
GET /getresponse/v3/forms/{formId}
```
### Webforms
#### List Webforms
```bash
GET /getresponse/v3/webforms
```
#### Get Webform
```bash
GET /getresponse/v3/webforms/{webformId}
```
### SMS Messages
#### List SMS Messages
```bash
GET /getresponse/v3/sms
```
#### Send SMS
```bash
POST /getresponse/v3/sms
Content-Type: application/json
{
"recipients": {
"campaignId": "abc123"
},
"content": {
"message": "Your SMS message content"
},
"sendOn": "2026-02-15T10:00:00Z"
}
```
#### Get SMS Message
```bash
GET /getresponse/v3/sms/{smsId}
```
#### Get SMS Statistics
```bash
GET /getresponse/v3/statistics/sms/{smsId}
```
### Shops (Ecommerce)
#### List Shops
```bash
GET /getresponse/v3/shops
```
#### Create Shop
```bash
POST /getresponse/v3/shops
Content-Type: application/json
{
"name": "My Store",
"locale": "en_US",
"currency": "USD"
}
```
#### Get Shop
```bash
GET /getresponse/v3/shops/{shopId}
```
#### List Products
```bash
GET /getresponse/v3/shops/{shopId}/products
```
#### Create Product
```bash
POST /getresponse/v3/shops/{shopId}/products
Content-Type: application/json
{
"name": "Product Name",
"url": "https://example.com/product",
"variants": [
{
"name": "Default",
"price": 29.99,
"priceTax": 32.99
}
]
}
```
#### List Orders
```bash
GET /getresponse/v3/shops/{shopId}/orders
```
#### Create Order
```bash
POST /getresponse/v3/shops/{shopId}/orders
Content-Type: application/json
{
"contactId": "abc123",
"totalPrice": 99.99,
"currency": "USD",
"status": "completed"
}
```
### Webinars
#### List Webinars
```bash
GET /getresponse/v3/webinars
```
#### Get Webinar
```bash
GET /getresponse/v3/webinars/{webinarId}
```
### Landing Pages
#### List Landing Pages
```bash
GET /getresponse/v3/lps
```
#### Get Landing Page
```bash
GET /getresponse/v3/lps/{lpsId}
```
#### Get Landing Page Statistics
```bash
GET /getresponse/v3/statistics/lps/{lpsId}/performance
```
## Pagination
Use `page` and `perPage` query parameters for pagination:
```bash
GET /getresponse/v3/contacts?page=1&perPage=100
```
- `page` - Page number (starts at 1)
- `perPage` - Number of records per page (max 1000)
Response headers include pagination info:
- `TotalCount` - Total number of records
- `TotalPages` - Total number of pages
- `CurrentPage` - Current page number
## Code Examples
### JavaScript
```javascript
const response = await fetch(
'https://gateway.maton.ai/getresponse/v3/contacts?perPage=10',
{
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`
}
}
);
const contacts = await response.json();
```
### Python
```python
import os
import requests
response = requests.get(
'https://gateway.maton.ai/getresponse/v3/contacts',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
params={'perPage': 10}
)
contacts = response.json()
```
## Notes
- Campaign IDs and Contact IDs are alphanumeric strings
- All timestamps use ISO 8601 format (e.g., `2026-02-15T10:00:00Z`)
- Field names use camelCase
- Rate limits: 30,000 requests per 10 minutes, 80 requests per second
- IMPORTANT: When using curl commands, use `curl -g` when URLs contain brackets to disable glob parsing
- IMPORTANT: When piping curl output to `jq` or other commands, environment variables like `$MATON_API_KEY` may not expand correctly in some shell environments
## Error Handling
| Status | Meaning |
|--------|---------|
| 400 | Missing GetResponse connection or invalid request |
| 401 | Invalid or missing Maton API key |
| 404 | Resource not found |
| 409 | Conflict (e.g., contact already exists) |
| 429 | Rate limited |
| 4xx/5xx | Passthrough error from GetResponse API |
### Troubleshooting: API Key Issues
1. Check that the `MATON_API_KEY` environment variable is set:
```bash
echo $MATON_API_KEY
```
2. Verify the API key is valid by listing connections:
```bash
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```
### Troubleshooting: Invalid App Name
1. Ensure your URL path starts with `getresponse`. For example:
- Correct: `https://gateway.maton.ai/getresponse/v3/contacts`
- Incorrect: `https://gateway.maton.ai/v3/contacts`
## Resources
- [GetResponse API Documentation](https://apidocs.getresponse.com/v3)
- [GetResponse OpenAPI Spec](https://apireference.getresponse.com/open-api.json)
- [Maton Community](https://discord.com/invite/dBfFAcefs2)
- [Maton Support](mailto:support@maton.ai)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!