# Add or Update Contact Adds a new contact. If a contact with the same email already exists, it will be updated. Endpoint: POST /subscriber Version: 0.0.0 ## Request fields (application/json): - `email` (string,null) Valid email address and must contain @. Either email or smsnumber is required. Email address must be unique per contact. Example: "alex.example@klicktipp.example" - `smsnumber` (string,null) Phone number in international format. Either email or smsnumber is required. SMS number must be unique per contact. Accepted input: - +4912345678 - 004912345678 Stored format: - 004912345678 Example: "+491701234567" - `listid` (integer,null) 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. Example: 12345 - `tagid` (integer,null) Tag ID assigned to the contact. Used for segmentation and automation triggers. Retrieve available tag IDs via GET /tag. Example: 56789 - `fields` (object,null) 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 Example - Paragraph: Text with paragraphs. Use \n to separate paragraphs. Example: Dies ist ein Text.\nMit Absatz. - Number: Integer value. No dot, no comma. Example: 42 - Decimal Number: Decimal value. Output always uses a dot as decimal separator. Example: Input 1999 → Output 19.99 - URL: Valid web address. Must start with http:// or https://. Example: https://klicktipp.com - Time: Unix timestamp between 0 and 86399 (seconds since midnight). Example: 52200 (14:30 GMT) - Date: Unix timestamp in seconds. Date formats like DD.MM.YYYY are 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: Hello World Example: {"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"} ## Response 200 fields (application/json): - `id` (string, required) Example: "1" - `listid` (string, required) Example: "12345" - `optin` (string, required) Example: "25.09.2025" - `optin_ip` (string, required) Example: "0.0.0.0" - `email` (string, required) Example: "t1@example.com" - `status` (string, required) Example: "Subscribed" - `bounce` (string, required) Example: "Not Bounced" - `date` (string, required) Example: "25.09.2025" - `ip` (string, required) Example: "0.0.0.0" - `unsubscription` (string, required) - `unsubscription_ip` (string, required) Example: "0.0.0.0" - `referrer` (string, required) - `sms_phone` (string, required) Example: "004968211034234" - `sms_status` (string, required) Example: "Subscribed" - `sms_bounce` (string, required) Example: "Not Bounced" - `sms_date` (string, required) Example: "15.12.2025" - `sms_unsubscription` (string, required) - `sms_referrer` (string, required) - `fieldFirstName` (string, required) Example: "Alex" - `fieldLastName` (string, required) Example: "Example" - `fieldCompanyName` (string, required) Example: "Example Corp" - `fieldStreet1` (string, required) Example: "Example Street 1" - `fieldStreet2` (string, required) - `fieldCity` (string, required) Example: "Berlin" - `fieldState` (string, required) Example: "Berlin" - `fieldZip` (string, required) Example: "10115" - `fieldCountry` (string, required) Example: "DE" - `fieldPrivatePhone` (string, required) Example: "00491701234567" - `fieldMobilePhone` (string, required) Example: "00491701234567" - `fieldPhone` (string, required) Example: "004968211034234" - `fieldFax` (string, required) Example: "004922012345678" - `fieldWebsite` (string, required) Example: "https://www.klicktipp.example" - `fieldBirthday` (string, required) Example: "755222400" - `fieldLeadValue` (string, required) Example: "100" - `tags` (array, required) Example: ["17","18"] - `smart_tags` (object, required) Example: {"17":"1758821945","18":"1758822131"} - `notification_emails_sent` (object, required) Example: {"45":"1758821945"} - `notification_emails_opened` (object, required) Example: {"45":"1758822131"} - `notification_emails_clicked` (object, required) Example: {"45":"1758822131"} - `manual_tags` (object, required) Example: {"21":"1759753677"} - `emails_sent` (object, required) Example: {"1":"1758822606","2":"1758822769"} - `emails_opened` (object, required) Example: {"1":"1758822610","2":"1758884682"} - `emails_clicked` (object, required) Example: {"1":"1758822733"} - `campaigns_started` (object, required) Example: {"6":"1759753673"} - `campaigns_finished` (object, required) Example: {"6":"1759753677"}