Endpoints
Create Contact
Create a new contact with WhatsApp number verification. The phone number must be registered on WhatsApp and will be verified using FlowMod’s verification service.
Key Features
- Automatic WhatsApp number verification
- Phone number normalization
- Duplicate detection
- Tag parsing from comma-separated strings
- API key authentication with organization validation
POST
Documentation Index
Fetch the complete documentation index at: https://docs.flowapt.com/llms.txt
Use this file to discover all available pages before exploring further.
This endpoint creates a new contact with WhatsApp number verification. The phone number must be registered on WhatsApp.
Overview
Create a new contact in your FlowIQ organization. The API automatically:- Verifies the phone number is registered on WhatsApp
- Normalizes phone numbers for consistent storage
- Checks for duplicate contacts
- Parses and stores contact tags
Authentication
All requests require a Bearer token with API key format (fiq_...) in the Authorization header:
Basic Usage
Create a Contact
Minimal Request (Name + Phone)
Request Parameters
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
phone_number | string | Yes | Phone number with country code (e.g., +27123456789) |
name | string | Yes | Contact’s full name |
email | string | No | Contact’s email address |
tags | string | No | Comma-separated tags (e.g., “customer,premium,vip”) |
Response Examples
Success Response (201)
Error: Contact Already Exists (409)
Error: Invalid WhatsApp Number (400)
Error: Missing Phone Number (400)
Error: Invalid API Key (401)
Phone Number Validation
The API performs several validation steps:- Format Check: Removes special characters, keeps only digits
- Length Check: Must be at least 10 digits (including country code)
- WhatsApp Verification: Verifies the number is registered on WhatsApp using FlowMod’s verification service
- Duplicate Check: Ensures no existing contact has the same WhatsApp ID in your organization
Tag Management
Tags can be provided as a comma-separated string and are automatically:- Split into individual tags
- Trimmed of whitespace
- Stored as a JSON array
- Empty tags are filtered out
Contact Properties
When a contact is created, the following properties are automatically set:| Property | Default Value | Description |
|---|---|---|
bot_status | true | Bot is enabled for this contact |
archived | false | Contact is not archived |
has_unread_messages | false | No unread messages initially |
allow_broadcast | true | Contact can receive broadcasts |
active_status | false | Contact is not currently active |
blocked | false | Contact is not blocked |
source.type | "api" | Contact was created via API |
Error Codes
| Status Code | Error | Description |
|---|---|---|
| 201 | Success | Contact created successfully |
| 400 | Bad Request | Missing required fields or invalid phone number |
| 401 | Unauthorized | Invalid or expired API key |
| 404 | Not Found | Organization not found |
| 409 | Conflict | Contact with this phone number already exists |
| 500 | Internal Server Error | Server-side error occurred |
Best Practices
Phone Number Format
Always include the country code (e.g., +27 for South Africa, +1 for USA/Canada). The API handles formatting automatically.
Duplicate Detection
Check the 409 error response to get details about the existing contact before attempting to update or create a new one.
Tags Organization
Use consistent tag naming (e.g., lowercase, no spaces) for easier filtering and organization.
Error Handling
Always handle WhatsApp verification failures gracefully - inform users that the number must be registered on WhatsApp.
Integration Example
Authorizations
Bearer token for authentication. Format: Bearer YOUR_BEARER_TOKEN
Body
application/json

