Procurify API Documentation

Download OpenAPI specification:Download

Disclaimer

  • Procurify’s API is evolving and is subject to change at any time. Additionally, aspects of the API are undocumented, including certain methods, events, and properties. Given that both documented and undocumented aspects of the Procurify API may change at any time, the client relies on the API at their own risk.
  • Client (and/or client’s representative) is responsible for building, testing, and maintaining any API connection between Procurify and any other tool. Procurify’s responsibility strictly involves providing support on clarifications in regards to the issued API document.
  • Procurify’s API is offered on an “as is” and “as available” basis, without warranties of any kind. By accepting this agreement, you agree that you have read the current API documentation, and accept the API functionality in its current state including current limitations. For questions and clarification around the documentation, please contact support@procurify.com.
  • In accordance with Section 2.(b) of our Subscription Services Agreement, Procurify reserves the right to deny access to our API at any time. If your API requests are too large and time out, contact us immediately to avoid possible suspension of access.
  • You may not attempt to reverse engineer or otherwise derive source code, trade secrets, or know-how in the Procurify API or portion thereof. You may not use the Procurify API to replicate or compete with core products or services offered by Procurify.

oauth

Authenticate with OAuth

Getting access to Procurify API involves the following three steps:

  1. Request credentials for your Procurify account.
  2. Request access token using your credentials.
  3. Use access token to access Procurify API resources.

Request credentials for your Procurify account.

The first step is to request credentials from Procurify. Your role must have access to manage integrations settings in order to request API credentials. You can request API credentials by going to go:

  1. Settings in the left navigation bar.
  2. Integrations in the Tools section.
  3. View button beside API item

This page will allow you to enter an optional description of the application you are developing with the Procurify API and once you are ready, click on “Create Application”. On the next screen, you will be presented with a Client ID and a Client Secret. You will need to copy and save these credentials securely. Please note that the Client Secret is only presented once.

Request access token using your credentials.

Once you have the client credentials, you will need to request an access token using these credentials that can be used as a bearer token when making a request to Procurify API. You will need the following information to request an access token:

Info Value
Token URL: https://<your-domain>.procurify.com/oauth/token
Client ID: From the previous step
Client Secret: From the previous step
Audience: https://api.procurify.com/
Grant Type: client_credentials

Once you have the access token, you will need to cache it until it expires (24 hrs). Please let Procurify support know if you would like help with this.

An example request and response using cURL (replace client id and client secret)

$ curl -H "content-type: application/json" -X POST \
    -d '{"client_id": "~your_client_id~", \
         "client_secret": "~your_client_secret~", \
         "audience": "https://api.procurify.com/", \
         "grant_type": "client_credentials"}' \
    https://<your-domain>.procurify.com/oauth/token

{"access_token": "~your-access-token~",
 "scope": "urn:procurify-api:domain:~your_domain~ urn:procurify-api:email:~your_email~",
 "expires_in": 86400,
 "token_type": "Bearer"}

Use access token to access Procurify API resources.

Once you have the access token, you can make requests to Procurify API resources. You will need to set the following headers when making the request.

Key Value
Authorization: Bearer access_token from previous step
X-Procurify-Client: api

An example request and response using cURL (replace access token and your procurify domain)

