Skip to main content
POST
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:
Only API keys with the fiq_ prefix are accepted.

Basic Usage

Create a Contact

Minimal Request (Name + Phone)


Request Parameters

Request Body

Phone numbers are automatically cleaned and normalized. Both +27 12 345 6789 and 27123456789 will be stored consistently.

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:
  1. Format Check: Removes special characters, keeps only digits
  2. Length Check: Must be at least 10 digits (including country code)
  3. WhatsApp Verification: Verifies the number is registered on WhatsApp using FlowMod’s verification service
  4. Duplicate Check: Ensures no existing contact has the same WhatsApp ID in your organization
If the phone number is not registered on WhatsApp, the contact creation will fail with a 400 error.

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
Example:
Stored as:

Contact Properties

When a contact is created, the following properties are automatically set:

Error Codes


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

Authorization
string
header
required

Bearer token for authentication. Format: Bearer YOUR_BEARER_TOKEN

Body

application/json
name
string
required

Contact's full name

Example:

"John Doe"

phone_number
string
required

Phone number with country code (required)

Example:

"+27123456789"

email
string<email>

Contact's email address

Example:

"john@example.com"

tags
string

Comma-separated tags

Example:

"customer,premium,vip"

Response

Contact created successfully

success
boolean
required

Whether the request was successful

Example:

true

message
string
required

Success message

Example:

"Contact created successfully"

contact
object
required