PublicApiCreateContact
curl --request POST \
--url https://sandbox.api.app.firstsales.io/api/v1/organizations/{orgId}/workspaces/{wsId}/contacts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "jsmith@example.com",
"listId": "<string>",
"source": "webhook",
"firstName": "<string>",
"lastName": "<string>",
"fullName": "<string>",
"headline": "<string>",
"linkedinUrl": "<string>",
"company": "<string>",
"title": "<string>",
"phone": "<string>",
"location": {
"city": "<string>",
"state": "<string>",
"country": "<string>"
},
"enrichment": {
"source": "<string>",
"enrichedAt": "2023-11-07T05:31:56Z"
},
"timezone": "<string>",
"customFields": {},
"tags": [
"<string>"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'jsmith@example.com',
listId: '<string>',
source: 'webhook',
firstName: '<string>',
lastName: '<string>',
fullName: '<string>',
headline: '<string>',
linkedinUrl: '<string>',
company: '<string>',
title: '<string>',
phone: '<string>',
location: {city: '<string>', state: '<string>', country: '<string>'},
enrichment: {source: '<string>', enrichedAt: '2023-11-07T05:31:56Z'},
timezone: '<string>',
customFields: {},
tags: ['<string>']
})
};
fetch('https://sandbox.api.app.firstsales.io/api/v1/organizations/{orgId}/workspaces/{wsId}/contacts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"details": {}
}
}Contacts
PublicApiCreateContact
POST /api/v1/organizations//workspaces//contacts
POST
/
api
/
v1
/
organizations
/
{orgId}
/
workspaces
/
{wsId}
/
contacts
PublicApiCreateContact
curl --request POST \
--url https://sandbox.api.app.firstsales.io/api/v1/organizations/{orgId}/workspaces/{wsId}/contacts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "jsmith@example.com",
"listId": "<string>",
"source": "webhook",
"firstName": "<string>",
"lastName": "<string>",
"fullName": "<string>",
"headline": "<string>",
"linkedinUrl": "<string>",
"company": "<string>",
"title": "<string>",
"phone": "<string>",
"location": {
"city": "<string>",
"state": "<string>",
"country": "<string>"
},
"enrichment": {
"source": "<string>",
"enrichedAt": "2023-11-07T05:31:56Z"
},
"timezone": "<string>",
"customFields": {},
"tags": [
"<string>"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'jsmith@example.com',
listId: '<string>',
source: 'webhook',
firstName: '<string>',
lastName: '<string>',
fullName: '<string>',
headline: '<string>',
linkedinUrl: '<string>',
company: '<string>',
title: '<string>',
phone: '<string>',
location: {city: '<string>', state: '<string>', country: '<string>'},
enrichment: {source: '<string>', enrichedAt: '2023-11-07T05:31:56Z'},
timezone: '<string>',
customFields: {},
tags: ['<string>']
})
};
fetch('https://sandbox.api.app.firstsales.io/api/v1/organizations/{orgId}/workspaces/{wsId}/contacts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"details": {}
}
}Use this endpoint through the Developer API or the matching
firstsales CLI command when available. Responses use the stable FirstSales public error envelope.Authorizations
Legacy compatibility bearer scheme for generated consumers.
Body
application/json
Maximum string length:
255Pattern:
^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$Pattern:
^[0-9a-fA-F]{24}$Available options:
csv-import, ai-leads, webhook, signal Maximum string length:
100Maximum string length:
100Maximum string length:
200Maximum string length:
500Maximum string length:
500Maximum string length:
200Maximum string length:
200Maximum string length:
50Show child attributes
Show child attributes
Show child attributes
Show child attributes
Maximum string length:
64Show child attributes
Show child attributes
Maximum array length:
20Maximum string length:
50Response
Successful response
The response is of type object.