Skip to main content
PUT
/
v1
/
integrations
/
sync
/
opportunities
Sync an opportunity
curl --request PUT \
  --url https://functions.siro.ai/api-externalApi/v1/integrations/sync/opportunities \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "externalId": "<string>",
  "name": "<string>",
  "amount": 123,
  "closedAt": "<string>",
  "remoteCreatedAt": "<string>",
  "lastActivityAt": "<string>",
  "deletedAt": "2023-11-07T05:31:56Z",
  "accountId": "<string>",
  "account": {
    "externalId": "<string>",
    "name": "<string>",
    "latitude": 123,
    "longitude": 123,
    "addresses": [
      {
        "country": "<string>",
        "street": "<string>",
        "city": "<string>",
        "state": "<string>",
        "zip": "<string>"
      }
    ],
    "phoneNumbers": [
      "<string>"
    ],
    "emailAddresses": [
      "<string>"
    ],
    "lastActivityAt": "<string>",
    "deletedAt": "2023-11-07T05:31:56Z",
    "owner": {
      "externalId": "<string>"
    },
    "mergedToExternalId": "<string>",
    "mergedFromExternalIds": [
      "<string>"
    ]
  },
  "contact": {
    "externalId": "<string>",
    "name": "<string>",
    "latitude": 123,
    "longitude": 123,
    "account": {
      "externalId": "<string>",
      "name": "<string>",
      "latitude": 123,
      "longitude": 123,
      "addresses": [
        {
          "country": "<string>",
          "street": "<string>",
          "city": "<string>",
          "state": "<string>",
          "zip": "<string>"
        }
      ],
      "phoneNumbers": [
        "<string>"
      ],
      "emailAddresses": [
        "<string>"
      ],
      "lastActivityAt": "<string>",
      "deletedAt": "2023-11-07T05:31:56Z",
      "owner": {
        "externalId": "<string>"
      },
      "mergedToExternalId": "<string>",
      "mergedFromExternalIds": [
        "<string>"
      ]
    },
    "addresses": [
      {
        "country": "<string>",
        "street": "<string>",
        "city": "<string>",
        "state": "<string>",
        "zip": "<string>"
      }
    ],
    "phoneNumbers": [
      "<string>"
    ],
    "emailAddresses": [
      "<string>"
    ],
    "lastActivityAt": "<string>",
    "deletedAt": "2023-11-07T05:31:56Z",
    "owner": {
      "externalId": "<string>"
    },
    "mergedToExternalId": "<string>",
    "mergedFromExternalIds": [
      "<string>"
    ]
  },
  "opportunityContacts": [
    {
      "externalId": "<string>",
      "name": "<string>",
      "latitude": 123,
      "longitude": 123,
      "account": {
        "externalId": "<string>",
        "name": "<string>",
        "latitude": 123,
        "longitude": 123,
        "addresses": [
          {
            "country": "<string>",
            "street": "<string>",
            "city": "<string>",
            "state": "<string>",
            "zip": "<string>"
          }
        ],
        "phoneNumbers": [
          "<string>"
        ],
        "emailAddresses": [
          "<string>"
        ],
        "lastActivityAt": "<string>",
        "deletedAt": "2023-11-07T05:31:56Z",
        "owner": {
          "externalId": "<string>"
        },
        "mergedToExternalId": "<string>",
        "mergedFromExternalIds": [
          "<string>"
        ]
      },
      "addresses": [
        {
          "country": "<string>",
          "street": "<string>",
          "city": "<string>",
          "state": "<string>",
          "zip": "<string>"
        }
      ],
      "phoneNumbers": [
        "<string>"
      ],
      "emailAddresses": [
        "<string>"
      ],
      "lastActivityAt": "<string>",
      "deletedAt": "2023-11-07T05:31:56Z",
      "owner": {
        "externalId": "<string>"
      },
      "mergedToExternalId": "<string>",
      "mergedFromExternalIds": [
        "<string>"
      ],
      "isPrimary": true
    }
  ],
  "opportunityUsers": [
    {
      "externalId": "<string>",
      "email": "<string>",
      "shareOfSale": 123,
      "name": "<string>",
      "deletedAt": "2023-11-07T05:31:56Z"
    }
  ]
}
'
import requests

url = "https://functions.siro.ai/api-externalApi/v1/integrations/sync/opportunities"

