Procurify API Documentation Jun232016
Procurify API Documentation Jun232016
Procurify API Documentation
Getting Started with Procurify
Authentication (OAuth2)
ID & Secret
Access Token
Revoke Access Token
User
Permission Roles System
Permission Roles Custom
Get Loggedin User
Get All Users
Get Active/Inactive Users
Create New User
Update User
Deactivate User
Locations
Get Locations
Departments
Get Departments
Account Codes
Get Account Codes
Create Account Codes
Accounts (Budget of Account Code + Department)
Get Accounts
Vendors
Get Active Vendors
Create Vendor
Create Vendor Payment Method
Currency
Get Active/Inactive Currencies
Catalog
Get All Catalog Items
Create Catalog Item
Get All Catalog Bundles
Create Catalog Bundle
Orders
Get All Orders
Get All Order Items
Purchase Orders
Get Purchase Orders by Role & Status
Get Purchase Order by ID (with items)
Expense Reports
Get All Expense Reports
Get All Expense Items
Travel
Get All Travels
Bills
Get Bills
Create New Draft Bill
Update / Submit Draft Bills
Adding Items (See section Update / Submit Draft Bills)
Adding Costs(See section Update / Submit Draft Bills)
Delete Draft Bill
Getting Started with Procurify
This collection of Procurify API uses the following:
● RESTful methods
● JSON requests & responses
● OAuth2 authenticated
The HTTP header Content-Type: application/json
must be set when sending a JSON object.
Authentication (OAuth2)
ID & Secret
Endpoint (GET)
/api/
authenticate/
Header
Authorization
=
Basic
<string>
(
Base64
string
of
Username
and
Password)
Response
{
"code"
:
0,
"success"
:
true,
"data"
:
{
"url"
:
"http://localhost:8080",
"redirect_uri"
:
"http://localhost:8080",
"_state"
:
null,
"name"
:
"Default",
"user_id"
:
1,
"id"
:
1,
"client_secret"
:
"e46571e7f886eec29f0b6945b4daa26839b8b5d8",
"client_type"
:
0,
"client_id"
:
"130db86db016207b326f"
},
"description"
:
"",
"errors"
:
{}
}
Access Token
Endpoint (POST)
/api/
access_token/
Body (formdata)
grant_type
=
password
username
=<
user ID
>
(
string)
password
=<
user PW
>
(
string)
client_id
=
ce8e8e7d4a828487f5e3
(
See
section ID
&
Secret)
client_secret
=
af9e1ac9f21701b2eb917bbad703a1595277238b
(
See
section ID
&
Secret
)
,
Response
{
"expires_in"
:
31535999
,
"refresh_token"
:
"89c447492b24991f11ec9033a8b434ed63b47bad"
,
"access_token"
:
"bcf00e9e5503b6f9ca9f7fb1e14bdea8f22284e8"
,
"scope"
:
"read"
}
Note: only Superuser authenticated access_tokens may access global APIs or objects globally.
Revoke Access Token
Endpoint (POST)
/api/
revoke/
Body (formdata)
token
=
bcf00e9e5503b6f9ca9f7fb1e14bdea8f22284e8
(
See
section
Access
Token
)
Response
{
"success"
:
true,
"data"
:
null,
"description"
:
"
User
access successfully revoked
.",
"code"
:
0
}
User
Endpoint Method Usage
Permission Roles System
Endpoint (GET)
/api/
permission
/
system
/
Response
{
"code"
:
0,
"data"
:
[
{
"category"
:
"Navigation",
"description"
:
"Navigation for Request",
"_state"
:
null,
"codename"
:
"nav_request",
"id"
:
3,
"name"
:
"Request"
},
{
"category"
:
"Navigation",
"description"
:
"Navigation for Approval",
"_state"
:
null,
"codename"
:
"nav_approval",
"id"
:
4,
"name"
:
"Approval"
},
{
"category"
:
"Navigation",
"description"
:
"Navigation for Purchase",
"_state"
:
null,
"codename"
:
"nav_purchase",
"id"
:
5,
"name"
:
"Purchase"
},
{
"category"
:
"Navigation",
"description"
:
"Navigation for Receive",
"_state"
:
null,
"codename"
:
"nav_receive",
"id"
:
6,
"name"
:
"Receive"
},
{
"category"
:
"Navigation",
"description"
:
"Navigation for Manage",
"_state"
:
null,
"codename"
:
"nav_manage",
"id"
:
7,
"name"
:
"Manage"
},
{
"category"
:
"Navigation",
"description"
:
"Navigation for Settings",
"_state"
:
null,
"codename"
:
"nav_setting",
"id"
:
8,
"name"
:
"Settings"
},
{
"category"
:
"Navigation",
"description"
:
"Navigation for Report",
"_state"
:
null,
"codename"
:
"nav_report",
"id"
:
9,
"name"
:
"Report"
},
{
"category"
:
"Navigation",
"description"
:
"Navigation for Payment",
"_state"
:
null,
"codename"
:
"nav_payment",
"id"
:
10,
"name"
:
"Payment"
},
{
"category"
:
"Navigation",
"description"
:
"Navigation for Inventory",
"_state"
:
null,
"codename"
:
"nav_inventory",
"id"
:
11,
"name"
:
"Inventory"
},
{
"category"
:
"System",
"description"
:
"Accounts Payable",
"_state"
:
null,
"codename"
:
"accounts_payable",
"id"
:
12,
"name"
:
"Accounts Payable"
},
{
"category"
:
"System",
"description"
:
"Accounts Payable Approval",
"_state"
:
null,
"codename"
:
"ap_approval",
"id"
:
13,
"name"
:
"Accounts Payable Approval"
}
],
"description"
:
"",
"success"
:
true
}
Permission Roles Custom
Endpoint (GET)
/api/
permission/role/custom/
Response
{
"paging"
:
{
"count"
:
1
,
"next"
:
"&limit=10&offset=10"
,
"limit"
:
10
,
"offset"
:
0
,
"prev"
:
null
,
"pages"
:
[
1
,
],
"page"
:
1
},
"code"
:
0
,
"data"
:
[
{
"branch_id"
:
6
,
"user_count"
:
0
,
"name"
:
"Approver"
,
"prefetched_objects"
:
{
"permissions"
:
[
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Request"
,
"_state"
:
null
,
"_prefetch_related_val_systemrole_id"
:
49
,
"codename"
:
"nav_request"
,
"id"
:
3
,
"name"
:
"Request"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Approval"
,
"_state"
:
null
,
"_prefetch_related_val_systemrole_id"
:
49
,
"codename"
:
"nav_approval"
,
"id"
:
4
,
"name"
:
"Approval"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Report"
,
"_state"
:
null
,
"_prefetch_related_val_systemrole_id"
:
49
,
"codename"
:
"nav_report"
,
"id"
:
9
,
"name"
:
"Report"
}
],
"userprofile"
:
[]
},
"permissions_list"
:
[
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Request"
,
"_state"
:
null
,
"active"
:
true
,
"codename"
:
"nav_request"
,
"id"
:
3
,
"name"
:
"Request"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Approval"
,
"_state"
:
null
,
"active"
:
true
,
"codename"
:
"nav_approval"
,
"id"
:
4
,
"name"
:
"Approval"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Purchase"
,
"_state"
:
null
,
"active"
:
false
,
"codename"
:
"nav_purchase"
,
"id"
:
5
,
"name"
:
"Purchase"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Receive"
,
"_state"
:
null
,
"active"
:
false
,
"codename"
:
"nav_receive"
,
"id"
:
6
,
"name"
:
"Receive"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Manage"
,
"_state"
:
null
,
"active"
:
false
,
"codename"
:
"nav_manage"
,
"id"
:
7
,
"name"
:
"Manage"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Settings"
,
"_state"
:
null
,
"active"
:
false
,
"codename"
:
"nav_setting"
,
"id"
:
8
,
"name"
:
"Settings"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Report"
,
"_state"
:
null
,
"active"
:
true
,
"codename"
:
"nav_report"
,
"id"
:
9
,
"name"
:
"Report"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Payment"
,
"_state"
:
null
,
"active"
:
false
,
"codename"
:
"nav_payment"
,
"id"
:
10
,
"name"
:
"Payment"
},
{
"category"
:
"Navigation"
,
"description"
:
"Navigation for Inventory"
,
"_state"
:
null
,
"active"
:
false
,
"codename"
:
"nav_inventory"
,
"id"
:
11
,
"name"
:
"Inventory"
},
{
"category"
:
"System"
,
"description"
:
"Accounts Payable"
,
"_state"
:
null
,
"active"
:
false
,
"codename"
:
"accounts_payable"
,
"id"
:
12
,
"name"
:
"Accounts Payable"
},
{
"category"
:
"System"
,
"description"
:
"Accounts Payable Approval"
,
"_state"
:
null
,
"active"
:
false
,
"codename"
:
"ap_approval"
,
"id"
:
13
,
"name"
:
"Accounts Payable Approval"
}
],
"_state"
:
null
,
"branch"
:
{
"fiscalYearEndMonth"
:
null
,
"port_date"
:
null
,
"phoneOne"
:
"(650) 6046497"
,
"phoneTwo"
:
null
,
"activated"
:
true
,
"purchase_filtering"
:
false
,
"timezone"
:
"8.00"
,
"logo"
:
"nickredshift7procurifycom_ac15ea7d_ac050087_1.jpg"
,
"id"
:
6
,
"fields_cache"
:
{},
"fiscalYearEndDay"
:
null
,
"ported"
:
true
,
"setup_stage"
:
"FIN"
,
"userLimit"
:
0
,
"standalone_travel_approval"
:
false
,
"email"
:
null
,
"catalog_permission"
:
false
,
"multipleLocations"
:
false
,
"fax"
:
null
,
"_state"
:
null
,
"active"
:
true
,
"separate_expense_approval"
:
true
,
"localCurrency_id"
:
1
,
"name"
:
"Ames Research Center"
,
"language"
:
1
,
"budgetOvertureToggle"
:
true
,
"url"
:
"https://www.nasa.gov/centers/ames/home/index.html"
,
"beginDate"
:
"20160122 20:07:11+00:00"
,
"locationTimezone"
:
"America/Toronto"
,
"contactPerson_id"
:
null
,
"shippingAddress_id"
:
35
,
"buyerAddress_id"
:
34
},
"id"
:
49
,
"role_type"
:
"custom"
}
],
"description"
:
""
,
"success"
:
true
}
Get Loggedin User
Endpoint (GET)
/api/
user
/
Response
{
"code"
:
0,
"data"
:{
"profile_image"
:
"nickredshift7procurifycom_aa1fbc9b_frankborman.jpg",
"slack_user_id"
:
"U0MQVC6NA",
"systemaccess_cache"
:{
"structured"
:{
"system"
:{
"flattened"
:[
"ap_approval",
"superuser",
"accounts_payable"
],
"roles"
:[
{
"permissions"
:[
{
"id"
:
2,
"description"
:
"Full Access",
"name"
:
"Superuser"
}
],
"id"
:
2,
"name"
:
"Superuser"
},
{
"permissions"
:[
{
"id"
:
12,
"description"
:
"Accounts Payable",
"name"
:
"Accounts Payable"
}
],
"id"
:
45,
"name"
:
"AP"
},
{
"permissions"
:[
{
"id"
:
13,
"description"
:
"Accounts Payable Approval",
"name"
:
"Accounts Payable Approval"
}
],
"id"
:
46,
"name"
:
"AP Approver"
}
]
},
"1"
:{
"flattened"
:[
"nav_receive",
"nav_approval",
"nav_manage",
"nav_request",
"nav_purchase",
"nav_report",
"nav_setting"
],
"roles"
:[
{
"permissions"
:[
{
"id"
:
3,
"description"
:
"Navigation for Request",
"name"
:
"Request"
},
{
"id"
:
4,
"description"
:
"Navigation for Approval",
"name"
:
"Approval"
},
{
"id"
:
5,
"description"
:
"Navigation for Purchase",
"name"
:
"Purchase"
},
{
"id"
:
6,
"description"
:
"Navigation for Receive",
"name"
:
"Receive"
},
{
"id"
:
7,
"description"
:
"Navigation for Manage",
"name"
:
"Manage"
},
{
"id"
:
8,
"description"
:
"Navigation for Settings",
"name"
:
"Settings"
},
{
"id"
:
9,
"description"
:
"Navigation for Report",
"name"
:
"Report"
}
],
"id"
:
15,
"name"
:
"Location Manager"
}
]
},
"3"
:{
"flattened"
:[
"nav_request",
"nav_approval",
"nav_report"
],
"roles"
:[
{
"permissions"
:[
{
"id"
:
3,
"description"
:
"Navigation for Request",
"name"
:
"Request"
},
{
"id"
:
4,
"description"
:
"Navigation for Approval",
"name"
:
"Approval"
},
{
"id"
:
9,
"description"
:
"Navigation for Report",
"name"
:
"Report"
}
],
"id"
:
25,
"name"
:
"Approver"
}
]
},
"2"
:{
"flattened"
:[
"nav_request",
"nav_approval",
"nav_report"
],
"roles"
:[
{
"permissions"
:[
{
"id"
:
3,
"description"
:
"Navigation for Request",
"name"
:
"Request"
},
{
"id"
:
4,
"description"
:
"Navigation for Approval",
"name"
:
"Approval"
},
{
"id"
:
9,
"description"
:
"Navigation for Report",
"name"
:
"Report"
}
],
"id"
:
18,
"name"
:
"Approver"
}
]
},
"5"
:{
"flattened"
:[
"nav_receive",
"nav_approval",
"nav_manage",
"nav_request",
"nav_purchase",
"nav_report",
"nav_setting"
],
"roles"
:[
{
"permissions"
:[
{
"id"
:
3,
"description"
:
"Navigation for Request",
"name"
:
"Request"
},
{
"id"
:
4,
"description"
:
"Navigation for Approval",
"name"
:
"Approval"
},
{
"id"
:
5,
"description"
:
"Navigation for Purchase",
"name"
:
"Purchase"
},
{
"id"
:
6,
"description"
:
"Navigation for Receive",
"name"
:
"Receive"
},
{
"id"
:
7,
"description"
:
"Navigation for Manage",
"name"
:
"Manage"
},
{
"id"
:
8,
"description"
:
"Navigation for Settings",
"name"
:
"Settings"
},
{
"id"
:
9,
"description"
:
"Navigation for Report",
"name"
:
"Report"
}
],
"id"
:
43,
"name"
:
"Location Manager"
}
]
},
"4"
:{
"flattened"
:[
"nav_receive",
"nav_approval",
"nav_manage",
"nav_request",
"nav_purchase",
"nav_report",
"nav_setting"
],
"roles"
:[
{
"permissions"
:[
{
"id"
:
3,
"description"
:
"Navigation for Request",
"name"
:
"Request"
},
{
"id"
:
4,
"description"
:
"Navigation for Approval",
"name"
:
"Approval"
},
{
"id"
:
5,
"description"
:
"Navigation for Purchase",
"name"
:
"Purchase"
},
{
"id"
:
6,
"description"
:
"Navigation for Receive",
"name"
:
"Receive"
},
{
"id"
:
7,
"description"
:
"Navigation for Manage",
"name"
:
"Manage"
},
{
"id"
:
8,
"description"
:
"Navigation for Settings",
"name"
:
"Settings"
},
{
"id"
:
9,
"description"
:
"Navigation for Report",
"name"
:
"Report"
}
],
"id"
:
36,
"name"
:
"Location Manager"
}
]
}
},
"flattened"
:[
"superuser",
"nav_manage",
"nav_request",
"nav_purchase",
"accounts_payable",
"ap_approval",
"nav_receive",
"nav_setting",
"nav_approval",
"nav_report"
]
},
"id"
:
2,
"user_id"
:
2,
"permission_id"
:
7,
"role"
:
7,
"permission_cache"
:
"abcdefgh",
"department"
:{
"branch_id"
:
5,
"name"
:
"Operations",
"prefetched_objects"
:{
},
"_state"
:
null,
"branch"
:{
"fiscalYearEndMonth"
:
null,
"port_date"
:
null,
"phoneOne"
:
"(202) 3580000",
"phoneTwo"
:
null,
"activated"
:
true,
"purchase_filtering"
:
false,
"timezone"
:
"8.00",
"logo"
:
"kevinprocurifycom_8a608787_250pxNasahq.jpg",
"id"
:
5,
"fields_cache"
:{
},
"prefetched_objects"
:{
},
"fiscalYearEndDay"
:
null,
"localCurrency"
:{
"description"
:
"",
"_state"
:
null,
"rate"
:
"1.000000",
"base"
:
false,
"active"
:
true,
"id"
:
3,
"name"
:
"USD"
},
"ported"
:
true,
"setup_stage"
:
"FIN",
"userLimit"
:
0,
"standalone_travel_approval"
:
false,
"email"
:
null,
"catalog_permission"
:
false,
"multipleLocations"
:
false,
"fax"
:
null,
"_state"
:
null,
"active"
:
true,
"separate_expense_approval"
:
true,
"localCurrency_id"
:
3,
"name"
:
"NASA Headquarters",
"language"
:
1,
"budgetOvertureToggle"
:
true,
"url"
:
"https://www.nasa.gov/centers/hq/home/",
"beginDate"
:
"20151021 18:06:00+00:00",
"locationTimezone"
:
"America/Swift_Current",
"contactPerson_id"
:
null,
"shippingAddress_id"
:
27,
"buyerAddress_id"
:
26
},
"active"
:
true,
"id"
:
26
},
"email"
:
"[email protected]",
"department_id"
:
26,
"_state"
:
null,
"is_active"
:
true,
"notifications"
:
true,
"address"
:
"",
"pending_invite"
:
false,
"firstName"
:
"Frank",
"phone"
:
"18884635254",
"mobile"
:
false,
"lastName"
:
"Borman",
"position"
:
"Gemini 7 Command Pilot"
},
"description"
:
"",
"success"
:
true
}
Get All Users
Endpoint (GET)
/api/
user
/all/
Response
{
"paging"
:
{},
"code"
:
0,
"data"
:
[
{
"id"
:
2,
"firstName"
:
"Frank",
"lastName"
:
"Borman",
"email"
:
"[email protected]",
"department_id"
:
1,
"position"
:
"Manager",
"phone"
:
"123456789",
"notifications"
:
true,
"is_active"
:
true,
...
(
See
section
Get
Logged
in
User
)
}
],
"description"
:
"",
"success"
:
true
}
Get Active/Inactive Users
Endpoint (GET)
/api/
user
/
active/
/api/
user
/
inactive/
Response
{
"paging"
:
{},
"code"
:
0,
"data"
:
[
{
"id"
:
2,
"firstName"
:
"Frank",
"lastName"
:
"Borman",
"email"
:
"[email protected]",
"department_id"
:
1,
"position"
:
"Manager",
"phone"
:
"123456789",
"notifications"
:
true,
"is_active"
:
true,
...
(
See
section
Get
Logged
in
User
)
}
],
"description"
:
"",
"success"
:
true
}
Create New User
Endpoint (POST)
/api/
user
/
Body
{
"firstName"
:
"Sample",
"lastName"
:
"User",
"email"
:
"[email protected]",
"phone"
:
"6041231234",
"location"
:
"3",
"department"
:
"17",
"position"
:
"admin",
"preset_password"
:
"sample123"
}
Response
{
"paging"
:
{},
"code"
:
0,
"data"
:
[
{
"id"
:
2,
"firstName"
:
"Frank",
"lastName"
:
"Borman",
"is_active"
:
true,
...
(
See
section
Get
Logged
in
User
)
}
],
"description"
:
"",
"success"
:
true
}
Update User
Endpoint (PUT)
/api/
user
/<
user_id
>/
Body
{
"address"
:
"",
"firstName"
:
"Sample",
"lastName"
:
"User",
"email"
:
"[email protected]",
"phone"
:
"7788657010",
"location"
:
"3",
"department"
:
"17",
"position"
:
"admin",
"is_active"
:
true
}
Response
{
"paging"
:
{},
"code"
:
0,
"data"
:
[
{
"id"
:
2,
"firstName"
:
"Sample",
"lastName"
:
"User",
"is_active"
:
true,
...
(
See
section
Get
Logged
in
User
)
}
],
"description"
:
"",
"success"
:
true
}
Deactivate User
Endpoint (DELETE)
/api/
user
/<
user_id
>/
Response
{
"code"
:
0,
"data"
:{
},
"description"
:
"User successfully removed.",
"success"
:
true
}
Locations
Get Locations
Endpoint (GET)
/api/
v2/locations/
Parameters
Filter Parameter Type Description
page_size integer
page integer
Response
{
"data"
:[
{
"id"
:
6
,
"name"
:
"Ames Research Center"
,
"url"
:
"https://www.nasa.gov/centers/ames/home/index.html"
,
"logo"
:
"nickredshift7procurifycom_ac15ea7d_ac050087_1.jpg"
,
"currency"
:{
"id"
:
1
,
"name"
:
"CAD"
,
"description"
:
""
,
"rate"
:
"1.000000"
,
"base"
:
true
,
"active"
:
true
},
"phoneOne"
:
"(650) 6046497"
,
"fax"
:
null
,
"email"
:
null
,
"primary_billing_address"
:{
"id"
:
34
,
"name"
:
"Ames Research Center"
,
"addressLineOne"
:
"Naval Air Station, Moffet Field"
,
"city"
:
"Mountain View"
,
"postalCode"
:
"94035"
,
"state_province"
:
"CA"
,
"country"
:
"USA"
},
"primary_shipping_address"
:{
"id"
:
35
,
"name"
:
"Ames Research Center"
,
"addressLineOne"
:
"Naval Air Station, Moffet Field"
,
"city"
:
"Mountain View"
,
"postalCode"
:
"94035"
,
"state_province"
:
"CA"
,
"country"
:
"USA"
},
"shipping_addresses"
:[
],
"language"
:
1
,
"locationTimezone"
:
"America/Toronto"
,
"headquarter"
:
false
,
"user_count"
:
1
,
"department_count"
:
1
,
"active"
:
true
,
"editable"
:
true
}
],
"metadata"
:{
"searchable_fields"
:[
"name"
,
"phoneOne"
,
"phoneTwo"
,
"fax"
,
"email"
,
"address__name"
],
"pagination"
:{
"count"
:
1
,
"num_pages"
:
1
,
"current_page"
:
1
,
"page_size"
:
25
,
"next"
:
null
,
"previous"
:
null
}
}
}
Departments
Get Departments
Endpoint (GET)
/api/
v2/department/
Parameters
Filter Parameter Type Description
limit integer
offset integer
page integer
Response
{
"paging"
:{
"count"
:
1,
"next"
:
null,
"limit"
:
25,
"offset"
:
0,
"prev"
:
null,
"pages"
:[
1
],
"page"
:1
},
"code"
:
0,
"data"
:[
{
"branch_id"
:
6,
"name"
:
"Research and Development",
"_state"
:
null,
"branch"
:{
"fiscalYearEndMonth"
:
null,
"port_date"
:
null,
"phoneOne"
:
"(650) 6046497",
"phoneTwo"
:
null,
"activated"
:
true,
"purchase_filtering"
:
false,
"timezone"
:
"8.00",
"logo"
:
"nickredshift7procurifycom_ac15ea7d_ac050087_1.jpg",
"id"
:
6,
"fields_cache"
:{
},
"fiscalYearEndDay"
:
null,
"ported"
:
true,
"setup_stage"
:
"FIN",
"userLimit"
:
0,
"standalone_travel_approval"
:
false,
"email"
:
null,
"catalog_permission"
:
false,
"multipleLocations"
:
false,
"fax"
:
null,
"_state"
:
null,
"active"
:
true,
"separate_expense_approval"
:
true,
"localCurrency_id"
:
1,
"name"
:
"Ames Research Center",
"language"
:
1,
"budgetOvertureToggle"
:
true,
"url"
:
"https://www.nasa.gov/centers/ames/home/index.html",
"beginDate"
:
"20160122 20:07:11+00:00",
"locationTimezone"
:
"America/Toronto",
"contactPerson_id"
:
null,
"shippingAddress_id"
:
35,
"buyerAddress_id"
:
34
},
"active"
:
true,
"id"
:
32
}
],
"description"
:
"",
"success"
:
true
}
Account Codes
Get Account Codes
Endpoint (GET)
/api/
v2/account_codes/
Parameters
Filter Parameter Type Description
code string
description string
Response
{
"data"
:[
{
"id"
:
1,
"code"
:
"1000",
"code_length"
:
4,
"description"
:
"Supplies",
"account_type"
:
2,
"active"
:
true,
"parent"
:
null
},
{
"id"
:
2,
"code"
:
"2000",
"code_length"
:
4,
"description"
:
"Services",
"account_type"
:
2,
"active"
:
true,
"parent"
:
null
}
],
"metadata"
:{
"pagination"
:{
"count"
:
2,
"num_pages"
:
1,
"current_page"
:
1,
"page_size"
:
10,
"next"
:
"https://<domain>.procurify.com/api/v2/account_codes/?page=2",
"previous"
:
null
}
}
}
Create Account Codes
Endpoint (POST)
/api/
accountcode/
Body
{
"12000"
:{
"account_type"
:
"2",
"code"
:
"12000",
"description"
:
"Supplies General",
"original_code"
:
"12000",
"parent"
:
null,
"department"
:{
80
:{},
}
},
"12001"
:{
"account_type"
:
"2",
"code"
:
"12001",
"description"
:
"Supplies Code",
"original_code"
:
"12001",
"parent"
:
"12000",
"department"
:{
80
:{},
}
}
}
Object Keys
Key Description
“12000” Account Code code (unique)
account_type 0 (assets), 1 (liability), 2 (expense), 3 (income), 4 (equity) ,
5 (other)
code Account Code code
description Description
original_code Account Code code (when updating)
parent Parent Account Code code
department Structure of Department IDs to create Accounts
(Department + Account Code)
Response
{
"code"
:
0
,
"data"
:{
"balance_approved"
:
"0.00"
,
"code"
:
"12000"
,
"account_type"
:
0
,
"description"
:
"Supplies General"
,
"parent"
:
null
,
"subcodes"
:[
{
"balance_approved"
:
"0.00"
,
"code"
:
"12001"
,
"account_type"
:
0
,
"description"
:
"Supplies Code"
,
"parent"
:{
},
"_state"
:
null
,
"parent_id"
:
176
,
"applied_accounts"
:[
{
"balance_approved"
:
"0.00"
,
"start_datetime"
:
"20160624 07:00:00+00:00"
,
"_state"
:
null
,
"budget"
:
"0.00"
,
"budget_used_approved"
:
"0.00"
,
"department"
:{
"branch_id"
:
35
,
"name"
:
"test"
,
"_state"
:
null
,
"branch"
:{
"fiscalYearEndMonth"
:
null
,
"port_date"
:
null
,
"phoneOne"
:
"12345678"
,
"phoneTwo"
:
null
,
"activated"
:
true
,
"purchase_filtering"
:
false
,
"timezone"
:
"8.00"
,
"logo"
:
""
,
"id"
:
35
,
"fields_cache"
:{
},
"fiscalYearEndDay"
:
null
,
"ported"
:
true
,
"setup_stage"
:
"FIN"
,
"userLimit"
:
0
,
"standalone_travel_approval"
:
false
,
"email"
:
"[email protected]"
,
"catalog_permission"
:
false
,
"multipleLocations"
:
false
,
"fax"
:
"12345678"
,
"_state"
:
null
,
"active"
:
true
,
"separate_expense_approval"
:
false
,
"localCurrency_id"
:
1
,
"name"
:
"000014235LOCATION"
,
"language"
:
1
,
"budgetOvertureToggle"
:
true
,
"url"
:
"test.com"
,
"beginDate"
:
"20160328 22:24:24+00:00"
,
"locationTimezone"
:
"Australia/Melbourne"
,
"contactPerson_id"
:
null
,
"shippingAddress_id"
:
296
,
"buyerAddress_id"
:
295
},
"active"
:
true
,
"id"
:
80
},
"end_datetime"
:
"20161231 08:00:00+00:00"
,
"budget_used_purchased"
:
"0.00"
,
"active"
:
true
,
"balance_purchased"
:
"0.00"
,
"id"
:
3092
,
"account_code_id"
:
176
,
"department_id"
:
80
}
],
"code_length"
:
6
,
"active"
:
true
,
"deactivated_accounts"
:[
],
"balance_purchased"
:
"0.00"
,
"id"
:
177
}
],
"_state"
:
null
,
"parent_id"
:
null
,
"applied_accounts"
:[
{
"balance_approved"
:
"0.00"
,
"start_datetime"
:
"20160624 07:00:00+00:00"
,
"_state"
:
null
,
"budget"
:
"0.00"
,
"budget_used_approved"
:
"0.00"
,
"department"
:{
"branch_id"
:
35
,
"name"
:
"test"
,
"_state"
:
null
,
"branch"
:{
"fiscalYearEndMonth"
:
null
,
"port_date"
:
null
,
"phoneOne"
:
"12345678"
,
"phoneTwo"
:
null
,
"activated"
:
true
,
"purchase_filtering"
:
false
,
"timezone"
:
"8.00"
,
"logo"
:
""
,
"id"
:
35
,
"fields_cache"
:{
},
"fiscalYearEndDay"
:
null
,
"ported"
:
true
,
"setup_stage"
:
"FIN"
,
"userLimit"
:
0
,
"standalone_travel_approval"
:
false
,
"email"
:
"[email protected]"
,
"catalog_permission"
:
false
,
"multipleLocations"
:
false
,
"fax"
:
"12345678"
,
"_state"
:
null
,
"active"
:
true
,
"separate_expense_approval"
:
false
,
"localCurrency_id"
:
1
,
"name"
:
"000014235LOCATION"
,
"language"
:
1
,
"budgetOvertureToggle"
:
true
,
"url"
:
"test.com"
,
"beginDate"
:
"20160328 22:24:24+00:00"
,
"locationTimezone"
:
"Australia/Melbourne"
,
"contactPerson_id"
:
null
,
"shippingAddress_id"
:
296
,
"buyerAddress_id"
:
295
},
"active"
:
true
,
"id"
:
80
},
"end_datetime"
:
"20161231 08:00:00+00:00"
,
"budget_used_purchased"
:
"0.00"
,
"active"
:
true
,
"balance_purchased"
:
"0.00"
,
"id"
:
3092
,
"account_code_id"
:
176
,
"department_id"
:
80
}
],
"code_length"
:
10
,
"active"
:
true
,
"deactivated_accounts"
:[
],
"balance_purchased"
:
"0.00"
,
"id"
:
176
},
"description"
:
"Account codes successfully saved."
,
"success"
:
true
}
Accounts (Budget of Account Code + Department)
Get Accounts
Endpoint (GET)
/api/
v2/accounts/
Parameters
Filter Parameter Type Description
Account fields
Key Description
id Primary key / ID of Account
account_code Account Code ID to track spending
department Department ID for requests
start_datetime Effective begin date for requests
end_datetime Effective end date for requests
budget Allowable budget (can be exceeded; toggleable in Settings
> Budget Preferences)
budget_used_approved Allocated budget in approval
budget_used_purchased Allocated budget in purchasing
balance_used_approval Lifetime committed balance in approval
balance_used_purchased Lifetime committed balance in purchasing
Vendors
Get Active Vendors
Endpoint (GET)
/api/
v3/vendors/<type_name>
Type_names are intended for filtering Vendors, separated by ENUMs as “type” field. These vendors are
applied in different areas and meant for purchasers or AP users for separate purposes. They’re defined
as following:
● OTHER = 1
○ used for storing nonvendor Vendor names in request
● PREFERRED = 3
○ vendors available in requestable lists
● REGULAR = 4
○ nonpreferred vendors, for any AP purposes and purchasers to update; does NOT display in
Request, but listed in Procure
● EMPLOYEE = 5
○ specific type of vendors that are not used anywhere except in AP employees list
type_name Types included Usage
default PREFERRED, REGULAR Display in Procure (procurement, vendors, etc) & AP;
default vendor list. OTHER is discontinued from procure
on.
preferred PREFERRED
other OTHER Will always only return the ‘OTHER’ vendor reserved for
requesting non-vendor names
Response
{
"data"
:
[
{
"id"
:
1,
"email"
:
"[email protected]",
"payment_term_ref"
:
null,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"name"
:
"Other",
"addressLineOne"
:
"Other",
"addressLineTwo"
:
"",
"postalCode"
:
"Other",
"city"
:
"Other",
"state_province"
:
"Other",
"country"
:
"Other",
"phoneOne"
:
"Other",
"phoneTwo"
:
"",
"fax"
:
"",
"comments"
:
"",
"contact"
:
"",
"url"
:
"http://procurify.com/",
"external_id"
:
null,
"dateModified"
:
"20150704T15:16:44Z",
"active"
:
true,
"currency"
:
null,
"payment_methods"
:
[
{
"vendor"
:
16,
"payment_method"
:
{
"id"
:
1,
"name"
:
"TD chequing account",
"type"
:
"ACH",
"data"
:
{
"company_routing_number"
:
"174852963",
"bank_name"
:
"TD Canada Trust",
"bank_routing_number"
:
"852741934548",
"company_name"
:
"Space",
"company_tax_id"
:
"656471500154"
},
"currency"
:
{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"1.000000",
"base"
:
true,
"active"
:
true
}
}
}
],
"default_payment_method"
:
1
},
{
"id"
:
3,
"email"
:
"[email protected]",
"payment_term_ref"
:
{
"id"
:
3265,
"name"
:
"JOKES",
"description"
:
"JOKES"
},
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"name"
:
"McMasterCarr",
"addressLineOne"
:
"PO BOX 7690",
"addressLineTwo"
:
"",
"postalCode"
:
"606807690",
"city"
:
"CHICAGO",
"state_province"
:
"IL",
"country"
:
"USA",
"phoneOne"
:
"3309955500",
"phoneTwo"
:
"",
"fax"
:
"",
"comments"
:
"",
"contact"
:
"",
"url"
:
"http://www.mcmaster.com/",
"external_id"
:
null,
"dateModified"
:
"20160210T23:41:15Z",
"active"
:
false,
"currency"
:
null,
"payment_methods"
:
[],
"default_payment_method"
:
1
}
],
"metadata"
:
{
"pagination"
:
{
"count"
:
206,
"num_pages"
:
21,
"current_page"
:
1,
"page_size"
:
10,
"next"
:
"http://asco.dev.procurify.xyz:8000/api/v3/vendors/?page=2",
"previous"
:
null
}
}
}
Vendor fields
Key Description
id Primary key / ID of Vendor
email List of Vendor contact emails
payment_term_ref Payment terms preset for Purchase Order creation
shipping_term_ref Shipping terms preset for Purchase Order creation
payment_method_ref Payment terms preset for Purchase Order creation
name Name of Vendor
addressLineOne Address
city City
state_province State/province
country Country
phoneOne Phone number
comments Description
contact Contact name at Vendor
external_id External ID of Vendor (maintained by user)
currency Currency preset for Purchase Order creation
payment_methods List of Payment Methods (used in AP payments for
processing or recording payments)
default_payment_method ID of Payment Method prefill on AP payments
Create Vendor
Endpoint (POST)
/api/
v3/vendors/
Body
{
"email"
:[
],
"name"
:
"Sample Vendor",
"addressLineOne"
:
"1234 Street",
"city"
:
"City",
"state_province"
:
"State",
"postalCode"
:
"PostalCode",
"country"
:
"USA",
"payment_term_ref"
:
"124",
"shipping_method_ref"
:
"4",
"shipping_term_ref"
:
"42",
"payment_methods"
:[
],
"type"
:3
}
Object Keys
Key Description
name * Payment terms preset for Purchase Order creation
email List of Vendor contact emails
payment_term_ref Payment terms preset for Purchase Order creation
shipping_term_ref Shipping terms preset for Purchase Order creation
payment_method_ref Payment terms preset for Purchase Order creation
name Name of Vendor
addressLineOne Address
city City
state_province State/province
country Country
phoneOne Phone number
comments Description
contact Contact name at Vendor
external_id External ID of Vendor (maintained by user)
currency Currency preset for Purchase Order creation
Response
{
"data"
:{
"id"
:
4709,
"name"
:
"Sample Vendor",
"addressLineOne"
:
"1234 Street",
"addressLineTwo"
:
"",
"postalCode"
:
"PostalCode",
"city"
:
"City",
"state_province"
:
"State",
"country"
:
"USA",
"phoneOne"
:
"",
"phoneTwo"
:
"",
"fax"
:
"",
"email"
:[
],
"comments"
:
"",
"contact"
:
"",
"url"
:
"",
"external_id"
:
"",
"dateModified"
:
"20160624T19:52:12Z",
"currency"
:
null,
"payment_term_ref"
:{
"id"
:
124,
"name"
:
"net 30",
"description"
:
"net 30",
"active"
:
true
},
"shipping_term_ref"
:{
"id"
:
42,
"name"
:
"shipping terms name",
"description"
:
"shipping terms description",
"active"
:
true
},
"payment_method_ref"
:
null,
"shipping_method_ref"
:{
"id"
:
4,
"name"
:
"Ship Via",
"description"
:
"Ship Via",
"active"
:
true
},
"payment_methods"
:[
],
"type"
:
3,
"default_payment_method"
:
null
},
"metadata"
:{
}
}
Create Vendor Payment Method
Endpoint (POST)
/api/
v2/ap/vendor_payment_methods/
Body
{
"name"
:
"Vendor Check",
"type"
:
"1",
"currency"
:
"1",
"data"
:{
"payable_to"
:
"Sample Vendor"
},
"vendor"
:
4709
}
Object Keys
Key Description
name * Payment Method description
type * 0 (OTHER), 1 (CHECK) , 2 (ACH)
currency ID of Currency
data ** type specific payment method fields
vendor ID of Vendor
** type specific payment method fields as follows:
ACH
{
"routing_number": 123456789,
"account_number": 1234567891234567,
"company_name": "Sample company",
}
CHECK
{
"payable_to": "Sample vendor"
}
Response (201 CREATED)
{
"data"
:{
"id"
:
6,
"vendor"
:
4709,
"name"
:
"Vendor Check",
"type"
:
1,
"data"
:{
"payable_to"
:
"Sample Vendor"
},
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"0.500000",
"base"
:
false,
"active"
:
true
}
},
"metadata"
:{
}
}
Currency
Get Active/Inactive Currencies
Endpoint (GET)
/api/
v2/currencies/
Parameters
Filter Parameter Type Description
Catalog
Get All Catalog Items
Endpoint (GET)
/api/
v2/catalog_items/
Response
{
"data"
:[
{
"id"
:
1,
"name"
:
"Cardboard Boxes",
"image"
:
"assets/default/cardboardbox.jpg",
"unitType"
:
"Box",
"pref_vendor"
:{
"id"
:
2,
"name"
:
"Staples ",
"addressLineOne"
:
"1852 24th Ave",
"addressLineTwo"
:
"",
"postalCode"
:
"72715",
"city"
:
"New York",
"state_province"
:
"NY",
"country"
:
"US",
"phoneOne"
:
"4791958789",
"phoneTwo"
:
"4796964781",
"fax"
:
"4792225688",
"email"
:
"[u'[email protected]']",
"comments"
:
"Please call AR when placing PO to confirm receipt.",
"contact"
:
"Joe Smith",
"url"
:
"http://www.staples.com/",
"external_id"
:
"91238",
"payment_terms"
:
"NET 30",
"shipping_terms"
:
"FOB",
"ship_via"
:
"UPS",
"type"
:
3,
"dateModified"
:
"20160530T01:02:20Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
2,
"payment_term_ref"
:
null,
"shipping_term_ref"
:
4,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
10,
"employee_user"
:
null
},
"account_code"
:
null,
"internalSKU"
:
"C02392",
"description"
:
"",
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"rate"
:
"1.000000",
"base"
:
true
},
"price"
:
"2.00000000",
"rfo_lock"
:
false,
"custom_attributes"
:[
],
"departments"
:[
],
"custom_fields"
:[
]
}
],
"metadata"
:{
"searchable_fields"
:[
"name",
"description",
"internalSKU",
"pref_vendor__name",
"unitType"
],
"pagination"
:{
"count"
:
26,
"num_pages"
:
3,
"current_page"
:
1,
"page_size"
:
10,
"next"
:
"https://<domain>.procurify.com/api/v2/catalog_items/?page=2",
"previous"
:
null
}
}
}
Catalog Item fields
Key Description
id Primary key / ID of Catalog Item
name Catalog Item name
unitType Unit of measurement
pref_vendor Preset Vendor for Request creation
account_code Preset Account Code for Request creation
internalSKU Internal company ID for Catalog Item (maintained by user)
description Description
price Preset price for Request creation
currency Preset currency for Request creation
custom_attributes List of custom attributes presets for Request creation
departments List of Departments where this catalog item can be
requested under (restriction toggleable in Settings >
Catalog Preferences)
Create Catalog Item
Endpoint (POST)
/api/
v2/catalog_items/
Body
{
"rfo_lock"
:
false,
"pref_vendor"
:
"14",
"currency"
:
1,
"name"
:
"Computer Item",
"internalSKU"
:
"123456",
"account_code"
:
"37",
"price"
:
"100.00000000",
"unitType"
:
"unit",
"description"
:
"This is a catalog item.",
"departments"
:[
],
"custom_attributes"
:[
],
"image"
:
"admin_262e7038_logo_standard.png"
}
Object Keys
Key Description
name * Catalog Item name
unitType Unit of measurement
pref_vendor ID of Preset Vendor for Request creation
account_code ID of Preset Account Code for Request creation
internalSKU Internal company ID for Catalog Item (maintained by user)
description Description
price Preset price for Request creation
currency ID of Preset currency for Request creation
custom_attributes List of custom attributes presets for Request creation
departments List of Departments where this catalog item can be
requested under (restriction toggleable in Settings >
Catalog Preferences)
Response (201 CREATED)
{
"data"
:{
"id"
:
50,
"name"
:
"Computer Item",
"image"
:
"admin_262e7038_logo_standard.png",
"unitType"
:
"unit",
"pref_vendor"
:{
"id"
:
14,
"name"
:
"Brainbox",
"addressLineOne"
:
"22756 Monica Way",
"addressLineTwo"
:
"4 Wayridge Park",
"postalCode"
:
"17503",
"city"
:
"Ranch",
"state_province"
:
"Washington",
"country"
:
"USA",
"phoneOne"
:
"7(613)1427793",
"phoneTwo"
:
"",
"fax"
:
"9(226)8572378",
"email"
:
"[u'[email protected]']",
"comments"
:
"Sample comment",
"contact"
:
"George Lance",
"url"
:
"http://procurify.com/",
"external_id"
:
"61",
"payment_terms"
:
"NET 30",
"shipping_terms"
:
"Freight",
"ship_via"
:
"UPS",
"type"
:
3,
"dateModified"
:
"20150916T23:53:21Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
null,
"payment_term_ref"
:
null,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"employee_user"
:
null
},
"account_code"
:{
"id"
:
37,
"code"
:
"630",
"code_length"
:
3,
"description"
:
"Supplies",
"account_type"
:
2,
"active"
:
true,
"parent"
:
null
},
"internalSKU"
:
"123456",
"description"
:
"This is a catalog item.",
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"rate"
:
"0.500000",
"base"
:
false
},
"price"
:
"100.00000000",
"rfo_lock"
:
false,
"custom_attributes"
:[
],
"departments"
:[
]
},
"metadata"
:{
"searchable_fields"
:[
"name",
"description",
"internalSKU",
"pref_vendor__name",
"unitType"
]
}
}
Get All Catalog Bundles
Endpoint (GET)
/api/
v2/catalog_bundles/
Response
{
"data"
:[
{
"id"
:
1,
"items"
:[
{
"id"
:
9,
"name"
:
"Leather Padfolio",
"image"
:
"carolprocurifycom_db99fa0a_padfolio.PNG",
"unitType"
:
"Unit",
"pref_vendor"
:{
"id"
:
2,
"name"
:
"Staples ",
"addressLineOne"
:
"1852 24th Ave",
"addressLineTwo"
:
"",
"postalCode"
:
"72715",
"city"
:
"New York",
"state_province"
:
"NY",
"country"
:
"US",
"phoneOne"
:
"4791958789",
"phoneTwo"
:
"4796964781",
"fax"
:
"4792225688",
"email"
:
"[u'[email protected]']",
"comments"
:
"Please call AR when placing PO to confirm receipt.",
"contact"
:
"Joe Smith",
"url"
:
"http://www.staples.com/",
"external_id"
:
"91238",
"payment_terms"
:
"NET 30",
"shipping_terms"
:
"FOB",
"ship_via"
:
"UPS",
"type"
:
3,
"dateModified"
:
"20160530T01:02:20Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
2,
"payment_term_ref"
:
null,
"shipping_term_ref"
:
4,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
10,
"employee_user"
:
null
},
"account_code"
:
null,
"internalSKU"
:
"219423",
"description"
:
"Bugatti Adams Genuine Leather Padfolio, Black",
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"rate"
:
"1.000000",
"base"
:
true
},
"price"
:
"31.50000000",
"rfo_lock"
:
false,
"custom_attributes"
:[
],
"departments"
:[
],
"custom_fields"
:[
],
"quantity"
:1
},
{
"id"
:
10,
"name"
:
"64GB USB Flash Drive",
"image"
:
"carolprocurifycom_c48335b6_usb.jpg",
"unitType"
:
"Unit",
"pref_vendor"
:{
"id"
:
2,
"name"
:
"Staples ",
"addressLineOne"
:
"1852 24th Ave",
"addressLineTwo"
:
"",
"postalCode"
:
"72715",
"city"
:
"New York",
"state_province"
:
"NY",
"country"
:
"US",
"phoneOne"
:
"4791958789",
"phoneTwo"
:
"4796964781",
"fax"
:
"4792225688",
"email"
:
"[u'[email protected]']",
"comments"
:
"Please call AR when placing PO to confirm receipt.",
"contact"
:
"Joe Smith",
"url"
:
"http://www.staples.com/",
"external_id"
:
"91238",
"payment_terms"
:
"NET 30",
"shipping_terms"
:
"FOB",
"ship_via"
:
"UPS",
"type"
:
3,
"dateModified"
:
"20160530T01:02:20Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
2,
"payment_term_ref"
:
null,
"shipping_term_ref"
:
4,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
10,
"employee_user"
:
null
},
"account_code"
:
null,
"internalSKU"
:
"343171",
"description"
:
"Lexarâ„¢ 64GB JumpDrive S70 USB Flash Drive, Black",
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"rate"
:
"1.000000",
"base"
:
true
},
"price"
:
"79.96000000",
"rfo_lock"
:
true,
"custom_attributes"
:[
],
"departments"
:[
],
"custom_fields"
:[
],
"quantity"
:1
}
],
"name"
:
"Employee Package",
"description"
:
"",
"image"
:
null,
"active"
:
true
}
],
"metadata"
:{
"searchable_fields"
:[
"name",
"description",
"bundletocatalog__catalog_item__name",
"bundletocatalog__catalog_item__internalSKU",
"bundletocatalog__catalog_item__pref_vendor__name",
"bundletocatalog__catalog_item__unitType",
"bundletocatalog__catalog_item__description"
],
"pagination"
:{
"count"
:
2,
"num_pages"
:
1,
"current_page"
:
1,
"page_size"
:
10,
"next"
:
null,
"previous"
:
null
}
}
}
Catalog Bundle fields
Key Description
id Primary key / ID of Catalog Bundle
items List of Catalog Items (See section
Catalog Items
)
name Catalog Bundle name
description Description
image Image of Bundle
active Active/inactive
Create Catalog Bundle
Endpoint (PUT)
/api/
catalog/bundle/
Body
{
"name":"Request Bundle",
"description":"This bundle is for new employees.",
"catalog_items":{
"12":1,
"13":"2"
}
}
Object Keys
Key Description
name * Catalog Bundle name
description Description
catalog_items Key:value structure of (Catalog Item ID: Quantity)
Response (201 CREATED)
{
"code"
:
0,
"data"
:{
},
"description"
:
"Bundle created/updated successfully.",
"success"
:
true
}
Orders
Get All Orders
Endpoint (GET)
/api/
v2/global/orders/
Parameters
Filter Parameter Type Description
Order fields
Key Description
num Primary key / ID of Order
totalPrice Total of Order value in base currency
lineCount Number of order items in Order
date Created date
dateRequired Order required date
dateModified Last modified date
department Requested department
user Request submitting user
nextApprover Pending approver user
Get All Order Items
Endpoint (GET)
/api/
v2/global/order_items/
Parameters
Filter Parameter Type Description
Order Item fields
Key Description
id Primary key / ID of Order Item
account Account (budget of Dept + Acct Code) where cost is
allocated
name Item description
currency Currency for item price
quantity Quantity of item
price Unit price of item
total_cost Total cost of item in currency
unit Unit of measure
orderNum ID of Order where item is under
lineComment Comment on the item by requester
sku SKU of item
pref_vendor Preferred vendor for item
date_required Required fulfilment date
attachments **Attachment file for the item
receivedPassQty Received pass quantity of item
receivedFailQty Received failed quantity of item
Note:
attachments are, by default, uploaded to Procurify’s Google CDN (eg.
https://commondatastorage.googleapis.com/cdn.procurify.com/ )
<attachment_file_in_item>
Purchase Orders
Get Purchase Orders by Role & Status
Endpoint (GET)
/api/
v2/purchase_orders/(purchased,receivable)/<status>/
Endpoint Status Queries
● purchased: all, open, partial, closed, cancelled, paid
● receivable: all, open, partial, closed, cancelled, paid
Parameters
Filter Parameter Type Description
page integer
page_size integer
Response
{
"data"
:[
{
"uuid"
:
"9775b9bb2e6b11e683d206649396b11b",
"purchaser"
:{
"id"
:
2,
"department"
:{
"id"
:
26,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Operations",
"active"
:
true
},
"firstName"
:
"Frank",
"lastName"
:
"Borman",
"email"
:
"[email protected]",
"position"
:
"Gemini 7 Command Pilot",
"phone"
:
"18884635254",
"address"
:
"",
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"nicsacom_aa1fbc9b_frankborman.jpg",
"slack_user_id"
:
"U0MQVC6NA",
"user"
:
2,
"permission"
:7
},
"procurify_PO"
:
20,
"PO_Num"
:
"",
"date"
:
"20160609T17:57:12Z",
"buyer_name"
:
"Glenn Research Center",
"buyer_contact"
:
"Frank Borman",
"buyer_addressLineOne"
:
"21000 Brookpark Rd, Cleveland",
"buyer_postalCode"
:
"44135",
"buyer_city"
:
"Cleveland",
"buyer_state_province"
:
"OH",
"buyer_country"
:
"USA",
"buyer_address"
:{
"id"
:
1,
"name"
:
"Glenn Research Center",
"addressAssociation"
:
1,
"addressLineOne"
:
"21000 Brookpark Rd, Cleveland",
"addressLineTwo"
:
"",
"postalCode"
:
"44135",
"city"
:
"Cleveland",
"state_province"
:
"OH",
"country"
:
"USA"
},
"receiver_name"
:
"Glenn Research Center",
"receiver_contact"
:
"Frank Borman",
"receiver_addressLineOne"
:
"21000 Brookpark Rd, Cleveland",
"receiver_postalCode"
:
"44135",
"receiver_city"
:
"Cleveland",
"receiver_state_province"
:
"OH",
"receiver_country"
:
"USA",
"receiver_address"
:{
"id"
:
2,
"name"
:
"Glenn Research Center",
"addressAssociation"
:
2,
"addressLineOne"
:
"21000 Brookpark Rd, Cleveland",
"addressLineTwo"
:
"",
"postalCode"
:
"44135",
"city"
:
"Cleveland",
"state_province"
:
"OH",
"country"
:
"USA"
},
"pref_vendor"
:{
"id"
:
3,
"name"
:
"Cleaners R Us ",
"addressLineOne"
:
"5383 Lancaster Drive",
"addressLineTwo"
:
"",
"postalCode"
:
"15753",
"city"
:
"Seattle",
"state_province"
:
"WA",
"country"
:
"US",
"phoneOne"
:
"2564871475",
"phoneTwo"
:
"",
"fax"
:
"2564871476",
"email"
:
"[u'[email protected]']",
"comments"
:
"",
"contact"
:
"Brian Williams",
"url"
:
"http://www.cleaners.com/",
"external_id"
:
"15715",
"payment_terms"
:
"CC",
"shipping_terms"
:
"",
"ship_via"
:
"",
"type"
:
3,
"dateModified"
:
"20160311T23:09:51Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
null,
"payment_term_ref"
:
8,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"employee_user"
:
null
},
"vendor_name"
:
"Cleaners R Us ",
"vendor_contact"
:
"Brian Williams",
"vendor_addressLineOne"
:
"5383 Lancaster Drive",
"vendor_postalCode"
:
"15753",
"vendor_city"
:
"Seattle",
"vendor_state_province"
:
"WA",
"vendor_country"
:
"US",
"payment_terms"
:
"CC",
"shipping_terms"
:
"None",
"shipping_method"
:
"None",
"promise_date"
:
"20160609T06:00:00Z",
"subtotal"
:
"112.00",
"freight"
:
"0.000000",
"discount"
:
"0.000000",
"discountMethod"
:
false,
"tax"
:
"0.000000",
"taxMethod"
:
false,
"other"
:
"0.000000",
"total"
:
"112.00",
"comment"
:
"",
"purchased_currency"
:{
"id"
:
3,
"name"
:
"USD",
"rate"
:
"1.000000",
"base"
:
false
},
"purchased_currency_rate"
:
"1.000000",
"active"
:
false,
"state"
:
0,
"fulfilment_status"
:
"empty",
"disclaimer_description"
:
"",
"disclaimer_text"
:
"",
"recorded_date"
:
null,
"closed_date"
:
null,
"last_modified"
:
"20160609T17:57:12Z",
"staged_for_export"
:
true,
"version"
:
1,
"item_count"
:1
}
],
"metadata"
:{
"searchable_fields"
:[
],
"counts"
:{
"receivable"
:{
"all"
:
20,
"partial"
:
1,
"paid"
:
8,
"closed"
:
8,
"cancelled"
:
1,
"open":3
},
"payment":{
"unpaid":9,
"paid":8
},
"purchased":{
"all":20,
"partial":1,
"paid":8,
"unpaid":9,
"closed":8,
"cancelled":1,
"open":3
}
},
"pagination":{
"count":1,
"num_pages":1,
"current_page":1,
"page_size":10,
"next":null,
"previous":null
}
}
}
PO fields
Key Description
procurify_PO Primary key / ID of Purchase Order
purchaser Purchasing user
pref_vendor Vendor of Purchase Order
date Created date
payment_terms Payment terms
shipping_terms Shipping terms
shipping_method Shipping method
promise_date Promise date
purchased_currency Currency of Purchase Order
subtotal Subtotal price
discount Discount applied
discountMethod True ($) / false (%)
tax Tax applied
taxMethod True ($) / false (%)
total Total price
state 0 (purchased), 1 (cancelled), 3 (closed), 4 (paid), 5
(reopened)
fulfilment_status ‘empty’, ‘partial’, ‘full’
recorded_date Date of Payment record
closed_date Date of Closing (fullreceived or user closed)
buyer_name Purchasing company location name
buyer_address Address of purchasing company location
receiver_name Receivable company location name
receiver_address Address of receivable company location
disclaimer_text Disclaimer on Purchase Order
version Version of Purchase Order
Get Purchase Order by ID (with items)
Endpoint (GET)
/api/
v2/purchase_orders/<id>/
Response
{
"data"
:{
"uuid"
:
"9775b9bb2e6b11e683d206649396b11b",
"purchaser"
:{
"id"
:
2,
"department"
:{
"id"
:
26,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Operations",
"active"
:
true
},
"firstName"
:
"Frank",
"lastName"
:
"Borman",
"email"
:
"[email protected]",
"position"
:
"Gemini 7 Command Pilot",
"phone"
:
"18884635254",
"address"
:
"",
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"nickprocurifyprocurifycom_aa1fbc9b_frankborman.jpg",
"slack_user_id"
:
"U0MQVC6NA",
"user"
:
2,
"permission"
:7
},
"procurify_PO"
:
20,
"PO_Num"
:
"",
"date"
:
"20160609T17:57:12Z",
"buyer_name"
:
"Glenn Research Center",
"buyer_contact"
:
"Frank Borman",
"buyer_addressLineOne"
:
"21000 Brookpark Rd, Cleveland",
"buyer_postalCode"
:
"44135",
"buyer_city"
:
"Cleveland",
"buyer_state_province"
:
"OH",
"buyer_country"
:
"USA",
"buyer_address"
:{
"id"
:
1,
"name"
:
"Glenn Research Center",
"addressAssociation"
:
1,
"addressLineOne"
:
"21000 Brookpark Rd, Cleveland",
"addressLineTwo"
:
"",
"postalCode"
:
"44135",
"city"
:
"Cleveland",
"state_province"
:
"OH",
"country"
:
"USA"
},
"receiver_name"
:
"Glenn Research Center",
"receiver_contact"
:
"Frank Borman",
"receiver_addressLineOne"
:
"21000 Brookpark Rd, Cleveland",
"receiver_postalCode"
:
"44135",
"receiver_city"
:
"Cleveland",
"receiver_state_province"
:
"OH",
"receiver_country"
:
"USA",
"receiver_address"
:{
"id"
:
2,
"name"
:
"Glenn Research Center",
"addressAssociation"
:
2,
"addressLineOne"
:
"21000 Brookpark Rd, Cleveland",
"addressLineTwo"
:
"",
"postalCode"
:
"44135",
"city"
:
"Cleveland",
"state_province"
:
"OH",
"country"
:
"USA"
},
"pref_vendor"
:{
"id"
:
3,
"name"
:
"Cleaners R Us ",
"addressLineOne"
:
"5383 Lancaster Drive",
"addressLineTwo"
:
"",
"postalCode"
:
"15753",
"city"
:
"Seattle",
"state_province"
:
"WA",
"country"
:
"US",
"phoneOne"
:
"2564871475",
"phoneTwo"
:
"",
"fax"
:
"2564871476",
"email"
:
"[u'[email protected]']",
"comments"
:
"",
"contact"
:
"Brian Williams",
"url"
:
"http://www.cleaners.com/",
"external_id"
:
"15715",
"payment_terms"
:
"CC",
"shipping_terms"
:
"",
"ship_via"
:
"",
"type"
:
3,
"dateModified"
:
"20160311T23:09:51Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
null,
"payment_term_ref"
:
8,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"employee_user"
:
null
},
"vendor_name"
:
"Cleaners R Us ",
"vendor_contact"
:
"Brian Williams",
"vendor_addressLineOne"
:
"5383 Lancaster Drive",
"vendor_postalCode"
:
"15753",
"vendor_city"
:
"Seattle",
"vendor_state_province"
:
"WA",
"vendor_country"
:
"US",
"payment_terms"
:
"CC",
"shipping_terms"
:
"None",
"shipping_method"
:
"None",
"promise_date"
:
"20160609T06:00:00Z",
"subtotal"
:
"112.00",
"freight"
:
"0.000000",
"discount"
:
"0.000000",
"discountMethod"
:
false,
"tax"
:
"0.000000",
"taxMethod"
:
false,
"other"
:
"0.000000",
"total"
:
"112.00",
"comment"
:
"",
"purchased_currency"
:{
"id"
:
3,
"name"
:
"USD",
"rate"
:
"1.000000",
"base"
:
false
},
"purchased_currency_rate"
:
"1.000000",
"active"
:
false,
"state"
:
0,
"fulfilment_status"
:
"empty",
"disclaimer_description"
:
"",
"disclaimer_text"
:
"",
"recorded_date"
:
null,
"closed_date"
:
null,
"last_modified"
:
"20160609T17:57:12Z",
"staged_for_export"
:
true,
"version"
:
1,
"item_count"
:
1,
"orderitem_set"
:[
{
"id"
:
110,
"order_uuid"
:
"a5018eea099a46349f65920221b24acf",
"pref_vendor"
:{
"id"
:
3,
"name"
:
"Cleaners R Us ",
"addressLineOne"
:
"5383 Lancaster Drive",
"addressLineTwo"
:
"",
"postalCode"
:
"15753",
"city"
:
"Seattle",
"state_province"
:
"WA",
"country"
:
"US",
"phoneOne"
:
"2564871475",
"phoneTwo"
:
"",
"fax"
:
"2564871476",
"email"
:
"[u'[email protected]']",
"comments"
:
"",
"contact"
:
"Brian Williams",
"url"
:
"http://www.cleaners.com/",
"external_id"
:
"15715",
"payment_terms"
:
"CC",
"shipping_terms"
:
"",
"ship_via"
:
"",
"type"
:
3,
"dateModified"
:
"20160311T23:09:51Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
null,
"payment_term_ref"
:
8,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"employee_user"
:
null
},
"vendor"
:
"Cleaners R Us ",
"date_required"
:
"20160323T19:00:00Z",
"purchaser"
:{
"id"
:
2,
"department"
:{
"id"
:
26,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Operations",
"active"
:
true
},
"firstName"
:
"Frank",
"lastName"
:
"Borman",
"email"
:
"[email protected]",
"position"
:
"Gemini 7 Command Pilot",
"phone"
:
"18884635254",
"address"
:
"",
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"nickprocurifyprocurifycom_aa1fbc9b_frankborman.jpg",
"slack_user_id":"U0MQVC6NA",
"user":2,
"permission":7
},
"account":{
"id":81,
"account_code":{
"id":1,
"code":"1000",
"code_length":4,
"description":"Supplies",
"account_type":2,
"active":true,
"parent":null
},
"department":{
"id":5,
"branch":{
"id":1,
"name":"Glenn Research Center"
},
"name":"Aerospace",
"active":true
},
"start_datetime":"20150101T08:00:00Z",
"end_datetime":"20161231T08:00:00Z",
"budget":"80000.00",
"budget_used_approved":"1307.75",
"budget_used_purchased":"140.99",
"balance_approved":"1307.75",
"balance_purchased":"140.99",
"active":true
},
"currency":{
"id":3,
"name":"USD",
"rate":"1.000000",
"base":false
},
"purchased_currency_rate":"1.000000",
"comments":[
],
"logs":[
],
"custom_fields":[
],
"quantity":1,
"receivedPassQty":0,
"receivedFailQty":0,
"approved_quantity"
:
1,
"custom_attributes"
:[
],
"catalog_item"
:
null,
"attachments"
:[
],
"inventoryItem"
:
null,
"accountCode"
:
"",
"name"
:
"Cleaning Service",
"sku"
:
"C2392",
"price"
:
"112.00000000",
"total_cost"
:
"112.00",
"unit"
:
"Room",
"lineComment"
:
"Garbage disposal, Mopping, and Vacuum included",
"active"
:
true,
"hot"
:
false,
"dateInvoiced"
:
null,
"num"
:
"1",
"status"
:
2,
"PO_line_num"
:
1,
"po_version"
:
1,
"po_note"
:
"",
"approved_currency_rate"
:
"1.000000",
"approved_datetime"
:
"20160530T01:26:32Z",
"approved_price"
:
"112.00000000",
"last_modified"
:
"20160609T17:57:12Z",
"orderNum"
:
81,
"category"
:
null,
"last_changed_by"
:
2,
"PO"
:[
20
],
"account_id"
:
81
}
]
},
"metadata"
:{
"permissions"
:{
"can_edit"
:
true,
"can_delete"
:
false
}
}
}
PO fields (with orderitem_set)
Key Description
procurify_PO Primary key / ID of Purchase Order
orderitem_set List of order items (See section
Order Items
)
purchaser Purchasing user
pref_vendor Vendor of Purchase Order
date Created date
payment_terms Payment terms
shipping_terms Shipping terms
shipping_method Shipping method
promise_date Promise date
purchased_currency Currency of Purchase Order
subtotal Subtotal price
discount Discount applied
discountMethod True ($) / false (%)
tax Tax applied
taxMethod True ($) / false (%)
total Total price
state 0 (purchased), 1 (cancelled), 3 (closed), 4 (paid), 5
(reopened)
fulfilment_status ‘empty’, ‘partial’, ‘full’
recorded_date Date of Payment record
closed_date Date of Closing (fullreceived or user closed)
buyer_name Purchasing company location name
buyer_address Address of purchasing company location
receiver_name Receivable company location name
receiver_address Address of receivable company location
disclaimer_text Disclaimer on Purchase Order
version Version of Purchase Order
Expense Reports
Get All Expense Reports
Endpoint (GET)
/api/
v2/global/expenses/
Parameters
Filter Parameter Type Description
active true/false
Expense Report fields
Key Description
id Primary key/ ID of Expense Report
user Requester of the Expense Report
department Department that the report is requested under
items List of Expense Items
total_amount Total cost for the report
title Title of Expense Report
files List of attachment files for bulk receipt uploads**
notes Description of the report by requester
createdDate Created date
nextApprover Next pending approving user
travel Approved Travel that the report is connected to
logs Log object for Expense Report action history
Note:
attachments are, by default, uploaded to Procurify’s Google CDN (eg.
https://commondatastorage.googleapis.com/cdn.procurify.com/ )
<attachment_file_in_item>
Get All Expense Items
Endpoint (GET)
/api/
v2/global/expense_items/
Parameters
Filter Parameter Type Description
Expense Item fields
Key Description
id Primary key/ ID of Expense Item
expenseReport ID of Expense Report that item is under
account Account selected for Expense
merchant Merchant / Vendor of item
transDate Expense transaction date
reimburse Reimbursable toggle
paymentType Transaction payment type: 0 (credit card), 1 (cash), 2
(check)
amount Total amount of Expense (includes tax)
notes Description of expense by requester
attachment ** Attachment file of expense item
currency_rate_final Currency rate for item on final approval
localCurrency Currency object of expense item
last_changed_by User who last updated expense
expense_type 0 (others), 1 (meals), 2 (mileage), 3 (labour), 4 (airfare), 5
(lodging)
expense_type_fields *** Fields which belong to certain types
**
Note:
attachments are, by default, uploaded to Procurify’s Google CDN (eg.
https://commondatastorage.googleapis.com/cdn.procurify.com/ )
<attachment_file_in_item>
***
Expense type fields dictate certain fields that are applicable by type, defined as below:
{
"AIRFARE"
:
{
"ticket_number"
:
{
"field_type"
:
"CharField",
"required"
:
False,
"value"
:
""
},
"arrival_date"
:
{
"field_type"
:
"DateField",
"required"
:
False,
"value"
:
""
},
"departure_date"
:
{
"field_type"
:
"DateField",
"required"
:
False,
"value"
:
""
},
"airline"
:
{
"field_type"
:
"CharField",
"required"
:
False,
"value"
:
""
},
},
"LABOUR"
:
{
"hourly_rate"
:
{
"field_type"
:
"DecimalField",
"required"
:
False,
"value"
:
0.00
},
"hours_of_work"
:
{
"field_type"
:
"DecimalField",
"required"
:
False,
"value"
:
0.00
},
},
"MEALS"
:
{
"tips"
:
{
"field_type"
:
"DecimalField",
"required"
:
False,
"value"
:
0.00
},
},
"LODGING"
:
{},
"MILEAGE"
:
{
"mileage_rate"
:
{
"field_type"
:
"DecimalField",
"required"
:
False,
"value"
:
0.00
},
"distance"
:
{
"field_type"
:
"DecimalField",
"required"
:
False,
"value"
:
0.00
},
"unit_of_distance"
:
{
"field_type"
:
"CharField",
"required"
:
False,
"value"
:
"km"
},
},
"OTHERS"
:
{}
}
Travel
Get All Travels
Endpoint (GET)
v2/global/travels/
/api/
Response
{
"data"
:[
{
"id"
:
6,
"uuid"
:
"8e649ad60d2e47819a4673b28f29589c",
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters",
"url"
:
"https://www.nasa.gov/centers/hq/home/",
"logo"
:
"kevinprocurifycom_8a608787_250pxNasahq.jpg",
"language"
:
1,
"multipleLocations"
:
false,
"locationTimezone"
:
"America/Swift_Current",
"userLimit"
:
0,
"budgetOvertureToggle"
:
true,
"purchase_filtering"
:
false,
"catalog_permission"
:
false,
"separate_expense_approval"
:
true,
"standalone_travel_approval"
:
false,
"phoneOne"
:
"(202) 3580000",
"phoneTwo"
:
null,
"fax"
:
null,
"email"
:
null,
"fiscalYearEndDay"
:
null,
"fiscalYearEndMonth"
:
null,
"beginDate"
:
"20151021T18:06:00Z",
"ported"
:
true,
"port_date"
:
null,
"active"
:
true,
"activated"
:
true,
"setup_stage"
:
"FIN",
"localCurrency"
:
3,
"contactPerson"
:
null,
"buyerAddress"
:
26,
"shippingAddress"
:
27
},
"requester"
:{
"id"
:
2,
"department"
:{
"id"
:
26,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Operations",
"active"
:
true
},
"firstName"
:
"Frank",
"lastName"
:
"Borman",
"email"
:
"[email protected]",
"position"
:
"Gemini 7 Command Pilot",
"phone"
:
"18884635254",
"address"
:
"",
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"nickredshift7procurifycom_aa1fbc9b_frankborman.jpg",
"slack_user_id"
:
"U0MQVC6NA",
"user"
:
2,
"permission"
:7
},
"department"
:{
"id"
:
27,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Maintenance",
"active"
:
true
},
"logs"
:[
{
"id"
:
13,
"user"
:{
"id"
:
2,
"department"
:{
"id"
:
26,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Operations",
"active"
:
true
},
"firstName"
:
"Frank",
"lastName"
:
"Borman",
"email"
:
"[email protected]",
"position"
:
"Gemini 7 Command Pilot",
"phone"
:
"18884635254",
"address"
:
"",
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"nickredshift7procurifycom_aa1fbc9b_frankborman.jpg",
"slack_user_id"
:
"U0MQVC6NA",
"user"
:
2,
"permission"
:7
},
"next_approver"
:{
"id"
:
6,
"department"
:{
"id"
:
26,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Operations",
"active"
:
true
},
"firstName"
:
"Neil",
"lastName"
:
"Armstrong",
"email"
:
"[email protected]",
"position"
:
"Apollo 11 Commander, First man on moon.",
"phone"
:
"18884635254",
"address"
:
null,
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"nickredshift7procurifycom_93d2154b_neilarmstrong.jpg",
"slack_user_id"
:
"U0MQY9K6C",
"user"
:
6,
"permission"
:2
},
"nextApprover"
:{
"id"
:
6,
"department"
:{
"id"
:
26,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Operations",
"active"
:
true
},
"firstName"
:
"Neil",
"lastName"
:
"Armstrong",
"email"
:
"[email protected]",
"position"
:
"Apollo 11 Commander, First man on moon.",
"phone"
:
"18884635254",
"address"
:
null,
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"nickredshift7procurifycom_93d2154b_neilarmstrong.jpg",
"slack_user_id"
:
"U0MQY9K6C",
"user"
:
6,
"permission"
:2
},
"dateTime"
:
"20151118T01:03:28Z",
"action"
:
0,
"oldTravelBudget"
:
"0.00",
"newTravelBudget"
:
"0.00",
"travel"
:6
}
],
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"rate"
:
"1.000000",
"base"
:
true
},
"destinations"
:[
{
"id"
:
9,
"arrivalAddress"
:{
"id"
:
30,
"name"
:
"Washington, DC, USA",
"addressAssociation"
:
4,
"addressLineOne"
:
"Washington, DC, USA",
"addressLineTwo"
:
"",
"postalCode"
:
"N/A",
"city"
:
"N/A",
"state_province"
:
"",
"country"
:
"N/A"
},
"departureAddress"
:{
"id"
:
31,
"name"
:
"Florida, USA",
"addressAssociation"
:
4,
"addressLineOne"
:
"Florida, USA",
"addressLineTwo"
:
"",
"postalCode"
:
"N/A",
"city"
:
"N/A",
"state_province"
:
"",
"country"
:
"N/A"
},
"sequence"
:
1,
"departure"
:
"15ad410f1eb477265cfa2dd9866fb6c4d4fa9ad9",
"departureReference"
:
"CnRpAAAAAKoUGIcyezT_nZR4ggO7rnxeau4gBrG10iImVMcqs32kOSPgFQ9vNu5k80Wvpl__OtF_dt3ISG4
cx1RaOzl_hHdx6WwfO0hW3noGrZSoI1KXEAYoKNOKvt6PfJFABHZ2X_B0981oiyGf_tZXFkSRIQd5u3BTawT2JnsesI49wofhoURP_6iT
HuCJRpBcHRnNQoIYfWI",
"departureDate"
:
"20151123T06:00:00Z",
"departure_address_cache"
:
"{}",
"arrival"
:
"49c0cb4aa94c88be75611d5c80f29cf05d55a340",
"arrivalReference"
:
"CnRwAAAARVIV_sB_9RkvudnJci0LaozTp3sxUQAwkfRO5RVj7t6SGm64knvBt9v3ZxRuHVpMrNP9gOoeM6GxiS
HMBTrDOr968Zbij04TVF1nfeywMg93Lon0wwAngpQ7doiSMtP0QPj1xH8BHw6XnT7x5BPfXBIQRncPT9lJFJMEK0_SoMHxZxoUy7iL7NdC
EcPqm5mN9yzWKm11QM",
"arrivalDate"
:
"20151130T06:00:00Z",
"arrival_address_cache"
:
"{}",
"Transport"
:
0,
"travel"
:
6,
"last_changed_by"
:
null
}
],
"comments"
:[
],
"purpose"
:
"Going to NASA for maintenance on the Mars Rover",
"dateCreated"
:
"20151118T01:03:28Z",
"dateLastModified"
:
"20151118T01:03:28Z",
"details"
:
"",
"travelBudget"
:
"2500.00",
"status"
:
0,
"active"
:
true,
"last_changed_by"
:
null,
"approver"
:{
"id"
:
6,
"department"
:{
"id"
:
26,
"branch"
:{
"id"
:
5,
"name"
:
"NASA Headquarters"
},
"name"
:
"Operations",
"active"
:
true
},
"firstName"
:
"Neil",
"lastName"
:
"Armstrong",
"email"
:
"[email protected]",
"position"
:
"Apollo 11 Commander, First man on moon.",
"phone"
:
"18884635254",
"address"
:
null,
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"nickredshift7procurifycom_93d2154b_neilarmstrong.jpg",
"slack_user_id"
:
"U0MQY9K6C",
"user"
:
6,
"permission"
:2
}
}
],
"metadata"
:{
"searchable_fields"
:[
"pk",
"requester__firstName",
"requester__lastName",
"details",
"purpose",
"traveldestination__departureAddress__name",
"traveldestination__arrivalAddress__name"
],
"pagination"
:{
"count"
:
1,
"num_pages"
:
1,
"current_page"
:
1,
"page_size"
:
10,
"next"
:
null,
"previous"
:
null
}
}
}
Travel fields
Key Description
id Primary key/ ID of Travel
branch Location of Travel request
requester Requesting User
department Department of Travel request
logs List of Log objects for Travel
travelBudget Budget of Travel request
currency Currency of Travel budget
comments List of Comment objects
purpose Description of Travel request purpose
dateCreated Date created
status 0 (pending), 1 (approved), 2 (denied)
approver Next pending approving User
last_changed_by User who last updated the travel
destinations List of destinations with arrivalAddress, departureAddress,
departureReference (google maps ID), and
arrivalReference (google maps ID)
Bills
Get Bills
Endpoint (GET)
v2/ap/bills/
/api/
Parameters
Filter Parameter Type Description
Create New Draft Bill
Endpoint (POST)
v2/ap/bills/
/api/
Body
{}
Response (201 CREATED)
{
"data"
:{
"id"
:
121,
"uuid"
:
"153c7028deb54ebd99a70e6726a4ac96",
"user"
:{
"id"
:
1,
"department"
:{
"id"
:
1,
"branch"
:{
"id"
:
1,
"name"
:
"HQ"
},
"name"
:
"Self Approved Dept",
"active"
:
true
},
"firstName"
:
"Test User",
"lastName"
:
"Administrator",
"email"
:
"[email protected]",
"position"
:
"",
"phone"
:
"43243424",
"address"
:
"",
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"admin_8e31e63c_images.jpeg",
"slack_user_id"
:
"",
"user"
:
1,
"permission"
:1
},
"vendor"
:
null,
"approval_chain"
:
null,
"approver"
:
null,
"items"
:[
],
"costs"
:[
],
"invoice_attachments"
:[
],
"bill_statuses"
:[
],
"currency"
:{
"id"
:
3,
"name"
:
"USD",
"description"
:
"",
"rate"
:
"1.000000",
"base"
:
true,
"active"
:
true
},
"comments"
:[
],
"version_choices"
:[
],
"total_cost"
:
0,
"converted_total_cost"
:
0,
"next_approver_choices"
:
null,
"locked"
:
false,
"bill_payment"
:
null,
"vendor_name"
:
"",
"vendor_contact"
:
"",
"vendor_address_one"
:
"",
"vendor_address_two"
:
"",
"vendor_postal_code"
:
"",
"vendor_city"
:
"",
"vendor_state_province"
:
"",
"vendor_country"
:
"",
"last_modified_datetime"
:
"20160624T21:46:11Z",
"submitted_date"
:
null,
"invoice_number"
:
"",
"invoice_date"
:
"20160624T21:46:11Z",
"due_date"
:
"20160624T21:46:11Z",
"payment_terms"
:
"",
"version"
:
1,
"status"
:
0,
"type"
:
0,
"active"
:
true,
"group"
:
null,
"payment_method"
:
null
},
"metadata"
:{
"searchable_fields"
:[
],
"permissions"
:{
"can_edit"
:
false,
"can_delete"
:
false,
"can_approve"
:
false
}
}
}
Update / Submit Draft Bills
Endpoint (PUT)
/api/
v2
/
ap
/
bills
/<draft_ >/
bill_id
Body
{
"$metadata"
:{
"vendor"
:{
"id"
:
38,
"name"
:
"12 Hour Awards",
"addressLineOne"
:
"1363 Cassat Avenue",
"addressLineTwo"
:
"",
"postalCode"
:
"32205",
"city"
:
"Jacksonville",
"state_province"
:
"FL",
"country"
:
"USA",
"phoneOne"
:
"n/a",
"phoneTwo"
:
"",
"fax"
:
"",
"email"
:[
""
],
"comments"
:
"",
"contact"
:
"",
"url"
:
"",
"external_id"
:
"",
"dateModified"
:
"20160613T20:31:41Z",
"currency"
:
null,
"payment_term_ref"
:
null,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"payment_methods"
:[
{
"id"
:
2,
"name"
:
"checkcad",
"type"
:
1,
"data"
:{
"payable_to"
:
"test"
},
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"0.500000",
"base"
:
false,
"active"
:
true
}
}
],
"type"
:
3,
"default_payment_method"
:
2,
"text"
:
"12 Hour Awards",
"subtext"
:[
"1363 Cassat Avenue",
"Jacksonville, FL 32205"
]
}
},
"costs"
:[
{
"id"
:
61,
"cost_allocation"
:
null,
"name"
:
"test",
"amount"
:
"10.00000000",
"bill"
:
121,
"cost"
:
7,
"currency"
:1
}
],
"invoice_attachments"
:[
],
"invoice_date"
:
"20160624",
"due_date"
:
"20160624",
"id"
:
121,
"uuid"
:
"153c7028deb54ebd99a70e6726a4ac96",
"user"
:{
"id"
:
1,
"department"
:{
"id"
:
1,
"branch"
:{
"id"
:
1,
"name"
:
"HQ"
},
"name"
:
"Self Approved Dept",
"active"
:
true
},
"firstName"
:
"Test",
"lastName"
:
"Administrator",
"email"
:
"[email protected]",
"position"
:
"",
"phone"
:
"43243424",
"address"
:
"",
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"admin_8e31e63c_images.jpeg",
"slack_user_id"
:
"",
"user"
:
1,
"permission"
:1
},
"vendor"
:
38,
"approval_chain"
:
1,
"approver"
:
58,
"items"
:[
{
"id"
:
227,
"orderitem"
:
null,
"expense"
:
null,
"bill"
:
121,
"vendor"
:{
"id"
:
38,
"name"
:
"12 Hour Awards",
"addressLineOne"
:
"1363 Cassat Avenue",
"addressLineTwo"
:
"",
"postalCode"
:
"32205",
"city"
:
"Jacksonville",
"state_province"
:
"FL",
"country"
:
"USA",
"phoneOne"
:
"n/a",
"phoneTwo"
:
"",
"fax"
:
"",
"email"
:
"[u'']",
"comments"
:
"",
"contact"
:
"",
"url"
:
"",
"external_id"
:
"",
"payment_terms"
:
"",
"shipping_terms"
:
"",
"ship_via"
:
"",
"type"
:
3,
"dateModified"
:
"20160613T20:31:41Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
2,
"payment_term_ref"
:
null,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"employee_user"
:
null
},
"sku"
:
"test",
"description"
:
"887459",
"unit_cost"
:
"12.00000000",
"unit"
:
"887459",
"quantity"
:
"1.00000000",
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"0.500000",
"base"
:
false,
"active"
:
true
},
"total_cost"
:
12,
"received_on"
:
"20160406T18:53:25Z",
"packing_slips"
:[
],
"cost_allocations"
:[
{
"id"
:
340,
"budget"
:{
"id"
:
622,
"account_code"
:{
"id"
:
25,
"code"
:
"9034",
"code_length"
:
4,
"description"
:
"Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et
magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue. Vestibulum rutrum rutrum neque.",
"account_type"
:
2,
"active"
:
true,
"parent"
:
null
},
"department"
:{
"id"
:
15,
"branch"
:{
"id"
:
4,
"name"
:
"Vancouver Location"
},
"name"
:
"OverBudget Dept",
"active"
:
true
},
"start_datetime"
:
"20160101T00:00:00Z",
"end_datetime"
:
"20181231T00:00:00Z",
"budget"
:
"2.00",
"budget_used_approved"
:
"0.00",
"budget_used_purchased"
:
"0.00",
"balance_approved"
:
"0.00",
"balance_purchased"
:
"0.00",
"active"
:
true
},
"object_id"
:
227,
"amount"
:
"12.00000000",
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"0.500000",
"base"
:
false,
"active"
:
true
},
"created_on"
:
"20160406T18:53:25Z"
}
],
"archived"
:
false,
"po"
:{
},
"same_unit_cost"
:
null,
"href"
:
"/po/history/undefined/",
"account_label"
:
"9034 Vestibulum",
"department_label"
:
"OverBudget Dept"
}
],
"bill_statuses"
:[
],
"currency"
:
1,
"comments"
:[
],
"version_choices"
:[
],
"total_cost"
:
22,
"converted_total_cost"
:
11,
"next_approver_choices"
:
null,
"locked"
:
false,
"bill_payment"
:
null,
"vendor_name"
:
"12 Hour Awards",
"vendor_contact"
:
"",
"vendor_address_one"
:
"1363 Cassat Avenue",
"vendor_address_two"
:
"",
"vendor_postal_code"
:
"32205",
"vendor_city"
:
"Jacksonville",
"vendor_state_province"
:
"FL",
"vendor_country"
:
"USA",
"last_modified_datetime"
:
"20160624T21:49:54Z",
"submitted_date"
:
null,
"invoice_number"
:
"",
"version"
:
1,
"status"
:
1,
"type"
:
0,
"active"
:
true,
"group"
:
null,
"payment_method"
:
2,
"approver_obj"
:{
"id"
:
58,
"user"
:{
"id"
:
93,
"firstName"
:
"fname",
"lastName"
:
"lname"
},
"amount_limit"
:
"999.00",
"item_variance_amount_limit"
:
null,
"item_variance_percentage_limit"
:
null,
"approval_level"
:
54,
"bill_amount_limit"
:
"999.00"
}
}
Response
{
"data"
:{
"id"
:
121,
"uuid"
:
"153c7028deb54ebd99a70e6726a4ac96",
"user"
:{
"id"
:
1,
"department"
:{
"id"
:
1,
"branch"
:{
"id"
:
1,
"name"
:
"procurifyautomation HQ"
},
"name"
:
"Self Approved Dept",
"active"
:
true
},
"firstName"
:
"Site",
"lastName"
:
"Administrator",
"email"
:
"[email protected]",
"position"
:
"",
"phone"
:
"43243424",
"address"
:
"",
"notifications"
:
true,
"is_active"
:
true,
"mobile"
:
false,
"profile_image"
:
"admin_8e31e63c_images.jpeg",
"slack_user_id"
:
"",
"user"
:
1,
"permission"
:1
},
"vendor"
:{
"id"
:
38,
"name"
:
"12 Hour Awards",
"addressLineOne"
:
"1363 Cassat Avenue",
"addressLineTwo"
:
"",
"postalCode"
:
"32205",
"city"
:
"Jacksonville",
"state_province"
:
"FL",
"country"
:
"USA",
"phoneOne"
:
"n/a",
"phoneTwo"
:
"",
"fax"
:
"",
"email"
:[
""
],
"comments"
:
"",
"contact"
:
"",
"url"
:
"",
"external_id"
:
"",
"dateModified"
:
"20160613T20:31:41Z",
"currency"
:
null,
"payment_term_ref"
:
null,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"payment_methods"
:[
{
"id"
:
2,
"name"
:
"checkcad",
"type"
:
1,
"data"
:{
"payable_to"
:
"test"
},
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"0.500000",
"base"
:
false,
"active"
:
true
}
}
],
"type"
:
3,
"default_payment_method"
:2
},
"approval_chain"
:
1,
"approver"
:{
"id"
:
58,
"user"
:{
"id"
:
93,
"firstName"
:
"fname",
"lastName"
:
"lname"
},
"amount_limit"
:
"999.00",
"item_variance_amount_limit"
:
null,
"item_variance_percentage_limit"
:
null,
"approval_level"
:
54,
"bill_amount_limit"
:
"999.00"
},
"items"
:[
{
"id"
:
227,
"orderitem"
:
null,
"expense"
:
null,
"bill"
:
121,
"vendor"
:{
"id"
:
38,
"name"
:
"12 Hour Awards",
"addressLineOne"
:
"1363 Cassat Avenue",
"addressLineTwo"
:
"",
"postalCode"
:
"32205",
"city"
:
"Jacksonville",
"state_province"
:
"FL",
"country"
:
"USA",
"phoneOne"
:
"n/a",
"phoneTwo"
:
"",
"fax"
:
"",
"email"
:
"[u'']",
"comments"
:
"",
"contact"
:
"",
"url"
:
"",
"external_id"
:
"",
"payment_terms"
:
"",
"shipping_terms"
:
"",
"ship_via"
:
"",
"type"
:
3,
"dateModified"
:
"20160613T20:31:41Z",
"active"
:
true,
"currency"
:
null,
"default_payment_method"
:
2,
"payment_term_ref"
:
null,
"shipping_term_ref"
:
null,
"payment_method_ref"
:
null,
"shipping_method_ref"
:
null,
"employee_user"
:
null
},
"sku"
:
"test",
"description"
:
"887459",
"unit_cost"
:
"12.00000000",
"unit"
:
"887459",
"quantity"
:
"1.00000000",
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"0.500000",
"base"
:
false,
"active"
:
true
},
"total_cost"
:
12.0,
"received_on"
:
"20160406T18:53:25Z",
"packing_slips"
:[
],
"cost_allocations"
:[
{
"id"
:
340,
"budget"
:{
"id"
:
622,
"account_code"
:{
"id"
:
25,
"code"
:
"9034",
"code_length"
:
4,
"description"
:
"Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et
magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue. Vestibulum rutrum rutrum neque.",
"account_type"
:
2,
"active"
:
true,
"parent"
:
null
},
"department"
:{
"id"
:
15,
"branch"
:{
"id"
:
4,
"name"
:
"Vancouver Location"
},
"name"
:
"OverBudget Dept",
"active"
:
true
},
"start_datetime"
:
"20160101T00:00:00Z",
"end_datetime"
:
"20181231T00:00:00Z",
"budget"
:
"2.00",
"budget_used_approved"
:
"0.00",
"budget_used_purchased"
:
"0.00",
"balance_approved"
:
"0.00",
"balance_purchased"
:
"0.00",
"active"
:
true
},
"object_id"
:
227,
"amount"
:
"12.00000000",
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"0.500000",
"base"
:
false,
"active"
:
true
},
"created_on"
:
"20160406T18:53:25Z"
}
],
"archived"
:
false,
"po"
:{
},
"same_unit_cost"
:
null
}
],
"costs"
:[
{
"id"
:
62,
"cost_allocation"
:
null,
"name"
:
"test",
"amount"
:
"10.00000000",
"bill"
:
121,
"cost"
:
7,
"currency"
:1
}
],
"invoice_attachments"
:[
],
"bill_statuses"
:[
],
"currency"
:{
"id"
:
1,
"name"
:
"CAD",
"description"
:
"",
"rate"
:
"0.500000",
"base"
:
false,
"active"
:
true
},
"comments"
:[
],
"version_choices"
:[
{
"pk"
:
121,
"version"
:1
}
],
"total_cost"
:
22.0,
"converted_total_cost"
:
11.0,
"next_approver_choices":null,
"locked":false,
"bill_payment":null,
"vendor_name":"12 Hour Awards",
"vendor_contact":"",
"vendor_address_one":"1363 Cassat Avenue",
"vendor_address_two":"",
"vendor_postal_code":"32205",
"vendor_city":"Jacksonville",
"vendor_state_province":"FL",
"vendor_country":"USA",
"last_modified_datetime":"20160624T21:49:54Z",
"submitted_date":"20160624T21:49:54Z",
"invoice_number":"",
"invoice_date":"20160624T07:00:00Z",
"due_date":"20160624T07:00:00Z",
"payment_terms":"",
"version":1,
"status":1,
"type":0,
"active":true,
"group":65,
"payment_method":2
},
"metadata":{
"searchable_fields":[
],
"permissions":{
"can_edit":false,
"can_delete":false,
"can_approve":false
}
}
}
** Submit:
“status” field must be set to 1
Get Approval Chain and determine if Approval is Disabled
●
Retrieve Approval Chain for AP
○ http://<domain>.procurify.com/api/v2/ap/
<bill_id>/approver-chains/
Approval is Disabled:
1. pass in null in “approver” field
2. mark “skip_payment_approval”=true under metadata
Approval is Enabled:
http://<domain>.procurify.com/api/v2/ap/bills/
1. Use <bill_id>/approver-choices/
to retrieve approver
choices
2. pass in ID of approving User to approve/selfapprove
Adding Items (See section
Update / Submit Draft Bills
)
Endpoint (PUT)
/api/
v2
/
ap
/
bills
/<draft_ >/
bill_id
● "id"
: primary key of item to add
● "quantity"
: quantity of item to add to bill; the remaining quantity (if any) will be used to create an
unbilled item
{
...,
"items"
:
[
{
"id"
:
<
int
item_id
>,,
"quantity"
:
<
decimal
quantity
to
add>
}
],
...
}
Adding Costs(See section
Update / Submit Draft Bills
)
Endpoint (PUT)
/api/
v2
/
ap
/
bills
/<draft_ >/
bill_id
● "cost"
: primary key of predefined cost to add
● "amount"
: dollar amount of cost
{
...,
"costs"
:
[
{
"cost"
:
<
int
cost_id
>,,
"amount"
:
<
decimal
cost
amount>
}
],
...
}
Delete Draft Bill
Endpoint (DELETE)
/api/
v2
/
ap
/
bills
/<draft_ >/
bill_id