Assign contacts to a campaign
curl --request POST \
--url https://my.jobin.cloud/api/openapi/v1/campaigns/{campaignId}/contacts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"contactIds": []
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({contactIds: []})
};
fetch('https://my.jobin.cloud/api/openapi/v1/campaigns/{campaignId}/contacts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.jobin.cloud/api/openapi/v1/campaigns/{campaignId}/contacts"
payload = { "contactIds": [] }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)$headers=@{}
$headers.Add("x-api-key", "<api-key>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://my.jobin.cloud/api/openapi/v1/campaigns/{campaignId}/contacts' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"contactIds": []
}'{
"accepted": true,
"campaignId": "aaaaaaaaaaaaaaaaaaaaaaaa",
"contactIds": [
"bbbbbbbbbbbbbbbbbbbbbbbb"
],
"jobGroupId": "cccccccccccccccccccccccc",
"queuedStagePositionCode": "first-touch"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "<string>",
"retryAfterSeconds": 123
}Campaigns
Assign Contacts To Campaign
Queue one or more contacts into a Jobin campaign so the configured sequence can start running.
POST
/
campaigns
/
{campaignId}
/
contacts
Assign contacts to a campaign
curl --request POST \
--url https://my.jobin.cloud/api/openapi/v1/campaigns/{campaignId}/contacts \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"contactIds": []
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({contactIds: []})
};
fetch('https://my.jobin.cloud/api/openapi/v1/campaigns/{campaignId}/contacts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.jobin.cloud/api/openapi/v1/campaigns/{campaignId}/contacts"
payload = { "contactIds": [] }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)$headers=@{}
$headers.Add("x-api-key", "<api-key>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://my.jobin.cloud/api/openapi/v1/campaigns/{campaignId}/contacts' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"contactIds": []
}'{
"accepted": true,
"campaignId": "aaaaaaaaaaaaaaaaaaaaaaaa",
"contactIds": [
"bbbbbbbbbbbbbbbbbbbbbbbb"
],
"jobGroupId": "cccccccccccccccccccccccc",
"queuedStagePositionCode": "first-touch"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "<string>",
"retryAfterSeconds": 123
}This is the primary launch endpoint for sequence-driven outreach in the public Jobin API.
The
202 Accepted response includes jobGroupId and queuedStagePositionCode. Use the returned
jobGroupId with GET /operations to inspect currently outstanding
sequence operations. An empty pending result is not a completion or success signal.Authorizations
Primary public authentication method. Create keys in Jobin.cloud under Workgroups > Integrations > Custom integration.
Path Parameters
Body
application/json