payload = {
"externalId": "<string>",
"name": "<string>",
"amount": 123,
"closedAt": "<string>",
"remoteCreatedAt": "<string>",
"lastActivityAt": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"accountId": "<string>",
"account": {
"externalId": "<string>",
"name": "<string>",
"latitude": 123,
"longitude": 123,
"addresses": [
{
"country": "<string>",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
}
],
"phoneNumbers": ["<string>"],
"emailAddresses": ["<string>"],
"lastActivityAt": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"owner": { "externalId": "<string>" },
"mergedToExternalId": "<string>",
"mergedFromExternalIds": ["<string>"]
},
"contact": {
"externalId": "<string>",
"name": "<string>",
"latitude": 123,
"longitude": 123,
"account": {
"externalId": "<string>",
"name": "<string>",
"latitude": 123,
"longitude": 123,
"addresses": [
{
"country": "<string>",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
}
],
"phoneNumbers": ["<string>"],
"emailAddresses": ["<string>"],
"lastActivityAt": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"owner": { "externalId": "<string>" },
"mergedToExternalId": "<string>",
"mergedFromExternalIds": ["<string>"]
},
"addresses": [
{
"country": "<string>",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
}
],
"phoneNumbers": ["<string>"],
"emailAddresses": ["<string>"],
"lastActivityAt": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"owner": { "externalId": "<string>" },
"mergedToExternalId": "<string>",
"mergedFromExternalIds": ["<string>"]
},
"opportunityContacts": [
{
"externalId": "<string>",
"name": "<string>",
"latitude": 123,
"longitude": 123,
"account": {
"externalId": "<string>",
"name": "<string>",
"latitude": 123,
"longitude": 123,
"addresses": [
{
"country": "<string>",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
}
],
"phoneNumbers": ["<string>"],
"emailAddresses": ["<string>"],
"lastActivityAt": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"owner": { "externalId": "<string>" },
"mergedToExternalId": "<string>",
"mergedFromExternalIds": ["<string>"]
},
"addresses": [
{
"country": "<string>",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
}
],
"phoneNumbers": ["<string>"],
"emailAddresses": ["<string>"],
"lastActivityAt": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"owner": { "externalId": "<string>" },
"mergedToExternalId": "<string>",
"mergedFromExternalIds": ["<string>"],
"isPrimary": True
}
],
"opportunityUsers": [
{
"externalId": "<string>",
"email": "<string>",
"shareOfSale": 123,
"name": "<string>",
"deletedAt": "2023-11-07T05:31:56Z"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
externalId: '<string>',
name: '<string>',
amount: 123,
closedAt: '<string>',
remoteCreatedAt: '<string>',
lastActivityAt: '<string>',
deletedAt: '2023-11-07T05:31:56Z',
accountId: '<string>',
account: {
externalId: '<string>',
name: '<string>',
latitude: 123,
longitude: 123,
addresses: [
{
country: '<string>',
street: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
}
],
phoneNumbers: ['<string>'],
emailAddresses: ['<string>'],
lastActivityAt: '<string>',
deletedAt: '2023-11-07T05:31:56Z',
owner: {externalId: '<string>'},
mergedToExternalId: '<string>',
mergedFromExternalIds: ['<string>']
},
contact: {
externalId: '<string>',
name: '<string>',
latitude: 123,
longitude: 123,
account: {
externalId: '<string>',
name: '<string>',
latitude: 123,
longitude: 123,
addresses: [
{
country: '<string>',
street: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
}
],
phoneNumbers: ['<string>'],
emailAddresses: ['<string>'],
lastActivityAt: '<string>',
deletedAt: '2023-11-07T05:31:56Z',
owner: {externalId: '<string>'},
mergedToExternalId: '<string>',
mergedFromExternalIds: ['<string>']
},
addresses: [
{
country: '<string>',
street: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
}
],
phoneNumbers: ['<string>'],
emailAddresses: ['<string>'],
lastActivityAt: '<string>',
deletedAt: '2023-11-07T05:31:56Z',
owner: {externalId: '<string>'},
mergedToExternalId: '<string>',
mergedFromExternalIds: ['<string>']
},
opportunityContacts: [
{
externalId: '<string>',
name: '<string>',
latitude: 123,
longitude: 123,
account: {
externalId: '<string>',
name: '<string>',
latitude: 123,
longitude: 123,
addresses: [
{
country: '<string>',
street: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
}
],
phoneNumbers: ['<string>'],
emailAddresses: ['<string>'],
lastActivityAt: '<string>',
deletedAt: '2023-11-07T05:31:56Z',
owner: {externalId: '<string>'},
mergedToExternalId: '<string>',
mergedFromExternalIds: ['<string>']
},
addresses: [
{
country: '<string>',
street: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
}
],
phoneNumbers: ['<string>'],
emailAddresses: ['<string>'],
lastActivityAt: '<string>',
deletedAt: '2023-11-07T05:31:56Z',
owner: {externalId: '<string>'},
mergedToExternalId: '<string>',
mergedFromExternalIds: ['<string>'],
isPrimary: true
}
],
opportunityUsers: [
{
externalId: '<string>',
email: '<string>',
shareOfSale: 123,
name: '<string>',
deletedAt: '2023-11-07T05:31:56Z'
}
]
})
};

