openapi: 3.0.3
info:
version: 0.13.13
title: Data Listing API
contact:
name: Supaglue
email: docs@supaglue.com
url: https://supaglue.com
description: '#### Introduction
Welcome to the Provider API documentation for Data Listing. You can use this API to list standard
and custom objects to sync them from Supaglue to your database.
:::info
**NOTE**: To use the Data Listing API you need to use the Supaglue Managed Destination and select
[Standard Objects](https://docs.supaglue.com/next/platform/objects/overview#configuration) to be synced.
:::
[](https://www.postman.com/supaglue/workspace/supaglue-public/overview)
#### Base API URL
```
https://api.supaglue.io/data/v2
```
'
servers:
- url: https://api.supaglue.io/data/v2
description: Supaglue API
tags:
- name: Salesforce
description: Salesforce is a CRM Provider.
- name: Hubspot
description: Hubspot is a CRM Provider.
paths:
/salesforce/contacts:
get:
operationId: listSalesforceContacts
summary: List contacts
description: '**NOTE**: To use the Data Listing API you need to use the Supaglue Managed Destination
and select [Standard Objects](https://docs.supaglue.com/next/platform/objects/overview#configuration)
to be synced.
'
tags:
- Salesforce
security:
- x-api-key: []
parameters:
- $ref: '#/components/parameters/modified_after'
- $ref: '#/components/parameters/page_size'
- $ref: '#/components/parameters/cursor'
responses:
'200':
description: Contacts
content:
application/json:
schema:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
records:
type: array
items:
$ref: '#/components/schemas/salesforce_contact'
required:
- pagination
- records
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
parameters:
- $ref: '#/components/parameters/x-customer-id'
/salesforce/accounts:
get:
operationId: listSalesforceAccounts
summary: List accounts
description: '**NOTE**: To use the Data Listing API you need to use the Supaglue Managed Destination
and select [Standard Objects](https://docs.supaglue.com/next/platform/objects/overview#configuration)
to be synced.
'
tags:
- Salesforce
security:
- x-api-key: []
parameters:
- $ref: '#/components/parameters/modified_after'
- $ref: '#/components/parameters/page_size'
- $ref: '#/components/parameters/cursor'
responses:
'200':
description: Accounts
content:
application/json:
schema:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
records:
type: array
items:
$ref: '#/components/schemas/salesforce_account'
required:
- pagination
- records
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
parameters:
- $ref: '#/components/parameters/x-customer-id'
/hubspot/contacts:
get:
operationId: listHubspotContacts
summary: List contacts
description: '**NOTE**: To use the Data Listing API you need to use the Supaglue Managed Destination
and select [Standard Objects](https://docs.supaglue.com/next/platform/objects/overview#configuration)
to be synced.
'
tags:
- Hubspot
security:
- x-api-key: []
parameters:
- $ref: '#/components/parameters/modified_after'
- $ref: '#/components/parameters/page_size'
- $ref: '#/components/parameters/cursor'
responses:
'200':
description: Contacts
content:
application/json:
schema:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
records:
type: array
items:
$ref: '#/components/schemas/hubspot_contact'
required:
- pagination
- records
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
parameters:
- $ref: '#/components/parameters/x-customer-id'
/hubspot/companies:
get:
operationId: listHubspotCompanies
summary: List companies
description: '**NOTE**: To use the Data Listing API you need to use the Supaglue Managed Destination
and select [Standard Objects](https://docs.supaglue.com/next/platform/objects/overview#configuration)
to be synced.
'
tags:
- Hubspot
security:
- x-api-key: []
parameters:
- $ref: '#/components/parameters/modified_after'
- $ref: '#/components/parameters/page_size'
- $ref: '#/components/parameters/cursor'
responses:
'200':
description: Companies
content:
application/json:
schema:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
records:
type: array
items:
$ref: '#/components/schemas/hubspot_company'
required:
- pagination
- records
'400':
$ref: '#/components/responses/badRequest'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/notFound'
'499':
$ref: '#/components/responses/remoteProviderError'
'500':
$ref: '#/components/responses/internalServerError'
'501':
$ref: '#/components/responses/notImplemented'
parameters:
- $ref: '#/components/parameters/x-customer-id'
components:
securitySchemes:
x-api-key:
type: apiKey
name: x-api-key
in: header
description: API key to allow developers to access the API
schemas:
salesforce_contact:
type: object
properties:
Id:
type: string
description: The unique identifier for this contact.
Description:
type: string
nullable: true
description: A description of the contact.
Email:
type: string
nullable: true
description: The contact's email address.
AccountId:
type: string
nullable: true
description: ID of the account that's the parent of this contact. This is a relationship field.
FirstName:
type: string
nullable: true
description: The contact's first name up to 40 characters.
HomePhone:
type: string
nullable: true
description: The contact's home phone number.
IsDeleted:
type: boolean
description: Indicates whether the object has been moved to the Recycle Bin (true) or not (false).
LastActivityDate:
type: string
format: date-time
example: '2022-02-27T00:00:00Z'
nullable: true
description: The date of the last activity on a contact. The LastActivityDate is set to whichever
is more recent -- the LastActivityDate of a related task or event or the LastModifiedDate
of a contact's record.
LastName:
type: string
nullable: true
description: The contact's last name. Maximum size is 80 characters.
LeadSource:
type: string
nullable: true
description: The source of the lead.
MailingCity:
type: string
nullable: true
description: The city of the mailing address of this contact.
MailingCountry:
type: string
nullable: true
description: The country of the mailing address of this contact.
MailingPostalCode:
type: string
nullable: true
description: The postal code of the mailing address of this contact.
MailingState:
type: string
nullable: true
description: The state of the mailijng address of this contact.
MailingStreet:
type: string
nullable: true
description: The street of the mailing address of this contact.
MobilePhone:
type: string
nullable: true
description: The contact's mobile phone number.
OwnerId:
type: string
nullable: true
description: ID of the user who owns this contact. This is a relationship field.
Phone:
type: string
nullable: true
description: The contact's phone number.
Fax:
type: string
nullable: true
description: The contact's fax number.
Title:
type: string
nullable: true
description: The contact's title.
CreatedDate:
type: string
format: date-time
example: '2022-02-27T00:00:00Z'
description: The date and time when this contact was created.
SystemModstamp:
type: string
format: date-time
example: '2022-02-27T00:00:00Z'
description: The date and time when this contact was last modified.
raw_data:
type: object
description: The raw data returned by the provider.
additionalProperties: true
required:
- Id
- Description
- Email
- AccountId
- FirstName
- HomePhone
- IsDeleted
- LastActivityDate
- LastName
- LeadSource
- MailingCity
- MailingCountry
- MailingPostalCode
- MailingState
- MailingStreet
- MobilePhone
- OwnerId
- Phone
- Fax
- Title
- CreatedDate
- SystemModstamp
- raw_data
salesforce_account:
type: object
properties:
Id:
type: string
description: The unique identifier for this account.
Description:
type: string
nullable: true
description: A description of the contact.
BillingCity:
type: string
nullable: true
description: The city of the billing address of this contact.
BillingCountry:
type: string
nullable: true
description: The country of the billing address of this contact.
BillingPostalCode:
type: string
nullable: true
description: The postal code of the billing address of this contact.
BillingState:
type: string
nullable: true
description: The state of the billing address of this contact.
BillingStreet:
type: string
nullable: true
description: The street of the billing address of this contact.
ShippingCity:
type: string
nullable: true
description: The city of the shipping address of this contact.
ShippingCountry:
type: string
nullable: true
description: The country of the shipping address of this contact.
ShippingPostalCode:
type: string
nullable: true
description: The postal code of the shipping address of this contact.
ShippingState:
type: string
nullable: true
description: The state of the shipping address of this contact.
ShippingStreet:
type: string
nullable: true
description: The street of the shipping address of this contact.
Phone:
type: string
nullable: true
description: The account's phone number.
Fax:
type: string
nullable: true
description: The account's fax number.
Industry:
type: string
nullable: true
description: The type of industry in which the account operates.
LastActivityDate:
type: string
nullable: true
example: '2022-02-27T00:00:00Z'
format: date-time
description: The date of the last activity on an account. The LastActivityDate is set to whichever
is more recent -- the LastActivityDate of a related task or event or the LastModifiedDate
of an account's record.
Name:
type: string
nullable: true
description: The name of the account. Maximum size is 255 characters.
NumberOfEmployees:
type: integer
nullable: true
description: The number of employees that work at the account.
OwnerId:
type: string
nullable: true
description: ID of the user who owns this account. This is a relationship field.
Website:
type: string
nullable: true
description: The account's website URL.
IsDeleted:
type: boolean
description: Indicates whether the object has been moved to the Recycle Bin (true) or not (false).
CreatedDate:
type: string
format: date-time
example: '2022-02-27T00:00:00Z'
description: The date and time when this contact was created.
SystemModstamp:
type: string
format: date-time
example: '2022-02-27T00:00:00Z'
description: The date and time when this contact was last modified.
raw_data:
type: object
description: The raw data returned by the provider.
additionalProperties: true
required:
- Id
- Description
- OwnerId
- BillingCity
- BillingCountry
- BillingPostalCode
- BillingState
- BillingStreet
- ShippingCity
- ShippingCountry
- ShippingPostalCode
- ShippingState
- ShippingStreet
- Phone
- Fax
- Industry
- LastActivityDate
- Name
- NumberOfEmployees
- Website
- IsDeleted
- CreatedDate
- SystemModstamp
- raw_data
hubspot_contact:
type: object
properties:
id:
type: string
example: '501'
description: the unique identifier for the contact. This field is set automatically and cannot
be edited. This can be used when updating contacts through importing or through API.
email:
type: string
nullable: true
example: team@supaglue.com
description: the contact's primary email address.
associatedcompanyid:
type: string
nullable: true
example: '101'
description: ''
firstname:
type: string
nullable: true
example: Jane
description: the contact's first name.
phone:
type: string
nullable: true
example: (650) 450-8812
description: the contact's primary phone number. The phone number is validated and formatted
automatically by HubSpot based on the country code. You can select to turn off automatic formatting
on a contact record, either when editing the Phone number property, or adding a phone number
to call.
is_deleted:
type: boolean
example: false
description: Indicates whether the object has been moved to the Recycle Bin (true) or not (false).
lastname:
type: string
nullable: true
example: Doe
description: the contact's last name.
city:
type: string
nullable: true
example: Palo Alto
description: the contact's city of residence.
country:
type: string
nullable: true
example: United States
description: the contact's country of residence. This might be set via import, form, or integration.
zip:
type: string
nullable: true
example: '94303'
description: the contact's zip code.
state:
type: string
nullable: true
example: CA
description: the contact's state of residence.
address:
type: string
nullable: true
example: 4 Giro's Passage
description: 'the contact''s street address, including apartment or unit #.'
mobilephone:
type: string
nullable: true
example: (650) 450-8811
description: the contact's mobile phone number. The phone number is validated and formatted
automatically by HubSpot based on the country code. You can select to turn off automatic formatting
on a contact record, either when editing the Mobile phone number property, or adding a phone
number to call.
hubspot_owner_id:
type: string
nullable: true
example: '1450461'
description: the owner of the contact. This can be any HubSpot user or Salesforce integration
user and can be set manually or via Workflows. You can assign additional users to the contact
record by creating a custom HubSpot user field type property.
fax:
type: string
nullable: true
example: (650) 450-8810
description: the contact's primary fax number.
jobtitle:
type: string
nullable: true
example: CEO
description: the contact's job title.
createdate:
type: string
format: date-time
example: '2023-08-01T20:58:17.725Z'
description: the date that the contact was created in your HubSpot account.
notes_last_updated:
type: string
format: date-time
example: '2023-08-01T20:58:17.725Z'
description: the last date and time a note, call, tracked and logged sales email, meeting, LinkedIn/SMS/WhatsApp
message, task, or chat was logged on the contact record. This is set automatically by HubSpot
based on the most recent date/time set for an activity. For example, if a user logs a call
and indicates that it occurred the day before, the Last activity date property will show yesterday's
date.
raw_data:
type: object
description: The raw data returned by the provider.
additionalProperties: true
required:
- id
- email
- associatedcompanyid
- firstname
- phone
- is_deleted
- lastname
- city
- country
- zip
- state
- address
- mobilephone
- hubspot_owner_id
- fax
- jobtitle
- createdate
- notes_last_updated
- raw_data
hubspot_company:
type: object
properties:
id:
type: string
example: '101'
description: the unique identifier for the company. This field is set automatically and cannot
be edited. This can be used when updating companies through importing or through API.
description:
type: string
nullable: true
example: Open-source developer platform for customer-facing integrations
description: a short statement about the company's mission and goals.
city:
type: string
nullable: true
example: San Francisco
description: the city where the company is located.
country:
type: string
nullable: true
example: United States
description: the country where the company is located.
zip:
type: string
nullable: true
example: '94025'
description: postal or zip code for the company.
state:
type: string
nullable: true
example: CA
description: the state or region where the company is located.
address:
type: string
nullable: true
example: 525 Brannan St
description: the street address of the company.
phone:
type: string
nullable: true
example: (650) 450-8810
description: the company's primary phone number.
industry:
type: string
nullable: true
example: COMPUTER SOFTWARE
description: the type of business the company performs. By default, this property has approximately
150 pre-defined options to select from. These options cannot be deleted, as they are used
by HubSpot Insights, but you can add new custom options to meet your needs.
name:
type: string
nullable: true
example: Supaglue
description: the name of the company.
numberofemployees:
type: string
nullable: true
example: '3000'
description: total number of people who work for the company.
hubspot_owner_id:
type: string
nullable: true
example: '101'
description: the HubSpot user that the company is assigned to. You can assign additional users
to a company record by creating a custom HubSpot user property.
domain:
type: string
nullable: true
example: uos.com.sg
description: the company's website domain. HubSpot Insights uses this domain to provide you
with basic information about the company. Every property marked with an asterisk (*) can be
populated automatically by HubSpot Insights once the domain name is populated.
website:
type: string
nullable: true
example: http://www.uos.com.sg
description: the company's web address. Filling in this property will also fill in Company domain
name.
is_deleted:
type: boolean
example: false
description: ''
createdate:
type: string
format: date-time
example: '2023-08-01T20:58:17.725Z'
description: the date the company was added to your account.
notes_last_updated:
type: string
format: date-time
example: '2023-08-01T20:58:17.725Z'
description: the last date and time a note, call, tracked and logged sales email, meeting, LinkedIn/SMS/WhatsApp
message, task, or chat was logged on the company record. This is set automatically by HubSpot
based on the most recent date/time set for an activity. For example, if a user logs a call
and indicates that it occurred the day before, the Last activity date property will show yesterday's
date.
raw_data:
type: object
description: The raw data returned by the provider.
additionalProperties: true
required:
- id
- description
- hubspot_owner_id
- city
- country
- zip
- state
- address
- phone
- fax
- industry
- name
- numberofemployees
- website
- domain
- is_deleted
- createdate
- notes_last_updated
- raw_data
pagination:
type: object
properties:
next:
type: string
nullable: true
example: eyJpZCI6IjQyNTc5ZjczLTg1MjQtNDU3MC05YjY3LWVjYmQ3MDJjNmIxNCIsInJldmVyc2UiOmZhbHNlfQ==
previous:
type: string
nullable: true
example: eyJpZCI6IjBjZDhmYmZkLWU5NmQtNDEwZC05ZjQxLWIwMjU1YjdmNGI4NyIsInJldmVyc2UiOnRydWV9
total_count:
type: number
example: 100
required:
- next
- previous
errors:
type: array
items:
type: object
properties:
id:
type: string
description: A unique identifier for the instance of the error. Provide this to support when
contacting Supaglue.
example: 9366efb4-8fb1-4a28-bfb0-8d6f9cc6b5c5
detail:
type: string
description: A detailed description of the error.
example: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\"
does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property
\"__about_us\" does not exist"}]'
problem_type:
type: string
description: The Supaglue error code associated with the error.
example: MISSING_REQUIRED_FIELD
deprecated: true
title:
type: string
description: A brief description of the error. The schema and type of message will vary by
Provider.
example: 'Property values were not valid
'
code:
type: string
description: The Supaglue error code associated with the error.
example: MISSING_REQUIRED_FIELD
status:
type: string
description: The HTTP status code associated with the error.
example: '400'
meta:
type: object
description: Additional metadata about the error.
properties:
cause:
type: object
description: The cause of the error. Usually the underlying error from the remote Provider.
example:
code: 400
body:
status: error
message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\"
does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property
\"__about_us\" does not exist"}]'
correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
category: VALIDATION_ERROR
headers:
access-control-allow-credentials: 'false'
cf-cache-status: DYNAMIC
cf-ray: 8053d17b9dae9664-SJC
connection: close
content-length: '361'
content-type: application/json;charset=utf-8
date: Mon, 11 Sep 2023 23:51:22 GMT
nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}'
server: cloudflare
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: origin, Accept-Encoding
x-content-type-options: nosniff
x-envoy-upstream-service-time: '91'
x-evy-trace-listener: listener_https
x-evy-trace-route-configuration: listener_https/all
x-evy-trace-route-service-name: envoyset-translator
x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2
x-evy-trace-virtual-host: all
x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
x-hubspot-ratelimit-interval-milliseconds: '10000'
x-hubspot-ratelimit-max: '100'
x-hubspot-ratelimit-remaining: '99'
x-hubspot-ratelimit-secondly: '10'
x-hubspot-ratelimit-secondly-remaining: '9'
x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
x-trace: 2B1B4386362759B6A4C34802AD168B803DDC1BE770000000000000000000
origin:
type: string
enum:
- remote-provider
- supaglue
description: The origin of the error.
example: remote-provider
application_name:
type: string
description: The name of the application that generated the error.
example: MyCompany Production
required:
- origin
additionalProperties: true
required:
- id
- detail
- problem_type
- title
- code
- status
- meta
example:
- meta:
cause:
code: 400
body:
status: error
message: 'Property values were not valid: [{"isValid":false,"message":"Property \"__about_us\"
does not exist","error":"PROPERTY_DOESNT_EXIST","name":"__about_us","localizedErrorMessage":"Property
\"__about_us\" does not exist"}]'
correlationId: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
category: VALIDATION_ERROR
headers:
access-control-allow-credentials: 'false'
cf-cache-status: DYNAMIC
cf-ray: 8053d17b9dae9664-SJC
connection: close
content-length: '361'
content-type: application/json;charset=utf-8
date: Mon, 11 Sep 2023 23:51:22 GMT
nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
report-to: '{"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=FgwuXObO%2Fz6ahUJKsxjDLaXTWjooJ8tB0w4%2B%2BKaulGStx0FGkn1PoJoOx2KrFMfihzNdfAqikq7CmgbdlmwKB8hkmp3eTb68qpg10LXFlRgiSqRhbWM7yYSfo8CXmPBc"}],"group":"cf-nel","max_age":604800}'
server: cloudflare
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: origin, Accept-Encoding
x-content-type-options: nosniff
x-envoy-upstream-service-time: '91'
x-evy-trace-listener: listener_https
x-evy-trace-route-configuration: listener_https/all
x-evy-trace-route-service-name: envoyset-translator
x-evy-trace-served-by-pod: iad02/hubapi-td/envoy-proxy-6c94986c56-9xsh2
x-evy-trace-virtual-host: all
x-hubspot-correlation-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
x-hubspot-ratelimit-interval-milliseconds: '10000'
x-hubspot-ratelimit-max: '100'
x-hubspot-ratelimit-remaining: '99'
x-hubspot-ratelimit-secondly: '10'
x-hubspot-ratelimit-secondly-remaining: '9'
x-request-id: ac94252c-90b5-45d2-ad1d-9a9f7651d7d2
x
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/supaglue/refs/heads/main/openapi/supaglue-data-api-openapi.yml