curl --request PUT \
--url https://api.parallellabs.app/api/v0/sequences/profiles/{profileId} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"email": "<string>",
"signature": "<string>",
"integrationId": "<string>",
"dailySendingLimit": 123,
"slowRampEnabled": true,
"linkedinIntegrationId": "<string>",
"phoneIntegrationId": "<string>",
"phone": "<string>",
"voiceId": "<string>",
"agentId": "<string>",
"employeeId": "<string>"
}
'import requests
url = "https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}"
payload = {
"name": "<string>",
"email": "<string>",
"signature": "<string>",
"integrationId": "<string>",
"dailySendingLimit": 123,
"slowRampEnabled": True,
"linkedinIntegrationId": "<string>",
"phoneIntegrationId": "<string>",
"phone": "<string>",
"voiceId": "<string>",
"agentId": "<string>",
"employeeId": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
email: '<string>',
signature: '<string>',
integrationId: '<string>',
dailySendingLimit: 123,
slowRampEnabled: true,
linkedinIntegrationId: '<string>',
phoneIntegrationId: '<string>',
phone: '<string>',
voiceId: '<string>',
agentId: '<string>',
employeeId: '<string>'
})
};
fetch('https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'email' => '<string>',
'signature' => '<string>',
'integrationId' => '<string>',
'dailySendingLimit' => 123,
'slowRampEnabled' => true,
'linkedinIntegrationId' => '<string>',
'phoneIntegrationId' => '<string>',
'phone' => '<string>',
'voiceId' => '<string>',
'agentId' => '<string>',
'employeeId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"signature\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"dailySendingLimit\": 123,\n \"slowRampEnabled\": true,\n \"linkedinIntegrationId\": \"<string>\",\n \"phoneIntegrationId\": \"<string>\",\n \"phone\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"employeeId\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"signature\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"dailySendingLimit\": 123,\n \"slowRampEnabled\": true,\n \"linkedinIntegrationId\": \"<string>\",\n \"phoneIntegrationId\": \"<string>\",\n \"phone\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"employeeId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"signature\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"dailySendingLimit\": 123,\n \"slowRampEnabled\": true,\n \"linkedinIntegrationId\": \"<string>\",\n \"phoneIntegrationId\": \"<string>\",\n \"phone\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"employeeId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Update a sender profile.
curl --request PUT \
--url https://api.parallellabs.app/api/v0/sequences/profiles/{profileId} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"email": "<string>",
"signature": "<string>",
"integrationId": "<string>",
"dailySendingLimit": 123,
"slowRampEnabled": true,
"linkedinIntegrationId": "<string>",
"phoneIntegrationId": "<string>",
"phone": "<string>",
"voiceId": "<string>",
"agentId": "<string>",
"employeeId": "<string>"
}
'import requests
url = "https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}"
payload = {
"name": "<string>",
"email": "<string>",
"signature": "<string>",
"integrationId": "<string>",
"dailySendingLimit": 123,
"slowRampEnabled": True,
"linkedinIntegrationId": "<string>",
"phoneIntegrationId": "<string>",
"phone": "<string>",
"voiceId": "<string>",
"agentId": "<string>",
"employeeId": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
email: '<string>',
signature: '<string>',
integrationId: '<string>',
dailySendingLimit: 123,
slowRampEnabled: true,
linkedinIntegrationId: '<string>',
phoneIntegrationId: '<string>',
phone: '<string>',
voiceId: '<string>',
agentId: '<string>',
employeeId: '<string>'
})
};
fetch('https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'email' => '<string>',
'signature' => '<string>',
'integrationId' => '<string>',
'dailySendingLimit' => 123,
'slowRampEnabled' => true,
'linkedinIntegrationId' => '<string>',
'phoneIntegrationId' => '<string>',
'phone' => '<string>',
'voiceId' => '<string>',
'agentId' => '<string>',
'employeeId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"signature\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"dailySendingLimit\": 123,\n \"slowRampEnabled\": true,\n \"linkedinIntegrationId\": \"<string>\",\n \"phoneIntegrationId\": \"<string>\",\n \"phone\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"employeeId\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"signature\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"dailySendingLimit\": 123,\n \"slowRampEnabled\": true,\n \"linkedinIntegrationId\": \"<string>\",\n \"phoneIntegrationId\": \"<string>\",\n \"phone\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"employeeId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parallellabs.app/api/v0/sequences/profiles/{profileId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"signature\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"dailySendingLimit\": 123,\n \"slowRampEnabled\": true,\n \"linkedinIntegrationId\": \"<string>\",\n \"phoneIntegrationId\": \"<string>\",\n \"phone\": \"<string>\",\n \"voiceId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"employeeId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Company API key - scoped to a specific company. Generate from the Integrations page in your dashboard.
Path Parameters
Body
Profile data to update
Request body for creating a sender profile
Profile name
Sender email address
Email signature HTML
Email integration ID this profile sends from. To find valid IDs, call integrations_getIntegrationsByType with path integration_type=email.
Daily email sending limit
Gradually increase the number of emails sent per day until the daily sending limit is reached
This profile's LinkedIn account for LinkedIn steps. To find valid IDs, call integrations_getIntegrationsByType with path integration_type=browser_session and query type=linkedin_login.
This profile's Twilio/phone integration for SMS and voice steps. To find valid IDs, call integrations_getIntegrationsByType with path integration_type=sms.
Sending phone number (E.164) for this profile, drawn from phoneIntegrationId. To find available numbers, call integrations_getTwilioPhoneNumbers with that integration_id.
Voice ID for this profile's voice-message steps. To find valid IDs, call voices_listVoices.
Agent ID that drives this profile's agent-conversation steps. To find valid IDs, call agents_listAgents.
Optional employee persona to associate with this profile.
Response
Updated profile

