Endpoints for authenticating against the KlickTipp API and managing API access. These operations are used to establish and terminate authenticated sessions or to validate credentials required for protected API requests.
KlickTipp API (0.0.0)
This specification describes the KlickTipp Management API.
It is intended for developers and integrators who want to interact directly with KlickTipp to manage contacts, tags, custom fields, opt-in processes, and automation workflows.
The API can be used standalone or through third-party platforms.
The specification focuses on correct request formats, authentication mechanisms, response structures, and error handling to ensure reliable and predictable integrations.
Good to know: This API uses session-based cookie authentication. Interactive Try-It requests do not fully support this login flow. For production testing click on the button to open our Collection in Postman.
The base URL for the KlickTipp API production environment is:
https://api.klicktipp.comAll endpoints defined in this specification are relative to this base URL.
To access the API, you must authenticate and maintain a valid session.
Authentication
Most endpoints require cookie-based authentication.
Use the login endpoint with your KlickTipp username and password to obtain a session cookie, which must be sent with all subsequent requests.Request Preparation
Replace all placeholder values such as email addresses, IDs, or timestamps with valid test data.
Invalid formats are a common source of errors.Response Handling
The API returns structured payloads and numeric error codes.
Always validate HTTP status codes and response bodies programmatically.
The KlickTipp Management API supports multiple authentication models, depending on the integration scenario.
Username and password authentication via session cookie
Typically used for internal tools and administrative workflows.Developer key and customer key authentication
Intended for long-running, production-grade, or multi-tenant integrations.
This model does not rely on session handling.
Documentation:
How to authenticate and access the Management API
The KlickTipp Management API uses JSON as its response format.
All endpoints return JSON responses, including structured data, timestamps, and error details.
Integrations are expected to consume and validate JSON exclusively.
Date and time values must always be provided as Unix timestamps (seconds).
Formatted date strings, locale-specific formats, and timezone annotations are not supported.
Incorrect field formats are a frequent cause of validation errors. Always ensure that submitted values match the expected field type definitions.
Documentation:
Data field types and Inputs
Errors are typically returned with HTTP status code 406 and include a numeric error code in the response body.
Integrations should handle errors explicitly and provide meaningful diagnostics for debugging and monitoring.
Documentation:
Error Handling
This specification is designed to support stable, predictable, and maintainable integrations with the KlickTipp platform.
- KlickTipp REST APIhttps://api.klicktipp.com/subscriber
- curl
- Node.js
- Java
- Python
- PHP
curl -i -X GET \
https://api.klicktipp.com/subscriber[ "123", "456" ]
- application/json
- application/x-www-form-urlencoded
- multipart/form-data
Valid email address and must contain @.
Either email or smsnumber is required. Email address must be unique per contact.
Phone number in international format.
Either email or smsnumber is required. SMS number must be unique per contact.
Accepted input:
+4912345678004912345678
Stored format:
004912345678
Opt-in process ID.
If provided, this opt-in process is used. If omitted, the predefined double opt-in process is triggered automatically, which may trigger an email to the contact.
Retrieve available opt-in process IDs via GET /list.
Tag ID assigned to the contact.
Used for segmentation and automation triggers. Retrieve available tag IDs via GET /tag.
Additional custom fields for the subscriber.
Keys must match the field names configured in KlickTipp. Each field expects a specific data format depending on its field type.
Line: Single-line text without line breaks. Example:Alex ExampleParagraph: Text with paragraphs. Use\nto separate paragraphs. Example:Dies ist ein Text.\nMit Absatz.Number: Integer value. No dot, no comma. Example:42Decimal Number: Decimal value. Output always uses a dot as decimal separator. Example: Input1999→ Output19.99URL: Valid web address. Must start withhttp://orhttps://. Example:https://klicktipp.comTime: Unix timestamp between0and86399(seconds since midnight). Example:52200(14:30 GMT)Date: Unix timestamp in seconds. Date formats likeDD.MM.YYYYare not supported. Example:1715126400(08.05.2024 GMT)Date & Time: Unix timestamp in seconds. Do not send formatted date strings or values with spaces. Example:1715603400(13.05.2024 12:30:00 GMT)HTML: HTML-formatted content. Only use this type if the field explicitly allows HTML. Example:<strong>Hello World</strong>
- KlickTipp REST APIhttps://api.klicktipp.com/subscriber
- curl
- Node.js
- Java
- Python
- PHP
curl -i -X POST \
https://api.klicktipp.com/subscriber \
-H 'Content-Type: application/json' \
-d '{
"email": "alex.example@klicktipp.example",
"smsnumber": "+491701234567",
"listid": 12345,
"tagid": 56789,
"fields": {
"fieldFirstName": "Alex",
"fieldLastName": "Example",
"fieldCompanyName": "Example Corp",
"fieldStreet1": "Example Street 1",
"fieldStreet2": "",
"fieldCity": "Berlin",
"fieldState": "Berlin",
"fieldZip": "10115",
"fieldCountry": "DE",
"fieldPrivatePhone": "+491701234567",
"fieldMobilePhone": "+491701234567",
"fieldPhone": "+492201234567",
"fieldFax": "4922012345678",
"fieldWebsite": "https://www.klicktipp.example",
"fieldBirthday": "755222400",
"fieldLeadValue": "100",
"field12345": "Custom Field Value"
}
}'{ "id": "1", "listid": "12345", "optin": "25.09.2025", "optin_ip": "0.0.0.0", "email": "t1@example.com", "status": "Subscribed", "bounce": "Not Bounced", "date": "25.09.2025", "ip": "0.0.0.0", "unsubscription": "", "unsubscription_ip": "0.0.0.0", "referrer": "", "sms_phone": "004968211034234", "sms_status": "Subscribed", "sms_bounce": "Not Bounced", "sms_date": "15.12.2025", "sms_unsubscription": "", "sms_referrer": null, "fieldFirstName": "Alex", "fieldLastName": "Example", "fieldCompanyName": "Example Corp", "fieldStreet1": "Example Street 1", "fieldStreet2": "", "fieldCity": "Berlin", "fieldState": "Berlin", "fieldZip": "10115", "fieldCountry": "DE", "fieldPrivatePhone": "00491701234567", "fieldMobilePhone": "00491701234567", "fieldPhone": "004968211034234", "fieldFax": "004922012345678", "fieldWebsite": "https://www.klicktipp.example", "fieldBirthday": "755222400", "fieldLeadValue": "100", "tags": [ "17", "18" ], "smart_tags": { "17": "1758821945", "18": "1758822131" }, "notification_emails_sent": { "45": "1758821945" }, "notification_emails_opened": { "45": "1758822131" }, "notification_emails_clicked": { "45": "1758822131" }, "manual_tags": { "21": "1759753677" }, "emails_sent": { "1": "1758822606", "2": "1758822769" }, "emails_opened": { "1": "1758822610", "2": "1758884682" }, "emails_clicked": { "1": "1758822733" }, "campaigns_started": { "6": "1759753673" }, "campaigns_finished": { "6": "1759753677" } }
- KlickTipp REST APIhttps://api.klicktipp.com/subscriber/{subscriberid}
- curl
- Node.js
- Java
- Python
- PHP
curl -i -X GET \
'https://api.klicktipp.com/subscriber/{subscriberid}'{ "id": "1", "listid": "12345", "optin": "25.09.2025", "optin_ip": "0.0.0.0", "email": "t1@example.com", "status": "Subscribed", "bounce": "Not Bounced", "date": "25.09.2025", "ip": "0.0.0.0", "unsubscription": "", "unsubscription_ip": "0.0.0.0", "referrer": "", "sms_phone": "004968211034234", "sms_status": "Subscribed", "sms_bounce": "Not Bounced", "sms_date": "15.12.2025", "sms_unsubscription": "", "sms_referrer": null, "fieldFirstName": "Alex", "fieldLastName": "Example", "fieldCompanyName": "Example Corp", "fieldStreet1": "Example Street 1", "fieldStreet2": "", "fieldCity": "Berlin", "fieldState": "Berlin", "fieldZip": "10115", "fieldCountry": "DE", "fieldPrivatePhone": "00491701234567", "fieldMobilePhone": "00491701234567", "fieldPhone": "004968211034234", "fieldFax": "004922012345678", "fieldWebsite": "https://www.klicktipp.example", "fieldBirthday": "755222400", "fieldLeadValue": "100", "tags": [ "17", "18" ], "smart_tags": { "17": "1758821945", "18": "1758822131" }, "notification_emails_sent": { "45": "1758821945" }, "notification_emails_opened": { "45": "1758822131" }, "notification_emails_clicked": { "45": "1758822131" }, "manual_tags": { "21": "1759753677" }, "emails_sent": { "1": "1758822606", "2": "1758822769" }, "emails_opened": { "1": "1758822610", "2": "1758884682" }, "emails_clicked": { "1": "1758822733" }, "campaigns_started": { "6": "1759753673" }, "campaigns_finished": { "6": "1759753677" } }
- application/json
- application/x-www-form-urlencoded
- multipart/form-data
Valid email address and must contain @.
Either email or smsnumber is required. Email address must be unique per contact.
Phone number in international format.
Either email or smsnumber is required. SMS number must be unique per contact.
Accepted input:
+4912345678004912345678
Stored format:
004912345678
Additional custom fields for the subscriber.
Keys must match the field names configured in KlickTipp. Each field expects a specific data format depending on its field type.
Line: Single-line text without line breaks. Example:Alex ExampleParagraph: Text with paragraphs. Use\nto separate paragraphs. Example:Dies ist ein Text.\nMit Absatz.Number: Integer value. No dot, no comma. Example:42Decimal Number: Decimal value. Output always uses a dot as decimal separator. Example: Input1999→ Output19.99URL: Valid web address. Must start withhttp://orhttps://. Example:https://klicktipp.comTime: Unix timestamp between0and86399(seconds since midnight). Example:52200(14:30 GMT)Date: Unix timestamp in seconds. Date formats likeDD.MM.YYYYare not supported. Example:1715126400(08.05.2024 GMT)Date & Time: Unix timestamp in seconds. Do not send formatted date strings or values with spaces. Example:1715603400(13.05.2024 12:30:00 GMT)HTML: HTML-formatted content. Only use this type if the field explicitly allows HTML. Example:<strong>Hello World</strong>
- KlickTipp REST APIhttps://api.klicktipp.com/subscriber/{subscriberid}
- curl
- Node.js
- Java
- Python
- PHP
curl -i -X PUT \
'https://api.klicktipp.com/subscriber/{subscriberid}' \
-H 'Content-Type: application/json' \
-d '{
"newemail": "alex.example@klicktipp.example",
"newsmsnumber": "+491701234567",
"fields": {
"fieldFirstName": "Alex",
"fieldLastName": "Example",
"fieldCompanyName": "Example Corp",
"fieldStreet1": "Example Street 1",
"fieldStreet2": "",
"fieldCity": "Berlin",
"fieldState": "Berlin",
"fieldZip": "10115",
"fieldCountry": "DE",
"fieldPrivatePhone": "+491701234567",
"fieldMobilePhone": "+491701234567",
"fieldPhone": "+492201234567",
"fieldFax": "4922012345678",
"fieldWebsite": "https://www.klicktipp.example",
"fieldBirthday": "755222400",
"fieldLeadValue": "100",
"field12345": "Custom Field Value"
}
}'- KlickTipp REST APIhttps://api.klicktipp.com/subscriber/{subscriberid}
- curl
- Node.js
- Java
- Python
- PHP
curl -i -X DELETE \
'https://api.klicktipp.com/subscriber/{subscriberid}'- KlickTipp REST APIhttps://api.klicktipp.com/subscriber/unsubscribe
- curl
- Node.js
- Java
- Python
- PHP
curl -i -X POST \
https://api.klicktipp.com/subscriber/unsubscribe \
-H 'Content-Type: application/json' \
-d '{
"email": "alex.example@klicktipp.example"
}'- KlickTipp REST APIhttps://api.klicktipp.com/subscriber/search
- curl
- Node.js
- Java
- Python
- PHP
curl -i -X POST \
https://api.klicktipp.com/subscriber/search \
-H 'Content-Type: application/json' \
-d '{
"email": "alex.example@klicktipp.example"
}'- application/json
- application/x-www-form-urlencoded
- multipart/form-data
Filter by subscriber status (pending, subscribed, unsubscribed)
- KlickTipp REST APIhttps://api.klicktipp.com/subscriber/tagged
- curl
- Node.js
- Java
- Python
- PHP
curl -i -X POST \
https://api.klicktipp.com/subscriber/tagged \
-H 'Content-Type: application/json' \
-d '{
"tagid": "17",
"statusFilter": [
"subscribed",
"pending"
],
"bounceStatusFilter": [
"nobounce",
"softbounce"
]
}'{ "3": "1760530436" }