NNotifyy CRM

Objects

Create a contact

Create a contact in the tenant and project derived from the access token. Either email or phone must be provided.

Overview

Use this endpoint to create a contact with one or more properties. Include either an email property or a phone property. You can optionally create initial associations to existing records in the same request. It requires public api oauth access token authentication and the crm.contacts.write scope.

POST/api/objects/contacts

cURL

POST
bash
curl --request POST \  --url 'https://crm.notifyy.io/api/objects/contacts' \  --header 'Authorization: Bearer nfy_public_api_access_token' \  --header 'Content-Type: application/json' \  --data '{  "properties": [    {      "internal_name": "firstname",      "value": "Jane"    },    {      "internal_name": "email",      "value": "jane@example.com"    },    {      "internal_name": "tags",      "values": [        "vip",        "newsletter"      ]    }  ],  "associations": [    {      "to": {        "object": "company",        "id": "456"      }    },    {      "to": {        "object": "deal",        "id": "789"      }    }  ]}'

Authorization

Public API OAuth access token

crm.contacts.write

Sample Request Body

json
{  "properties": [    {      "internal_name": "firstname",      "value": "Jane"    },    {      "internal_name": "email",      "value": "jane@example.com"    },    {      "internal_name": "tags",      "values": [        "vip",        "newsletter"      ]    }  ],  "associations": [    {      "to": {        "object": "company",        "id": "456"      }    },    {      "to": {        "object": "deal",        "id": "789"      }    }  ]}

Sample Response

json
{  "success": true,  "message": "Contact created successfully",  "data": {    "id": 999,    "firstname": "Jane",    "lastname": null,    "email": "jane@example.com",    "phone": null,    "createdAt": "2026-07-31T10:15:30Z",    "updatedAt": "2026-07-31T10:15:30Z"  }}

Status Codes

CodeDescription
201Contact was created.
400Request body is invalid, uses forbidden internal fields, or includes invalid associations.

Headers

AuthorizationstringRequired

Public API OAuth bearer token.

Example: Bearer nfy_public_api_access_token

Content-TypestringRequired

Request body media type.

Example: application/json

Request body

propertiesobject[]Required

Contact properties to create. At least one property is required, and the set must include either email or phone.

properties[].internal_namestringRequired

Internal property name. Forbidden internal fields such as cin and project_id are not allowed. The request must include either email or phone as one of the property names.

Example: firstname

properties[].valueanyOptional

Scalar property value.

Example: Jane

properties[].valuesarrayOptional

Multi-value property values.

Example: ["vip","newsletter"]

associationsobject[]Optional

Associations to create along with the contact.

associations[].to.objectstringRequired

Associated object type, such as company or deal.

Example: company

associations[].to.idstringRequired

Associated record ID. Must be numeric.

Example: 456

Response fields

successboolean

Whether the request succeeded.

Example: true

messagestring

Human-readable result message.

Example: Contact created successfully

data.idinteger

Contact record ID.

Example: 999

data.firstnamestring | null

First name property value.

Example: Jane

data.lastnamestring | null

Last name property value.

data.emailstring | null

Email property value.

Example: jane@example.com

data.phonestring | null

Phone property value.

data.createdAtstring<date-time>

Creation timestamp.

Example: 2026-07-31T10:15:30Z

data.updatedAtstring<date-time>

Last update timestamp.

Example: 2026-07-31T10:15:30Z