Skip to main content
POST
/
v2
/
people
Create Person
curl --request POST \
  --url https://api.opennous.cloud/v2/people \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "<string>",
  "linkedin_url": "<string>",
  "linkedin_member_id": "<string>",
  "hubspot_id": "<string>",
  "pipedrive_id": "<string>",
  "apollo_id": "<string>",
  "attio_id": "<string>"
}
'
Use this from a form intake hook. Safe to call repeatedly for the same person.
curl -X POST https://api.opennous.cloud/v2/people \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "sarah@acme.com",
    "linkedin_url": "https://linkedin.com/in/sarah-chen",
    "first_name": "Sarah",
    "last_name": "Chen",
    "job_title": "VP Sales",
    "company": "Acme"
  }'

Body

At least one identifier is required.
email
string
Adds an email identifier to the entity.
linkedin_url
string
Adds a linkedin_url identifier.
linkedin_member_id
string
Adds a linkedin_member_id identifier.
hubspot_id
string
Adds a hubspot identifier.
pipedrive_id
string
Adds a pipedrive identifier.
apollo_id
string
Adds an apollo identifier.
attio_id
string
Adds an attio identifier.
Every other field on the body is asserted as a claim. Common ones include first_name, last_name, job_title, company, seniority, department, city, country, phone, pipeline_stage.

Response

{
  "person": {
    "id": "a1b2c3d4-...",
    "entity_id": "a1b2c3d4-...",
    "email": "sarah@acme.com",
    "first_name": "Sarah",
    "job_title": "VP Sales",
    "...": "..."
  }
}
Both id and entity_id are returned and always carry the same value (the entity UUID). GET /v2/people returns only id.