Guides
Creating your first contact
A practical first workflow for creating and enriching a contact record
Creating Your First Contact
Creating a contact is a good first integration workflow because it exercises authentication, organisation discovery, workspace discovery, and a write operation against a workspace-scoped resource.
Workflow
- Fetch organisations with
GET /organisation. - Fetch workspaces for the selected organisation with
GET /organisation/{orgId}/workspace. - Create a contact with
POST /organisation/{orgId}/workspace/{workspaceId}/contact. - Optionally attach an address with
POST /organisation/{orgId}/workspace/{workspaceId}/contact/{contactId}/address. - Optionally attach a communication method with
POST /organisation/{orgId}/workspace/{workspaceId}/contact/{contactId}/method.
Related OpenAPI Operations
List organisations
Start by finding the organisation you want to create the contact under. Use the selected organisation ID in the next step.
GET
/organisationAuthorizationv
{
"type": "Bearer API key"
}Pathv
Endpoint
/organisationOperation ID
organisation.listBodyv
{
"response": {
"organisations": [
{
"id": "org_123",
"name": "Example Organisation"
}
]
}
}List workspaces
Fetch the available workspaces for the selected organisation. Most contact operations are scoped to both organisation and workspace.
GET
/organisation/{orgId}/workspaceAuthorizationv
{
"type": "Bearer API key"
}Pathv
Endpoint
/organisation/{orgId}/workspace{
"orgId": "org_123"
}Operation ID
workspace.listBodyv
{
"response": {
"workspaces": [
{
"id": "workspace_123",
"name": "Sales"
}
]
}
}Create the contact
Create the contact record in the selected workspace. Include any known contact methods so the workspace can reach the customer.
POST
/organisation/{orgId}/workspace/{workspaceId}/contactAuthorizationv
{
"type": "Bearer API key"
}Pathv
Endpoint
/organisation/{orgId}/workspace/{workspaceId}/contact{
"orgId": "org_123",
"workspaceId": "workspace_123"
}Operation ID
contact.createBodyv
{
"firstName": "Jane",
"lastName": "Citizen",
"preferredName": "Jane",
"contactMethods": [
{
"value": "jane.citizen@example.com",
"type": "email"
},
{
"value": "+61400111222",
"type": "phone"
}
]
}Optionally add an address
Attach address details after the contact exists when your workflow captures residential or mailing address information.
POST
/organisation/{orgId}/workspace/{workspaceId}/contact/{contactId}/addressAuthorizationv
{
"type": "Bearer API key"
}Pathv
Endpoint
/organisation/{orgId}/workspace/{workspaceId}/contact/{contactId}/address{
"orgId": "org_123",
"workspaceId": "workspace_123",
"contactId": "contact_123"
}Operation ID
contact.address.createBodyv
{
"type": "current",
"streetNumber": "10",
"streetName": "Example Street",
"suburb": "Sydney",
"state": "NSW",
"postcode": "2000",
"country": "Australia"
}Optionally add another contact method
Add additional communication methods if they are collected later in the flow.
POST
/organisation/{orgId}/workspace/{workspaceId}/contact/{contactId}/methodAuthorizationv
{
"type": "Bearer API key"
}Pathv
Endpoint
/organisation/{orgId}/workspace/{workspaceId}/contact/{contactId}/method{
"orgId": "org_123",
"workspaceId": "workspace_123",
"contactId": "contact_123"
}Operation ID
contact.method.createBodyv
{
"value": "jane.citizen@example.com",
"type": "email"
}