fetch('https://functions.siro.ai/api-externalApi/v1/integrations/sync/opportunities', 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://functions.siro.ai/api-externalApi/v1/integrations/sync/opportunities",
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([
'externalId' => '<string>',
'name' => '<string>',
'amount' => 123,
'closedAt' => '<string>',
'remoteCreatedAt' => '<string>',
'lastActivityAt' => '<string>',
'deletedAt' => '2023-11-07T05:31:56Z',
'accountId' => '<string>',
'account' => [
'externalId' => '<string>',
'name' => '<string>',
'latitude' => 123,
'longitude' => 123,
'addresses' => [
[
'country' => '<string>',
'street' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>'
]
],
'phoneNumbers' => [
'<string>'
],
'emailAddresses' => [
'<string>'
],
'lastActivityAt' => '<string>',
'deletedAt' => '2023-11-07T05:31:56Z',
'owner' => [
'externalId' => '<string>'
],
'mergedToExternalId' => '<string>',
'mergedFromExternalIds' => [
'<string>'
]
],
'contact' => [
'externalId' => '<string>',
'name' => '<string>',
'latitude' => 123,
'longitude' => 123,
'account' => [
'externalId' => '<string>',
'name' => '<string>',
'latitude' => 123,
'longitude' => 123,
'addresses' => [
[
'country' => '<string>',
'street' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>'
]
],
'phoneNumbers' => [
'<string>'
],
'emailAddresses' => [
'<string>'
],
'lastActivityAt' => '<string>',
'deletedAt' => '2023-11-07T05:31:56Z',
'owner' => [
'externalId' => '<string>'
],
'mergedToExternalId' => '<string>',
'mergedFromExternalIds' => [
'<string>'
]
],
'addresses' => [
[
'country' => '<string>',
'street' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>'
]
],
'phoneNumbers' => [
'<string>'
],
'emailAddresses' => [
'<string>'
],
'lastActivityAt' => '<string>',
'deletedAt' => '2023-11-07T05:31:56Z',
'owner' => [
'externalId' => '<string>'
],
'mergedToExternalId' => '<string>',
'mergedFromExternalIds' => [
'<string>'
]
],
'opportunityContacts' => [
[
'externalId' => '<string>',
'name' => '<string>',
'latitude' => 123,
'longitude' => 123,
'account' => [
'externalId' => '<string>',
'name' => '<string>',
'latitude' => 123,
'longitude' => 123,
'addresses' => [
[
'country' => '<string>',
'street' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>'
]
],
'phoneNumbers' => [
'<string>'
],
'emailAddresses' => [
'<string>'
],
'lastActivityAt' => '<string>',
'deletedAt' => '2023-11-07T05:31:56Z',
'owner' => [
'externalId' => '<string>'
],
'mergedToExternalId' => '<string>',
'mergedFromExternalIds' => [
'<string>'
]
],
'addresses' => [
[
'country' => '<string>',
'street' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>'
]
],
'phoneNumbers' => [
'<string>'
],
'emailAddresses' => [
'<string>'
],
'lastActivityAt' => '<string>',
'deletedAt' => '2023-11-07T05:31:56Z',
'owner' => [
'externalId' => '<string>'
],
'mergedToExternalId' => '<string>',
'mergedFromExternalIds' => [
'<string>'
],
'isPrimary' => true
]
],
'opportunityUsers' => [
[
'externalId' => '<string>',
'email' => '<string>',
'shareOfSale' => 123,
'name' => '<string>',
'deletedAt' => '2023-11-07T05:31:56Z'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$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://functions.siro.ai/api-externalApi/v1/integrations/sync/opportunities"

payload := strings.NewReader("{\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"amount\": 123,\n \"closedAt\": \"<string>\",\n \"remoteCreatedAt\": \"<string>\",\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"accountId\": \"<string>\",\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"contact\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"opportunityContacts\": [\n {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ],\n \"isPrimary\": true\n }\n ],\n \"opportunityUsers\": [\n {\n \"externalId\": \"<string>\",\n \"email\": \"<string>\",\n \"shareOfSale\": 123,\n \"name\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")

req, _ := http.NewRequest("PUT", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
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://functions.siro.ai/api-externalApi/v1/integrations/sync/opportunities")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"amount\": 123,\n \"closedAt\": \"<string>\",\n \"remoteCreatedAt\": \"<string>\",\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"accountId\": \"<string>\",\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"contact\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"opportunityContacts\": [\n {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ],\n \"isPrimary\": true\n }\n ],\n \"opportunityUsers\": [\n {\n \"externalId\": \"<string>\",\n \"email\": \"<string>\",\n \"shareOfSale\": 123,\n \"name\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://functions.siro.ai/api-externalApi/v1/integrations/sync/opportunities")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"amount\": 123,\n \"closedAt\": \"<string>\",\n \"remoteCreatedAt\": \"<string>\",\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"accountId\": \"<string>\",\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"contact\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"opportunityContacts\": [\n {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"account\": {\n \"externalId\": \"<string>\",\n \"name\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123,\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ]\n },\n \"addresses\": [\n {\n \"country\": \"<string>\",\n \"street\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n ],\n \"phoneNumbers\": [\n \"<string>\"\n ],\n \"emailAddresses\": [\n \"<string>\"\n ],\n \"lastActivityAt\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\",\n \"owner\": {\n \"externalId\": \"<string>\"\n },\n \"mergedToExternalId\": \"<string>\",\n \"mergedFromExternalIds\": [\n \"<string>\"\n ],\n \"isPrimary\": true\n }\n ],\n \"opportunityUsers\": [\n {\n \"externalId\": \"<string>\",\n \"email\": \"<string>\",\n \"shareOfSale\": 123,\n \"name\": \"<string>\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "data": {
    "id": "<string>",
    "externalId": "<string>",
    "createdAt": "<string>",
    "updatedAt": "<string>",
    "organizationId": "<string>",
    "name": "<string>",
    "amount": 123,
    "closedAt": "<string>",
    "disposition": "<string>",
    "recordingId": "<string>",
    "accountId": "<string>",
    "account": null,
    "opportunityUsers": [
      null
    ]
  }
}

Authorizations

Authorization
string
header
default:<organization-api-token>
required

Organization integration token from Siro admin (Person icon → API Tokens). Send Authorization: Bearer . This is not the OAuth access token used with api.siro.ai user-scoped endpoints.

Body

application/json
externalId
string
required

The ID of the opportunity in the external system

name
string

The name of the opportunity

amount
number

The dollar amount of the opportunity

closedAt
string

The closure date of the opportunity in string format e.g. 2024-02-28 20:09:58.692

remoteCreatedAt
string

date the opportunity was created

lastActivityAt
string

date of last external update

deletedAt
string<date-time> | null

The datetime when this record was deleted in the external system

disposition
enum<string>

"WON" | "LOST" | "OPEN"

Available options:
OPEN,
LOST,
WON
accountId
string | null

Internal SIRO accountId override for this opportunity. OPTIONAL -- only use if you know the internal value of the Account as it will override the account object args.

account
object | null

The associated account for this opportunity. Note: supplying just an externalId will resolve to an already-synced account

contact
object | null

(DEPRECATED IN FAVOR OF CONTACTS ARRAY) The associated contact for this opportunity. Note: supplying just an externalId will resolve to an already-synced contact

opportunityContacts
object[]

The associated contacts for this opportunity. Note: supplying just an externalId will resolve to an already-synced contact

opportunityUsers
object[]

The users associated with this opportunity

Response

200 - application/json

Sync an opportunity

data
object
required