Vendasta Sales Accounts API
The Sales Accounts API from Vendasta — 4 operation(s) for sales accounts.
The Sales Accounts API from Vendasta — 4 operation(s) for sales accounts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/vendasta-sales-accounts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Platform REST Sales Accounts API
version: Evergreen
servers:
- url: https://prod.apigateway.co/platform
description: Production
- description: Demo
url: https://demo.apigateway.co/platform
- description: Local
url: '{local}/platform'
- url: http://localhost:11001/platform
description: Localhost
tags:
- name: Sales Accounts
paths:
/salesAccounts:
parameters: []
post:
summary: Create Sales Account
operationId: post-salesAccounts
responses:
'201':
description: Created
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/salesAccounts'
links:
type: object
properties:
self:
type: string
format: uri
description: The address of the newly created business location
examples:
Return Example (with ID):
value:
data:
id: AG-1234567
type: salesAccounts
attributes:
tags:
- tag1
- tag2
customerIdentifier: User-defined-id-123123
name: Company Example
address:
line1: 109 8th Street E.
line2: Suite 23
city: Saskatoon
stateCode: CA
zip: S7M 1R3
postalCode: S7M 1R3
regionCode: CA-SK
countryCode: CA
phoneNumbers:
- '+13068800001'
serviceAreaBusiness: true
geoCoordinate:
latitude: -90
longitude: -180
relationships:
salesPeople:
data:
- id: U-123123-123123
type: users
businessPartner:
data:
type: partners
id: ABC
businessCategories:
data:
- type: businessCategories
id: active:diving:freediving
type: salesAccounts
headers:
Location:
schema:
type: string
format: uri
description: The address of the newly created business location
requestBody:
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/salesAccounts'
examples:
Insert Sales Account Example:
value:
data:
type: salesAccounts
attributes:
tags:
- tag1
- tag2
customerIdentifier: User-defined-id-123123
name: Company Example
address:
line1: 109 8th Street E.
line2: Suite 23
city: Saskatoon
stateCode: CA
zip: S7M 1R3
postalCode: S7M 1R3
regionCode: CA-SK
countryCode: CA
phoneNumbers:
- '+13068800001'
serviceAreaBusiness: true
geoCoordinate:
latitude: -90
longitude: -180
relationships:
salesPeople:
data:
- id: U-123123-123123
type: users
businessPartner:
data:
type: partners
id: ABC
businessCategories:
data:
- type: businessCategories
id: active:diving:freediving
x-lifecycle:
status: trustedTester
description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`
Used to record basic data for a new location.
The following members must be populated during creation:
- `relationships.businessPartner.data.id`
- `attributes.name`
- `attributes.address.countryCode` as well as other address fields based on the norms of the country.'
parameters:
- schema:
type: string
example: Bearer <Access Token>
pattern: ^Bearer\s\S+
in: header
name: Authorization
description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
required: true
- schema:
type: string
default: application/vnd.api+json
enum:
- application/vnd.api+json
in: header
name: Content-Type
required: true
description: Indicates the format of the request body being sent. In most cases you will want `application/vnd.api+json`
security:
- OAuth2Demo:
- sales.account
- OAuth2Prod:
- sales.account
tags:
- Sales Accounts
options:
operationId: options-salesAccounts
summary: List valid HTTP verbs for /salesAccounts
description: 'Used solely for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user''s security. You should not call this operation directly. '
responses:
'204':
description: No Content
tags:
- Sales Accounts
get:
summary: List Sales Accounts
operationId: get-salesAccounts
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/salesAccounts'
links:
type: object
properties:
self:
type: string
format: uri
first:
type: string
description: Provides a link back to the first page of results
format: uri
next:
type: string
description: The URI at which the next batch of accounts can be gotten from
format: uri
meta:
type: object
x-stoplight:
id: hbu5nqur0qnmk
properties:
error:
type: array
x-stoplight:
id: s8dssb6fgtlig
items:
x-stoplight:
id: lxynuyj0i8hm6
type: object
properties:
ID:
type: string
x-stoplight:
id: g0v15e1y213zp
example: AG-XXXXXXXX
readOnly: true
Message:
type: string
x-stoplight:
id: pfb4q0j426bd5
example: Account not found
examples:
Return Example:
value:
id: AG-1234567
type: salesAccounts
attributes:
tags:
- tag1
- tag2
customerIdentifier: User-defined-id-123123
name: Company Example
address:
line1: 109 8th Street E.
line2: Suite 23
city: Saskatoon
stateCode: CA
zip: S7M 1R3
postalCode: S7M 1R3
regionCode: CA-SK
countryCode: CA
phoneNumbers:
- '+13068800001'
serviceAreaBusiness: true
geoCoordinate:
latitude: -90
longitude: -180
relationships:
salesPeople:
data:
- id: U-123123-123123
type: users
customFields:
data:
- id: AG-1234567
type: customFields
businessPartner:
data:
type: partners
id: ABC
businessCategories:
data:
- type: businessCategories
id: active:diving:freediving
type: salesAccounts
included:
- id: AG-1231231
type: salesAccountCustomFields
partnerFields:
- fieldId: FieldID-1231231-12312312
stringValue: Text value
title: Title of field FieldID-1231231
description: Description of field FieldID-1231231
fieldType: string
description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`
Produces a list of sales accounts'
parameters:
- schema:
type: string
in: header
name: Authorization
description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
required: true
- schema:
type: string
in: query
name: filter[businessPartner.id]
description: Return business locations for the specified partner
required: true
- schema:
type: string
in: query
description: The cursor stores all your filters and current location in the list to allow paging over the results in smaller batches. The value will be provided in the response links. [Pagination Docs](https://developers.vendasta.com/platform/ZG9jOjEwMTkzMDg0-overview#paging).
name: page[cursor]
- schema:
type: string
minLength: 1
maxLength: 25
default: '25'
in: query
description: The maximum number of accounts you would like returned in a single batch. Use the links.next member in the response to get the remainder. Any number higher than 25 will be lowered to 25. [Pagination Docs](https://developers.vendasta.com/platform/ZG9jOjEwMTkzMDg0-overview#paging).
name: page[limit]
- schema:
type: string
enum:
- customFields
- salesPeople
- businessCategories
uniqueItems: true
in: query
name: include
description: A list of relationships where you would like the related records embedded in the response. This can be used to save a network request.
- schema:
type: string
enum:
- createdAt
- -createdAt
- name
- -name
- updatedAt
- -updatedAt
default: -updatedAt
in: query
name: sort
description: Sort sales accounts based on selected option. Defaulted to -updatedAt (Desc updatedAt)
- schema:
type: string
in: query
name: filter[customerIdentifier]
description: Return the accounts within the partner that have given customer identifier.
- schema:
type: boolean
in: query
description: useNewCategory is of type boolean which returns new/old business categories.If value of useNewCategory is true then it will return new business categories , if false then it will return old business categories.In case of not set, it will return categories as per feature flag.
name: useNewCategory
- schema:
type: string
example: name,phoneNumbers,hours
in: query
name: fields[salesAccounts]
description: 'Filter salesAccounts by the following fields: name, phoneNumbers, customerIdentifier, geoCoordinate, serviceAreaBusiness, hours, and updatedAt. These fields will be included in the response.'
- schema:
type: array
items:
type: string
example: '["AG-123","AG-456"]'
in: query
name: filter[id]
description: Return accounts for given ids. For this filter ,We are not supporting pagination.
security:
- OAuth2Demo:
- sales.account
- OAuth2Prod:
- sales.account
tags:
- Sales Accounts
x-lifecycle:
status: trustedTester
/salesAccounts/{id}:
parameters:
- schema:
type: string
name: id
in: path
required: true
get:
summary: Get Sales Accounts
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/salesAccounts'
links:
type: object
properties:
self:
type: string
examples:
example-1:
value:
data:
id: AG-1234567
type: salesAccounts
attributes:
tags:
- tag1
- tag2
customerIdentifier: User-defined-id-123123
name: Company Example
address:
line1: 109 8th Street E.
line2: Suite 23
city: Saskatoon
stateCode: CA
zip: S7M 1R3
postalCode: S7M 1R3
regionCode: CA-SK
countryCode: CA
phoneNumbers:
- '+13068800001'
serviceAreaBusiness: true
geoCoordinate:
latitude: -90
longitude: -180
relationships:
salesPeople:
data:
- id: U-123123-123123
type: users
customFields:
data:
- id: AG-1234567
type: customFields
businessPartner:
data:
type: partners
id: ABC
businessCategories:
data:
- type: businessCategories
id: active:diving:freediving
type: salesAccounts
included:
- id: AG-1231231
type: salesAccountCustomFields
partnerFields:
- fieldId: FieldID-1231231-12312312
stringValue: Text value
title: Title of field FieldID-1231231
description: Description of field FieldID-1231231
fieldType: string
operationId: get-salesAccounts-by-id
x-lifecycle:
status: trustedTester
description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`
Returns basic data about the sales account.'
parameters:
- schema:
type: string
example: Bearer <Access Token>
pattern: ^Bearer\s\S+
in: header
name: Authorization
description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
required: true
- schema:
type: boolean
in: query
description: useNewCategory is of type boolean which returns new/old business categories.If value of useNewCategory is true then it will return new business categories , if false then it will return old business categories.In case of not set, it will return categories as per feature flag.
name: useNewCategory
- schema:
type: string
example: name,phoneNumbers,hours
in: query
name: fields[salesAccounts]
description: 'Filter salesAccounts by the following fields: name, phoneNumbers, customerIdentifier, geoCoordinate, serviceAreaBusiness, hours, and updatedAt. These fields will be included in the response.'
security:
- OAuth2Demo:
- sales.account
- OAuth2Prod:
- sales.account
tags:
- Sales Accounts
options:
operationId: options-salesAccounts-by-id
summary: List valid HTTP verbs for /salesAccounts/{id}
description: 'Used solely for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user''s security. You should not call this operation directly. '
responses:
'204':
description: No Content
tags:
- Sales Accounts
patch:
summary: Update Sales Account
operationId: patch-salesAccounts-by-id
tags:
- Sales Accounts
description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`
Update the existing business location.
Only the root ID and type fields are required. All others are optional and will keep their original value if omitted.'
x-lifecycle:
status: trustedTester
parameters:
- schema:
type: string
example: Bearer <Access Token>
pattern: ^Bearer\s\S+
in: header
name: Authorization
description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
required: true
- schema:
type: string
default: application/vnd.api+json
enum:
- application/vnd.api+json
in: header
name: Content-Type
required: true
description: Indicates the format of the request body being sent. In most cases you will want `application/vnd.api+json`
security:
- OAuth2Demo:
- sales.account
- OAuth2Prod:
- sales.account
responses:
'200':
description: Ok
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/salesAccounts'
links:
type: object
properties:
self:
type: string
format: uri
description: The address of the updated business location
examples:
example-1:
value:
data:
id: AG-1234567
type: salesAccounts
attributes:
tags:
- tag1
- tag2
customerIdentifier: User-defined-id-123123
name: Company Example
address:
line1: 109 8th Street E.
line2: Suite 23
city: Saskatoon
stateCode: CA
zip: S7M 1R3
postalCode: S7M 1R3
regionCode: CA-SK
countryCode: CA
phoneNumbers:
- '+13068800001'
serviceAreaBusiness: true
geoCoordinate:
latitude: -90
longitude: -180
relationships:
salesPeople:
data:
- id: U-123123-123123
type: users
businessPartner:
data:
type: partners
id: ABC
businessCategories:
data:
- type: businessCategories
id: active:diving:freediving
type: salesAccounts
headers: {}
requestBody:
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/salesAccounts'
examples:
example-1:
value:
data:
id: AG-1234567
type: salesAccounts
attributes:
tags:
- tag1
- tag2
customerIdentifier: User-defined-id-123123
name: Company Example
address:
line1: 109 8th Street E.
line2: Suite 23
city: Saskatoon
stateCode: CA
zip: S7M 1R3
postalCode: S7M 1R3
regionCode: CA-SK
countryCode: CA
phoneNumbers:
- '+13068800001'
serviceAreaBusiness: true
geoCoordinate:
latitude: -90
longitude: -180
relationships:
salesPeople:
data:
- id: U-123123-123123
type: users
businessPartner:
data:
type: partners
id: ABC
businessCategories:
data:
- type: businessCategories
id: active:diving:freediving
type: salesAccounts
/salesAccounts/{id}/relationships/customFields:
parameters:
- schema:
type: string
name: id
in: path
required: true
get:
summary: Get Custom Fields ID
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
links:
type: object
properties:
related:
type: string
self:
type: string
data:
type: object
properties:
type:
type: string
example: salesAccountCustomFields
id:
type: string
example: AG-1234123412
examples:
Relationship Example:
value:
links:
related: https://prod.apigateway.co/platform/salesAccounts/AG-1234123412/customFields
self: https://prod.apigateway.co/platform/salesAccounts/AG-1234567812/relationships/customFields
data:
type: salesAccountCustomFields
id: AG-1234123412
operationId: get-salesAccountCustomFieldsID-by-salesAccount
description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`
Returns a reference to the custom metadata for this sales account. Use the path without `/relationships/` in it to get the actual data.
Attributes can be set up at the partner administration page in Partner Center.'
security:
- OAuth2Demo:
- sales.account
- OAuth2Prod:
- sales.account
x-lifecycle:
status: trustedTester
tags:
- Sales Accounts
parameters:
- schema:
type: string
example: Bearer <Access Token>
pattern: ^Bearer\s\S+
in: header
name: Authorization
description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
required: true
options:
summary: List valid HTTP verbs for /salesAccounts/{id}/relationships/customFields
operationId: options-salesAccountCustomFieldsID-by-salesAccount
responses:
'204':
description: No Content
description: 'Used solely for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user''s security. You should not call this operation directly. '
tags:
- Sales Accounts
/salesAccounts/{id}/customFields:
parameters:
- schema:
type: string
name: id
in: path
required: true
get:
summary: Get Custom Fields
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/salesAccountCustomFields'
links:
type: object
properties:
self:
type: string
format: uri
first:
type: string
description: Provides a link back to the first page of results
format: uri
next:
type: string
description: The URI at which the next batch of fields can be gotten from
format: uri
examples:
Return Example:
value:
data:
id: AG-1231231
type: salesAccountCustomFields
attributes:
partnerFields:
- fieldId: FieldID-123448ca-abc0-abc5-abc2-abc640bf4b99
integerValue: 1000
title: Title of 123448ca field
description: Description for 123448ca field
fieldType: integer
- fieldId: FieldID-987448ca-abc0-abc5-abc2-abc640bf4b99
dateValue: A good date value
title: Title of 987448ca field
description: Description for 987448ca field
fieldType: date
- fieldId: FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99
stringValue: A good string value
title: Title of abc448ca field
description: Description for abc448ca field
fieldType: string
operationId: get-salesAccountCustomFields-by-salesAccount
description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`
This endpoint acts like a alias to [Get Sales Account Custom Fields by ID endpoint](b3A6MzYxMTM5MTY-get-sales-account-custom-data-by-id). It returns custom fields about a sales account.'
security:
- OAuth2Demo:
- sales.account
- OAuth2Prod:
- sales.account
x-lifecycle:
status: trustedTester
tags:
- Sales Accounts
parameters:
- schema:
type: string
example: Bearer <Access Token>
pattern: ^Bearer\s\S+
in: header
name: Authorization
description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
required: true
options:
summary: List valid HTTP verbs for /salesAccounts/{id}/customFields
operationId: options-salesAccountCustomFields-by-salesAccount
responses:
'204':
description: No Content
description: 'Used solely for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user''s security. You should not call this operation directly. '
tags:
- Sales Accounts
components:
schemas:
businessCategories:
title: Business Category
type: object
x-lifecycle:
status: trustedTester
description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`
The taxonomy to be applied to business locations indicating the type of services that they provide.'
x-tags:
- Business Categories
properties:
id:
type: string
example: AG-1234567
readOnly: true
type:
type: string
default: businessCategories
enum:
- businessCategories
readOnly: true
attributes:
type: object
properties:
name:
type: string
description: A user friendly description for the category. It will have been translated based on the Accept-Language header.
readOnly: true
isActive:
type: boolean
description: Whether the category is active. Inactive categories may still be returned when looking up by ID but should not be used for new assignments.
readOnly: true
users:
title: Users
type: object
x-lifecycle:
status: proposed
description: "[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Proposed`\n\t\nA “user” is a person or bot that could potentially interact with the platform. If they have not been granted access to any features they will not be able to do anything after logging in.\n\nA person who is the customer of multiple businesses may have multiple separate user records within the platform so it is important to always include an organization filter when searching by email or name. \n\nTo learn more and view sample requests visit the [user management guide](../../../../../docs/Guides/Users.md)"
x-tags:
- Users
properties:
type:
type: string
default: users
enum:
- users
id:
type: string
description: 'The id will be
# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vendasta/refs/heads/main/openapi/vendasta-sales-accounts-api-openapi.yml