---
title: "Sync an opportunity"
method: PUT
path: "/v1/integrations/sync/opportunities"
---

# Sync an opportunity

`PUT /v1/integrations/sync/opportunities`

Sync an opportunity

## Request body

- object
  - `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, nullable — The datetime when this record was deleted in the external system
  - `disposition` 'OPEN' | 'LOST' | 'WON' — "WON" | "LOST" | "OPEN"
  - `accountId` string, nullable — 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, nullable — The associated account for this opportunity. Note: supplying just an externalId will resolve to an already-synced account
    - `externalId` string — The ID of the account in the external system.
    - `name` string — The name of the account
    - `latitude` number — The latitude of the account
    - `longitude` number — The longitude of the account
    - `addresses` object[] — The address(es) associated to the account
      - `country` string, required
      - `street` string, required
      - `city` string, required
      - `state` string, required
      - `zip` string, required
    - `phoneNumbers` string[] — The phone number(s) for the account
    - `emailAddresses` string[] — The email address(es) for the account
    - `lastActivityAt` string — The datetime of the last activity on this record in the external system
    - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
    - `owner` object, nullable — The owner user of this record in the external system (optional)
      - `externalId` string, required
    - `mergedToExternalId` string — If this Account was merged into another, the surviving Account externalId. Will migrate all existing references from this Account to the surviving Account.
    - `mergedFromExternalIds` string[] — If other Accounts were merged into this one, their externalIds. Will migrate all existing references from those Accounts to this Account.
  - `contact` object, nullable — (DEPRECATED IN FAVOR OF CONTACTS ARRAY) The associated contact for this opportunity. Note: supplying just an externalId will resolve to an already-synced contact
    - `externalId` string, required — The ID of the contact in the external system
    - `name` string — The name of the contact
    - `latitude` number — The latitude of the contact
    - `longitude` number — The longitude of the contact
    - `account` object, nullable — The associated account for this contact. Note: supplying just an externalId will resolve to an already-synced account
      - `externalId` string — The ID of the account in the external system.
      - `name` string — The name of the account
      - `latitude` number — The latitude of the account
      - `longitude` number — The longitude of the account
      - `addresses` object[] — The address(es) associated to the account
        - `country` string, required
        - `street` string, required
        - `city` string, required
        - `state` string, required
        - `zip` string, required
      - `phoneNumbers` string[] — The phone number(s) for the account
      - `emailAddresses` string[] — The email address(es) for the account
      - `lastActivityAt` string — The datetime of the last activity on this record in the external system
      - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
      - `owner` object, nullable — The owner user of this record in the external system (optional)
        - `externalId` string, required
      - `mergedToExternalId` string — If this Account was merged into another, the surviving Account externalId. Will migrate all existing references from this Account to the surviving Account.
      - `mergedFromExternalIds` string[] — If other Accounts were merged into this one, their externalIds. Will migrate all existing references from those Accounts to this Account.
    - `addresses` object[] — The address(es) associated with this contact
      - `country` string, required
      - `street` string, required
      - `city` string, required
      - `state` string, required
      - `zip` string, required
    - `phoneNumbers` string[] — The phone number(s) associated with this contact
    - `emailAddresses` string[] — The email address(es) associated with this contact
    - `lastActivityAt` string — The datetime of the last activity on this record in the external system
    - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
    - `owner` object, nullable — The owner of this record in the external system (optional)
      - `externalId` string, required
    - `mergedToExternalId` string — If this Contact was merged into another, the surviving Contact externalId. Will migrate all existing references from this Contact to the surviving Contact.
    - `mergedFromExternalIds` string[] — If other Contacts were merged into this one, their externalIds. Will migrate all existing references from those Contacts to this Contact.
  - `opportunityContacts` object[] — The associated contacts for this opportunity. Note: supplying just an externalId will resolve to an already-synced contact
    - `externalId` string, required — The ID of the contact in the external system
    - `name` string — The name of the contact
    - `latitude` number — The latitude of the contact
    - `longitude` number — The longitude of the contact
    - `account` object, nullable — The associated account for this contact. Note: supplying just an externalId will resolve to an already-synced account
      - `externalId` string — The ID of the account in the external system.
      - `name` string — The name of the account
      - `latitude` number — The latitude of the account
      - `longitude` number — The longitude of the account
      - `addresses` object[] — The address(es) associated to the account
        - `country` string, required
        - `street` string, required
        - `city` string, required
        - `state` string, required
        - `zip` string, required
      - `phoneNumbers` string[] — The phone number(s) for the account
      - `emailAddresses` string[] — The email address(es) for the account
      - `lastActivityAt` string — The datetime of the last activity on this record in the external system
      - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
      - `owner` object, nullable — The owner user of this record in the external system (optional)
        - `externalId` string, required
      - `mergedToExternalId` string — If this Account was merged into another, the surviving Account externalId. Will migrate all existing references from this Account to the surviving Account.
      - `mergedFromExternalIds` string[] — If other Accounts were merged into this one, their externalIds. Will migrate all existing references from those Accounts to this Account.
    - `addresses` object[] — The address(es) associated with this contact
      - `country` string, required
      - `street` string, required
      - `city` string, required
      - `state` string, required
      - `zip` string, required
    - `phoneNumbers` string[] — The phone number(s) associated with this contact
    - `emailAddresses` string[] — The email address(es) associated with this contact
    - `lastActivityAt` string — The datetime of the last activity on this record in the external system
    - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
    - `owner` object, nullable — The owner of this record in the external system (optional)
      - `externalId` string, required
    - `mergedToExternalId` string — If this Contact was merged into another, the surviving Contact externalId. Will migrate all existing references from this Contact to the surviving Contact.
    - `mergedFromExternalIds` string[] — If other Contacts were merged into this one, their externalIds. Will migrate all existing references from those Contacts to this Contact.
    - `isPrimary` boolean
  - `opportunityUsers` object[] — The users associated with this opportunity
    - `externalId` string, required — The user's externalId in the external system
    - `email` string — The user's email, preferably their email in Siro
    - `shareOfSale` number — The user's fractional share of the sale, e.g. 0.5 for 50% or 1 for 100% (Optional)
    - `name` string — The name of the user, e.g. John Smith
    - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system (Optional)

## Response `200`

Sync an opportunity

- object
  - `data` object, required
    - `id` string, required
    - `externalId` string, required — The ID of the opportunity in the external system (e.g. Salesforce)
    - `name` string, nullable — The name of the opportunity
    - `amount` number — The dollar amount of the opportunity
    - `closedAt` string — The closure date of the opportunity
    - `disposition` string — "WON" | "LOST" | "OPEN"
    - `createdAt` string, required — The date the opportunity was created
    - `updatedAt` string, required — The date the opportunity was last updated
    - `recordingId` string — The ID of the recording associated to the opportunity
    - `accountId` string
    - `organizationId` string, required
    - `account` unknown
    - `opportunityUsers` unknown[]
      - unknown

---

[API](https://skmtc.dev/siro/apis/swagger-api.md) · [All operations](https://skmtc.dev/siro/apis/swagger-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/siro/swagger-api/revisions/9995339a94c6/schema)