$ curl -H "Authorization: Bearer ~access_token~" \
    -H "X-Procurify-Client: api" \
    https://<your-domain>.procurify.com/api/v3/vendors/

    {"data":[{"id":1,"name":"OTHER","active":true,"addressLineOne":"OTHER"...}
Request
Request Body schema: application/json
client_id
string
client_secret
string
audience
string
grant_type
string
Responses
200

Successful authentication

Response Schema: application/json
access_token
string
scope
string
expires_in
number
token_type
string
Value: "Bearer"
post/oauth/token
Request samples
application/json
{
  • "client_id": "~your_client_id~",
  • "client_secret": "~your_client_secret~",
  • "grant_type": "client_credentials"
}
Response samples
application/json
{
  • "access_token": "~your-access-token~",
  • "scope": "urn:procurify-api:domain:~your_domain~ urn:procurify-api:email:~your_email~",
  • "expires_in": 86400,
  • "token_type": "Bearer"
}

permissions

Get Available User Permissions

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
order_by
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

search
string

A search term.

Responses
200
Response Schema:
object
Array of objects (PermissionRead)
get/api/v3/permissions/
Response samples
{
  • "metadata": {
    },
  • "data": [
    ]
}

Get Available System Roles

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
order_by
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

permission
string
search
string

A search term.

type
integer
user
integer
userprofile
integer
Responses
200
Response Schema:
object
Array of objects (PermissionGroup)
get/api/v3/permissions/groups/
Response samples
{
  • "metadata": {
    },
  • "data": [
    ]
}

users

List Users

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
is_active
boolean
location
string
order_by
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

pending_invite
boolean
permission
string
role
integer
search
string

A search term.

Responses
200
Response Schema:
object
Array of objects (UserProfileUnoptimized)
get/api/v3/users/
Response samples
{
  • "metadata": {
    },
  • "data": [
    ]
}

Create New User

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
Array
email
required
string <email> non-empty
send_invitation_email
boolean
Default: true
first_name
string
Default: ""
last_name
string
Default: ""
phone
string
Default: ""
position
string
Default: ""
role_id
integer >= 0
Default: 0
all_locations
boolean
Default: false
Array of objects (LocationIdValidationSerializersRequest)
Default: []
home_department
integer >= 0
Default: 0
home_location
integer >= 0
Default: 0
Responses
201
Response Schema:
object
Default: {}
required
Array of objects (UserProfileUnoptimized)
post/api/v3/users/
Request samples
[
  • {
    }
]
Response samples
{
  • "metadata": { },
  • "data": [
    ]
}

Update User

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
id
required
integer

A unique integer value identifying this user profile.

query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
id
integer
user
integer
email
required
string <email> [ 1 .. 254 ] characters
firstName
required
string non-empty
lastName
required
string non-empty
location
required
integer or null
department
required
integer or null
position
string
Default: ""
phone
string
Default: ""
profile_image
string or null
is_sso_enabled
boolean
Default: false
mark_for_skip
boolean
Default: false
mark_for_delete
boolean
Default: false
Responses
200
Response Schema:
object
Default: {}
required
object (UserProfileUnoptimized)
put/api/v3/users/{id}/
Request samples
{
  • "id": 0,
  • "user": 0,
  • "email": "user@example.com",
  • "firstName": "string",
  • "lastName": "string",
  • "location": 0,
  • "department": 0,
  • "position": "",
  • "phone": "",
  • "profile_image": "string",
  • "is_sso_enabled": false,
  • "mark_for_skip": false,
  • "mark_for_delete": false
}
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

Deactivate User

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
id
required
integer

A unique integer value identifying this user profile.

query Parameters
format
string
Enum: "csv" "json"
Responses
204

No response body

delete/api/v3/users/{id}/

Get Logged-in User

Get the logged in user account information

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
Responses
200
Response Schema:
object
Default: {}
required
object (UserProfileMe)
get/api/v3/users/me/
Response samples
{
  • "data": {
    },
  • "metadata": { }
}

locations

Get Locations

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
active
boolean
format
string
Enum: "csv" "json"
headquarter
boolean
order_by
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

search
string

A search term.

Responses
200
Response Schema:
object
Array of objects (LocationView)
get/api/v2/locations/
Response samples
{
  • "metadata": {
    },
  • "data": [
    ]
}

Create New Location

Create New Location. Note: only users with superuser permission can create locations.

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
name
required
string [ 1 .. 150 ] characters
url
string or null
logo
string or null
currency
required
string non-empty
phoneOne
required
string [ 1 .. 20 ] characters
fax
string or null <= 20 characters
email
string or null <email> <= 254 characters
required
object (AddressRequest)
required
object (AddressRequest)
required
Array of objects (AddressRequest)
language
integer [ -2147483648 .. 2147483647 ]
  • 1 - English
Value: 1
(LocationTimezoneEnum (integer or null)) or (BlankEnum (integer or null)) or (NullEnum (integer or null))
active
boolean
external_id
string or null <= 100 characters

External id

Responses
201
Response Schema:
object
Default: {}
required
object (LocationView)
post/api/v2/locations/
Request samples
{
  • "name": "string",
  • "url": "string",
  • "logo": "string",
  • "currency": "string",
  • "phoneOne": "string",
  • "fax": "string",
  • "email": "user@example.com",
  • "primary_billing_address": {
    },
  • "primary_shipping_address": {
    },
  • "shipping_addresses": [
    ],
  • "language": 1,
  • "locationTimezone": "Africa/Abidjan",
  • "active": true,
  • "external_id": "string"
}
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

Get Location by ID

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
id
required
string
query Parameters
format
string
Enum: "csv" "json"
Responses
200
Response Schema:
object
Default: {}
required
object (LocationView)
get/api/v2/locations/{id}/
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

departments

List Departments

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
branch
integer

Filter departments by their branch.

format
string
Enum: "csv" "json"
include_is_active_for_account_code
integer

Setting this adds the addition of the booeal field 'has_active_account' to each department object of the response. The query param accepts an integer representing the primary key of the account code to check if there exists an account object associated with the department with that account code.

location_perm_override
boolean

Setting this overrides the need to enable the PROCUREMENT_ACCESS and/or RECEIVE_BY_DEPARTMENT feature switches. This parameter can only be used in conjunction with permission and user and cannot function without both of those parameters explicitly set.

locations
Array of integers

Filter departments by the locations (branches) passed in.

order_by
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

permission
integer

Filter by permission. In isolation, this parameter can only be set to 68 (add purchase order); 841 (view report); or 899 (receive_po), which correlate with permission to add purchase orders, view reports, and receive purchase orders respectively. However, the results returned correlate with the “by department” version of these permissions, which means that results are filtered by permission to add purchase orders by department, permission to view reports by department, and receive purchase orders by department. This should only be used in conjunction with the PROCUREMENT_ACCESS and/or RECEIVE_BY_DEPARTMENT feature switches. If used in conjunction with location_perm_override=true and user, the value can be set to any permission, and the result will be departments filtered by the provided user and permission values. If used in conjunction with the RECEIVE_BY_DEPARTMENT feature flag, the permission can only be set to 68, 841, or 899 (see second sentence for what these permissions do). The result will be all departments filtered by the provided user value.

requestable
string

Fetch all requestable departments by the currently authorized user. Accepts ORDER, EXPENSE, TRAVEL, and PAY_REQUEST.

search
string

A search term.

user
integer

Filter by user. If this parameter is set, the user must be a superuser or have the add_po_by_department or receive_po_by_department permissions. In isolation, this parameter should only be used in conjunction with the PROCUREMENT_ACCESS and/or RECEIVE_BY_DEPARTMENT feature switches. If used in conjunction with location_perm_override=true and permission query parameter, the result returned will be departments filtered by the provided user and permission values. If used in conjunction with the RECEIVE_BY_DEPARTMENT feature flag, the result will be departments filtered by the user provided and the permission set to 68 (add purchase order); 841 (view report); or 899 (receive purchase order) (see permission query parameter explanation for more information on what these stand for).

Responses
200
Response Schema:
object
Array of objects (DepartmentRead)
get/api/v3/departments/
Response samples
{
  • "metadata": {
    },
  • "data": [
    ]
}

Create New Department

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
branch
required
integer
external_id
string or null <= 100 characters

External id

name
required
string [ 1 .. 150 ] characters
active
boolean
punchout_email
string or null non-empty
Responses
201
Response Schema:
object
Default: {}
required
object (DepartmentRead)
post/api/v3/departments/
Request samples
{
  • "branch": 0,
  • "external_id": "string",
  • "name": "string",
  • "active": true,
  • "punchout_email": "string"
}
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

Update Department

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
id
required
integer

A unique integer value identifying this department.

query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
branch
required
integer
external_id
string or null <= 100 characters

External id

name
required
string [ 1 .. 150 ] characters
active
boolean
punchout_email
string or null non-empty
Responses
200
Response Schema:
object
Default: {}
required
object (DepartmentRead)
put/api/v3/departments/{id}/
Request samples
{
  • "branch": 0,
  • "external_id": "string",
  • "name": "string",
  • "active": true,
  • "punchout_email": "string"
}
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

account-codes

Get Account Codes

Account Code Types

Account Code Type Type
ASSETS 0
LIABILITY 1
EXPENSE 2
INCOME 3
EQUITY 4
OTHER 5
SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
active
boolean
code
string
format
string
Enum: "csv" "json"
is_parent
boolean
order_by
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

search
string

A search term.

Responses
200
Response Schema:
object
Array of objects (AccountCodeRead)
get/api/v3/account-codes/
Response samples
{
  • "metadata": {
    },
  • "data": [
    ]
}

Create Account Codes

Account Code Types

Account Code Type Type
ASSETS 0
LIABILITY 1
EXPENSE 2
INCOME 3
EQUITY 4
OTHER 5
SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
code
required
string [ 1 .. 50 ] characters
description
required
string [ 1 .. 200 ] characters
parent
integer or null
account_type
integer [ -2147483648 .. 2147483647 ]
  • 0 - Assets
  • 1 - Liability
  • 2 - Expense
  • 3 - Income
  • 4 - Equity
  • 5 - Other
Enum: 0 1 2 3 4 5
departments
Array of integers
Responses
201
Response Schema:
object
Default: {}
required
object (AccountCodeRead)
post/api/v3/account-codes/
Request samples
{
  • "code": "string",
  • "description": "string",
  • "parent": 0,
  • "account_type": 0,
  • "departments": [
    ]
}
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

Update Account Code

Account Code Types

Account Code Type Type
ASSETS 0
LIABILITY 1
EXPENSE 2
INCOME 3
EQUITY 4
OTHER 5
SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
id
required
integer

A unique integer value identifying this account code.

query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
code
required
string [ 1 .. 50 ] characters
description
required
string [ 1 .. 200 ] characters
account_type
integer [ -2147483648 .. 2147483647 ]
  • 0 - Assets
  • 1 - Liability
  • 2 - Expense
  • 3 - Income
  • 4 - Equity
  • 5 - Other
Enum: 0 1 2 3 4 5
parent
integer or null
Responses
200
Response Schema:
object
Default: {}
required
object (AccountCodeRead)
put/api/v3/account-codes/{id}/
Request samples
{
  • "code": "string",
  • "description": "string",
  • "account_type": 0,
  • "parent": 0
}
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

accounts

Get Accounts

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
account_code
integer
active
boolean
department
integer
departments
string

A comma-separated list of integers.

format
string
Enum: "csv" "json"
id
integer
in_effect
boolean
locations
string

A comma-separated list of integers.

order_by
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

search
string

A search term.

with_expired_budgets
boolean
Responses
200
Response Schema:
object
Array of objects (ChartOfAccountsAccount)
get/api/v3/accounts/
Response samples
{
  • "metadata": {
    },
  • "data": [
    ]
}

vendors

Get list of all active vendors

Vendor Type Codes

Vendor Type Type Description
OTHER 1 Previously 'OTHER' vendor (ID=1), used for storing non-vendor
for storing non-vendor Vendor names in request.
HIDDEN 2 New type of vendors that is reserved for system purposes (eg. Amazon Business).
PREFERRED (default) 3 The default vendors from previous list
where active vendor dropdowns everywhere previously showed.
Request now ONLY shows these vendors (+OTHER)
REGULAR 4 New type of vendors that are non-preferred,
for any AP purposes and purchasers to update.
(DOES NOT show up in Request, but shows up in Procure)
EMPLOYEE 5 New type of vendors that do not show up anywhere except in AP employees list.
CC_PROVIDER 6 Similar type of vendors to AP employees, but for AP credit card providers.
SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
vendor_group
required
string

"all": Get list of all vendors.

"credit_card_providers": Get list of credit card provider vendors. These vendors are displayed in Payee Management for Credit Card Providers.

"default": Get list of "preferred" and "regular" vendors. These vendors are displayed in Procure (procurement, vendors, etc) and AP i.e., default vendor list. OTHER is discontinued from procure.

"other": Get list of "other" vendors. Only returns the 'OTHER' vendor reserved for requesting non-vendor names.

"preferred": Get list of "preferred" vendors.

"purchasable": Get list of "purchasable" vendors.

"requestable": Get list of "requestable" vendors. These vendors are displayed in Request and designated by Purchaser.

Enum: "all" "credit_card_providers" "default" "other" "preferred" "purchasable" "requestable"
query Parameters
exclude_other
boolean
external_id
string
format
string
Enum: "csv" "json"
name
string
order_by
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

search
string

A search term.

type
integer

Type of the vendor. See above for possible options.

  • 1 - other
  • 2 - amazon punchout
  • 3 - preferred
  • 4 - regular
  • 5 - employee
  • 6 - credit card provider
  • 7 - checkout
Enum: 1 2 3 4 5 6 7
type__in
Array of strings
  • other - other
  • amazon_punchout - amazon_punchout
  • preferred - preferred
  • regular - regular
  • employee - employee
  • cc_provider - cc_provider
  • checkout - checkout
  • pending - pending
Items Enum: "amazon_punchout" "cc_provider" "checkout" "employee" "other" "pending" "preferred" "regular"
Responses
200
Response Schema:
object
Array of objects (OptimizedVendor)
get/api/v3/vendors/
Response samples
{
  • "metadata": {
    },
  • "data": [
    ]
}

Create Vendor

Create a new vendor

Due to having multiple vendors with the same name, especially common if user keeps deleting vendors with the same name, these deleted vendors get thrown into the inactive list.

Vendor Types

Vendor Type Type
OTHER 1
HIDDEN 2
PREFERRED (default) 3
REGULAR 4
EMPLOYEE 5
CC_PROVIDER 6
SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
name
required
string [ 1 .. 150 ] characters

Name of the vendor

active
boolean
addressLineOne
string or null (Address line 1) <= 300 characters

First line of address

addressLineTwo
string or null (Address line 2) <= 300 characters

Second line of address

postalCode
string or null (Postal Code) <= 20 characters

Postal or Zip code of the vendor

city
string or null <= 50 characters

City of the vendor

state_province
string or null (State/Province) <= 40 characters

State or Province of the vendor

country
string or null <= 80 characters

Country of the vendor

phoneOne
string or null <= 20 characters

Primary phone no. of the vendor

phoneTwo
string or null <= 20 characters

Secondary phone no. of the vendor

fax
string or null <= 20 characters

Fax no. of the vendor

email
required
Array of strings <email>
comments
string or null

Notes about the vendor

contact
string or null <= 50 characters

Contact person of the vendor

url
string or null <= 200 characters

Website of the vendor

external_id
string or null <= 100 characters

External id of the vendor

currency
integer or null
object or null
object or null
object or null
object or null
tax
integer or null
type
required
integer (VendorTypeEnum)
  • 2 - amazon punchout
  • 3 - preferred
  • 4 - regular
  • 6 - credit card provider
  • 7 - checkout
Enum: 2 3 4 6 7
default_payment_method
integer or null
is_1099_eligible
boolean or null (1099 Eligible?)
overall_score
required
string or null <decimal> ^-?\d{0,2}(?:\.\d{0,3})?$
is_auto_email_po_enabled
boolean
po_pdf_labels
string <= 200 characters

Placeholder for a KVStore value

Responses
201
Response Schema:
object
Default: {}
required
object (VendorDetail)
post/api/v3/vendors/
Request samples
{
  • "name": "string",
  • "active": true,
  • "addressLineOne": "string",
  • "addressLineTwo": "string",
  • "postalCode": "string",
  • "city": "string",
  • "state_province": "string",
  • "country": "string",
  • "phoneOne": "string",
  • "phoneTwo": "string",
  • "fax": "string",
  • "email": [
    ],
  • "comments": "string",
  • "contact": "string",
  • "url": "string",
  • "external_id": "string",
  • "currency": 0,
  • "payment_term_ref": {
    },
  • "shipping_term_ref": {
    },
  • "payment_method_ref": {
    },
  • "shipping_method_ref": {
    },
  • "tax": 0,
  • "type": 2,
  • "default_payment_method": 0,
  • "is_1099_eligible": true,
  • "overall_score": "string",
  • "is_auto_email_po_enabled": true,
  • "po_pdf_labels": "string"
}
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

Get Vendor by ID

Get detail of a vendor by id

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
id
required
integer

A unique integer value identifying this vendor.

query Parameters
format
string
Enum: "csv" "json"
Responses
200
Response Schema:
object
Default: {}
required
object (VendorDetail)
get/api/v3/vendors/{id}/
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

Update Vendor

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
id
required
integer

A unique integer value identifying this vendor.

query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
name
required
string [ 1 .. 150 ] characters

Name of the vendor

active
boolean
addressLineOne
string or null (Address line 1) <= 300 characters

First line of address

addressLineTwo
string or null (Address line 2) <= 300 characters

Second line of address

postalCode
string or null (Postal Code) <= 20 characters

Postal or Zip code of the vendor

city
string or null <= 50 characters

City of the vendor

state_province
string or null (State/Province) <= 40 characters

State or Province of the vendor

country
string or null <= 80 characters

Country of the vendor

phoneOne
string or null <= 20 characters

Primary phone no. of the vendor

phoneTwo
string or null <= 20 characters

Secondary phone no. of the vendor

fax
string or null <= 20 characters

Fax no. of the vendor

email
required
Array of strings <email>
comments
string or null

Notes about the vendor

contact
string or null <= 50 characters

Contact person of the vendor

url
string or null <= 200 characters

Website of the vendor

external_id
string or null <= 100 characters

External id of the vendor

currency
integer or null
object or null
object or null
object or null
object or null
tax
integer or null
type
required
integer (VendorTypeEnum)
  • 2 - amazon punchout
  • 3 - preferred
  • 4 - regular
  • 6 - credit card provider
  • 7 - checkout
Enum: 2 3 4 6 7
default_payment_method
integer or null
is_1099_eligible
boolean or null (1099 Eligible?)
overall_score
required
string or null <decimal> ^-?\d{0,2}(?:\.\d{0,3})?$
is_auto_email_po_enabled
boolean
po_pdf_labels
string <= 200 characters

Placeholder for a KVStore value

Responses
200
Response Schema:
object
Default: {}
required
object (Vendor)
put/api/v3/vendors/{id}/
Request samples
{
  • "name": "string",
  • "active": true,
  • "addressLineOne": "string",
  • "addressLineTwo": "string",
  • "postalCode": "string",
  • "city": "string",
  • "state_province": "string",
  • "country": "string",
  • "phoneOne": "string",
  • "phoneTwo": "string",
  • "fax": "string",
  • "email": [
    ],
  • "comments": "string",
  • "contact": "string",
  • "url": "string",
  • "external_id": "string",
  • "currency": 0,
  • "payment_term_ref": {
    },
  • "shipping_term_ref": {
    },
  • "payment_method_ref": {
    },
  • "shipping_method_ref": {
    },
  • "tax": 0,
  • "type": 2,
  • "default_payment_method": 0,
  • "is_1099_eligible": true,
  • "overall_score": "string",
  • "is_auto_email_po_enabled": true,
  • "po_pdf_labels": "string"
}
Response samples
{
  • "metadata": { },
  • "data": {
    }
}

Partial Update Vendor

SecurityRemoteAuthentication or M2MAuthentication or BasicAuthentication or cookieAuth
Request
path Parameters
id
required
integer

A unique integer value identifying this vendor.

query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
name
string [ 1 .. 150 ] characters

Name of the vendor

active
boolean
addressLineOne
string or null (Address line 1) <= 300 characters

First line of address

addressLineTwo
string or null (Address line 2) <= 300 characters

Second line of address

postalCode
string or null (Postal Code) <= 20 characters

Postal or Zip code of the vendor

city
string or null <= 50 characters

City of the vendor

state_province
string or null (State/Province) <= 40 characters

State or Province of the vendor

country
string or null <= 80 characters

Country of the vendor

phoneOne
string or null <= 20 characters

Primary phone no. of the vendor

phoneTwo
string or null <= 20 characters

Secondary phone no. of the vendor

fax
string or null <= 20 characters

Fax no. of the vendor

email
Array of strings <email>
comments
string or null

Notes about the vendor

contact
string or null <= 50 characters

Contact person of the vendor

url
string or null <= 200 characters

Website of the vendor

external_id
string or null <= 100 characters

External id of the vendor

currency
integer or null
object or null
object or null
object or null
object or null
tax
integer or null
type
integer (VendorTypeEnum)
  • 2 - amazon punchout
  • 3 - preferred
  • 4 - regular
  • 6 - credit card provider
  • 7 - checkout
Enum: 2 3 4 6 7
default_payment_method
integer or null
is_1099_eligible
boolean or null (1099 Eligible?)
overall_score
string or null <decimal> ^-?\d{0,2}(?:\.\d{0,3})?$
is_auto_email_po_enabled
boolean
po_pdf_labels
string <= 200 characters

Placeholder for a KVStore value

Responses
200
Response Schema:
object
Default: {}
required
object (OptimizedVendor)
patch/api/v3/vendors/{id}/
Request samples
{
  • "name": "string",
  • "active": true,
  • "addressLineOne": "string",
  • "addressLineTwo": "string",
  • "postalCode": "string",
  • "city": "string",
  • "state_province": "string",
  • "country": "string",
  • "phoneOne": "string",
  • "phoneTwo": "string",
  • "fax": "string",
  • "email": [
    ],
  • "comments": "string",
  • "contact": "string",
  • "url": "string",
  • "external_id": "string",
  • "currency": 0,
  • "payment_term_ref": {
    },
  • "shipping_term_ref": {
    },
  • "payment_method_ref": {
    },
  • "shipping_method_ref": {
    },
  • "tax": 0,
  • "type": 2,
  • "default_payment_method": 0,
  • "is_1099_eligible": true,
  • "overall_score": "string",
  • "is_auto_email_po_enabled": true,
  • "po_pdf_labels": "string"
}
Response samples
{
  • "metadata": { },
  • "data": {