1. OpenAPI (Demo)
  2. Contacts
  3. Create a contact
ReadmeGitHub
  • Platform API overview
  • Quickstart
  • POSTCreate a member session
  • POSTRefresh a member session
  • DELETERevoke a member session
  • GETList organizations
  • POSTCreate an organization
  • GETGet an organization
  • PATCHUpdate an organization
  • GETList organization members
  • POSTInvite an organization member
  • DELETERemove an organization member
  • PATCHUpdate a member role
  • GETList projects
  • POSTCreate a project
  • GETGet a project
  • DELETEArchive a project
  • PATCHUpdate a project
  • GETList project environments
  • POSTCreate a project environment
  • GETList project documents
  • POSTCreate a project document
  • GETGet a document
  • DELETEArchive a document
  • PATCHUpdate a document
  • POSTPublish a document
  • GETList contacts
  • POSTCreate a contact
  • GETGet a contact
  • DELETEDelete a contact
  • PATCHUpdate a contact
  • GETList product events
  • GETGet analytics overview
  • GETList workflows
  • POSTCreate a workflow
  • GETList workflow runs
  • GETList webhook subscriptions
  • POSTCreate a webhook subscription
  • GETGet a webhook subscription
  • DELETEDelete a webhook subscription
  • PATCHUpdate a webhook subscription
  • GETList webhook deliveries
  • POSTReplay a webhook delivery
  • GETList files
  • POSTCreate a multipart file upload
  • GETGet file metadata
  • DELETEDelete a file
  • GETGet current subscription
  • PATCHUpdate subscription settings
  • GETList invoices
  • GETGet metered usage
  • GETList API keys
  • POSTCreate an API key
  • POSTRevoke an API key
  • GETList audit logs
  • GETList exports
  • POSTCreate an export
  • GETGet API health
POST/organizations/{organizationId}/contacts

Create a contact

Creates a contact and optionally associates it with tags and external identifiers.

Send request

Use the documented inputs to call this endpoint directly.

API serverbase URL
Bearer tokenBearerAuthoptional
Stored only in this browser for the BearerAuth security scheme and reused on every API page in this group.

Parameters

Values are applied to the request and the example on the right.

organizationIdpath · stringrequired

Opaque organization identifier.

Idempotency-Keyheader · string · uuidoptional

Unique key for retry-safe writes, retained for 24 hours.

Request body

application/jsonrequired
emailstring · emailrequired
first_namestringoptional
last_namestringoptional
companystringoptional
lifecyclestringoptional
tagsarray<string>optional
traitsobjectoptional
consentobjectoptional

Responses

201application/json

Contact created.

{
  "id": "con_01J8FA5Q9M6T4X2K7P3",
  "email": "aleks@acme.example",
  "first_name": "Aleks",
  "last_name": "Nowak",
  "company": "Acme Studio",
  "lifecycle": "lead",
  "tags": [
    "webinar-september",
    "poland"
  ],
  "traits": {
    "plan_interest": "growth",
    "company_size": 48
  },
  "consent": {
    "marketing": true,
    "product_updates": true
  },
  "activity": {
    "event_count": 16,
    "last_seen_at": "2026-09-03T09:12:00Z"
  },
  "created_at": "2026-08-21T11:05:00Z",
  "updated_at": "2026-09-03T09:12:00Z"
}
idstringoptional
emailstringoptional
first_namestringoptional
last_namestringoptional
companystringoptional
lifecyclestringoptional
tagsarray<string>optional
traitsobjectoptional
consentobjectoptional
activityobjectoptional
created_atstring · date-timeoptional
updated_atstring · date-timeoptional
409

Email already belongs to an existing contact.

List contacts< PreviousGet a contactNext >

Powered by heyo

curl --request POST \  'https://api.demo.heyo.example/v3/organizations/org_01J8F1Q6N6VTX4E8W9R2D0A7B3/contacts' \  --header 'Idempotency-Key: 5ba89923-8c6d-44a3-9ab7-2fbbdb865f9a' \  --header 'Content-Type: application/json' \  --data '{  "email": "aleks@acme.example",  "first_name": "Aleks",  "last_name": "Nowak",  "company": "Acme Studio",  "lifecycle": "lead",  "tags": [    "webinar-september",    "poland"  ],  "traits": {    "plan_interest": "growth",    "company_size": 48  },  "consent": {    "marketing": true,    "product_updates": true  }}'
{  "id": "con_01J8FA5Q9M6T4X2K7P3",  "email": "aleks@acme.example",  "first_name": "Aleks",  "last_name": "Nowak",  "company": "Acme Studio",  "lifecycle": "lead",  "tags": [    "webinar-september",    "poland"  ],  "traits": {    "plan_interest": "growth",    "company_size": 48  },  "consent": {    "marketing": true,    "product_updates": true  },  "activity": {    "event_count": 16,    "last_seen_at": "2026-09-03T09:12:00Z"  },  "created_at": "2026-08-21T11:05:00Z",  "updated_at": "2026-09-03T09:12:00Z"}