Connect SAP Concur via OAuth 2.0. Manage expense reports and line items, allocations, attendees, comments, exceptions, quick expenses, receipts, travel requests and expected expenses, cash advances, itineraries, user identities, custom lists, budgets, exchange rates, and purchase requests across every Concur datacenter.
Approve an expense report as a manager (PATCH /expensereports/v4/reports/{reportId}/approve). Required body field: comment.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
reportId | string | Yes | Expense report ID to approve |
body | json | Yes | Request body — comment is required by Concur (e.g., { "comment": "Approved" }). If the report contains rejected expenses, expenseRejectedComment is also required. Optional fields: expectedStepCode, expectedStepSequence, statusId (defaults to "A_APPR"). |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty (204 No Content) |
Associate attendees with an expense (POST /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER or PROXY |
reportId | string | Yes | Expense report ID |
expenseId | string | Yes | Expense ID |
body | json | Yes | Attendee associations payload (e.g., { "attendeeAssociations": [...] }) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Concur association response (201 Created with URI) |
Create a cash advance (POST /cashadvance/v4.1/cashadvances).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
body | json | Yes | Cash advance payload |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created cash advance payload |
Create an expected expense on a travel request (POST /travelrequest/v4/requests/{requestUuid}/expenses).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
requestUuid | string | Yes | Travel request UUID |
userId | string | No | User UUID acting on the request (required when using a Company JWT, optional otherwise) |
body | json | Yes | Expected expense payload |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created expected expense payload |
Create an expense report (POST /expensereports/v4/users/{userId}/context/{contextType}/reports — supported contexts: TRAVELER, PROXY). Required body fields: name, policyId.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID who will own the report |
contextType | string | Yes | Access context: TRAVELER (creating own report) or PROXY (creating on behalf of another user) |
body | json | Yes | Report payload — name and policyId are required. Optional fields: businessPurpose, comment, customData, countryCode, countrySubDivisionCode, etc. |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created expense report (Concur returns 201 with a URI to the new report) |
Create a list item (POST /list/v4/items).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
body | json | Yes | List item payload. Required: listId, shortCode, value. Optional: parentId or parentCode (mutually exclusive). Note: Concur rejects shortCode/value containing hyphens. |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created list item |
Create a purchase request (POST /purchaserequest/v4/purchaserequests).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
body | json | Yes | Purchase request payload |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created purchase request payload |
Create a quick expense (POST /quickexpense/v4/users/{userId}/context/TRAVELER/quickexpenses).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID who owns the quick expense |
contextType | string | Yes | Access context: must be TRAVELER |
body | json | Yes | Quick expense payload (expenseTypeId, transactionAmount, transactionDate, etc.) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created quick expense response (HTTP 201 Created) |
Create a quick expense with an attached image (POST /quickexpense/v4/users/{userId}/context/{contextType}/quickexpenses/image).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: must be TRAVELER |
receipt | json | Yes | Receipt image (UserFile). Allowed: PDF, PNG, JPEG, TIFF (max 50MB) |
body | json | Yes | Quick expense payload (transactionAmount, transactionDate, expenseTypeId, vendor, ...) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created quick expense response (HTTP 201 with attached receipt image) |
Create a comment on a report (POST /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/comments).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER or PROXY |
reportId | string | Yes | Expense report ID |
comment | string | Yes | Comment text to add |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created comment response (Concur returns 201 Created with URI) |
Create a travel request (POST /travelrequest/v4/requests).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | No | Optional Concur user UUID — required when impersonating another user |
body | json | Yes | Travel request payload (name, purpose, startDate, endDate, requestPolicyId, etc.) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created travel request payload |
Create a new user identity (POST /profile/identity/v4.1/Users).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
body | json | Yes | SCIM User payload (schemas, userName, name, emails, active, etc.) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Created SCIM User payload |
Delete an expected expense (DELETE /travelrequest/v4/expenses/{expenseUuid}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
expenseUuid | string | Yes | Expected expense UUID to delete |
userId | string | No | User UUID acting on the request (required when using a Company JWT, optional otherwise) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Returns boolean true on 200 OK when the expected expense is deleted. |
Delete an expense (DELETE /expensereports/v4/reports/{reportId}/expenses/{expenseId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
reportId | string | Yes | Expense report ID |
expenseId | string | Yes | Expense ID to delete |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty body on success (HTTP 204 No Content). Error details when status is non-2xx |
Delete an expense report (DELETE /expensereports/v4/reports/{reportId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
reportId | string | Yes | Expense report ID to delete |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty (204 No Content) |
Delete a list item (DELETE /list/v4/items/{itemId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
itemId | string | Yes | List item UUID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty body on success (HTTP 204 No Content). Error details when status is non-2xx |
Delete a travel request (DELETE /travelrequest/v4/requests/{requestUuid}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
requestUuid | string | Yes | Travel request UUID to delete |
userId | string | No | Optional Concur user UUID — required when impersonating another user |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Concur delete response payload (boolean true on 200 OK) |
Delete a user identity (DELETE /profile/identity/v4.1/Users/{id}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userUuid | string | Yes | User UUID to delete |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Deletion response — empty body on HTTP 204 No Content |
Get a single allocation (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/allocations/{allocationId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER or PROXY |
reportId | string | Yes | Expense report ID |
allocationId | string | Yes | Allocation ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Allocation detail payload |
Get a budget item header by ID (GET /budget/v4/budgetItemHeader/{id}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
budgetId | string | Yes | Budget item header ID (syncguid) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Budget header detail payload |
Get a cash advance (GET /cashadvance/v4.1/cashadvances/{cashAdvanceId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
cashAdvanceId | string | Yes | Cash advance ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Cash advance detail payload |
Bulk upload up to 100 custom exchange rates (POST /exchangerate/v4/rates). Body contains a currency_sets array, each with from_crn_code, to_crn_code, start_date (YYYY-MM-DD), and rate.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
body | json | Yes | Bulk upload body: { currency_sets: [{ from_crn_code, to_crn_code, start_date: "YYYY-MM-DD", rate }] } (max 100 entries) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Bulk-upload exchange rate response (Exchange Rate v4) |
Get an expected expense (GET /travelrequest/v4/expenses/{expenseUuid}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
expenseUuid | string | Yes | Expected expense UUID |
userId | string | No | User UUID acting on the request (optional) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Expected expense payload |
Get a single expense (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER, MANAGER, or PROXY |
reportId | string | Yes | Expense report ID |
expenseId | string | Yes | Expense ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Expense detail (ReportExpenseDetail) payload |
Retrieve a single expense report header by id via Expense Report v4 (/expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID who owns the report |
contextType | string | Yes | Access context: TRAVELER (own report), MANAGER (report under approval), PROCESSOR, or PROXY |
reportId | string | Yes | Expense report ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Concur expense report header (ReportDetails) |
Get expense itemizations (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/itemizations).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER, MANAGER, or PROXY |
reportId | string | Yes | Expense report ID |
expenseId | string | Yes | Expense ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | array | Array of itemizations (ReportExpenseSummary[]) |
Get a single trip/itinerary (GET /api/travel/trip/v1.1/{tripID}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
tripId | string | Yes | Trip ID |
useridType | string | No | User identifier type (login, xmlsyncid, uuid) |
useridValue | string | No | User identifier value (paired with useridType) |
systemFormat | string | No | Optional system format (e.g., GDS) for the response |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Trip detail payload (Itinerary v1.1) |
Get a single custom list (GET /list/v4/lists/{listId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
listId | string | Yes | List ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | List detail payload |
Get a single list item (GET /list/v4/items/{itemId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
itemId | string | Yes | List item ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | List item detail payload |
Get a purchase request by ID (GET /purchaserequest/v4/purchaserequests/{id}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
purchaseRequestId | string | Yes | Purchase request ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Purchase request detail payload |
Get a single receipt by ID (GET /receipts/v4/{receiptId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
receiptId | string | Yes | Receipt ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Receipt detail payload |
Get receipt processing status (GET /receipts/v4/status/{receiptId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
receiptId | string | Yes | Receipt ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Receipt status payload |
Get a travel profile (GET /api/travelprofile/v2.0/profile). Returns the calling user by default; pass userid_type and userid_value to impersonate.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
useridType | string | No | Identifier type: login, xmlsyncid, or uuid |
useridValue | string | No | Identifier value (login id, xml sync id, or UUID) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Travel profile payload. Concur returns XML; downstream may parse it to a best-effort JSON object with the documented top-level sections. |
Get a single travel request (GET /travelrequest/v4/requests/{requestUuid}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
requestUuid | string | Yes | Travel request UUID |
userId | string | No | Optional Concur user UUID — required when impersonating another user |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Travel request detail payload |
Get a single user by UUID (GET /profile/identity/v4.1/Users/{id}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userUuid | string | Yes | User UUID |
attributes | string | No | Comma-separated SCIM attributes to include in the response |
excludedAttributes | string | No | Comma-separated SCIM attributes to exclude from the response |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | SCIM User identity payload |
Issue a cash advance (POST /cashadvance/v4.1/cashadvances/{cashAdvanceId}/issue).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
cashAdvanceId | string | Yes | Cash advance ID to issue |
body | json | No | Optional request body |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Issue cash advance result payload |
List allocations on an expense (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/allocations).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER or PROXY |
reportId | string | Yes | Expense report ID |
expenseId | string | Yes | Expense ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Allocations list payload |
List attendees associated with an expense (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER or PROXY |
reportId | string | Yes | Expense report ID |
expenseId | string | Yes | Expense ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Attendees list payload |
List budget categories (GET /budget/v4/budgetCategory).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Budget categories collection payload |
List budget item headers (GET /budget/v4/budgetItemHeader).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
adminView | boolean | No | When true, returns all budgets the caller can administer (default false) |
offset | number | No | Page offset (Concur returns up to 50 budget headers per page) |
responseSchema | string | No | Response schema variant: "COMPACT" returns a smaller payload |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Budget headers collection payload |
List exceptions on a report (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/exceptions).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER, MANAGER, or PROXY |
reportId | string | Yes | Expense report ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | array | Array of report header exception entries |
List expected expenses on a travel request (GET /travelrequest/v4/requests/{requestUuid}/expenses).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
requestUuid | string | Yes | Travel request UUID |
userId | string | No | User UUID acting on the request (optional) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Array of expected expense objects. Each entry includes id, href, expenseType {id,name}, transactionDate, transactionAmount, postedAmount, approvedAmount, remainingAmount, businessPurpose, location, exchangeRate, allocations, tripData, parentRequest {href, id}, comments {href, id}. |
List expenses on a report (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER, MANAGER, or PROXY |
reportId | string | Yes | Expense report ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | array | Array of expense summary entries (ReportExpenseSummary[]) |
List expense reports (GET /api/v3.0/expense/reports). Returns a v3 envelope with Items and NextPage.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (us, us2, eu, eu2, cn, emea — defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
user | string | No | Filter by a specific user (login id or user identifier). |
submitDateBefore | string | No | Filter to reports submitted on or before this date (YYYY-MM-DD) |
submitDateAfter | string | No | Filter to reports submitted on or after this date (YYYY-MM-DD) |
paidDateBefore | string | No | Filter to reports paid on or before this date (YYYY-MM-DD) |
paidDateAfter | string | No | Filter to reports paid on or after this date (YYYY-MM-DD) |
modifiedDateBefore | string | No | Filter to reports last modified on or before this date (YYYY-MM-DD) |
modifiedDateAfter | string | No | Filter to reports last modified on or after this date (YYYY-MM-DD) |
createDateBefore | string | No | Filter to reports created on or before this date (YYYY-MM-DD) |
createDateAfter | string | No | Filter to reports created on or after this date (YYYY-MM-DD) |
approvalStatusCode | string | No | Filter by approval status code (e.g. A_NOTF, A_PEND, A_APPR) |
paymentStatusCode | string | No | Filter by payment status code |
currencyCode | string | No | Filter by ISO currency code (e.g. USD, EUR) |
approverLoginID | string | No | Filter by approver login ID |
limit | number | No | Number of records per page (default 25, max 100) |
offset | string | No | Opaque cursor token returned by a prior call (NextPage). |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Concur v3 expense reports envelope |
List travel trips/itineraries (GET /api/travel/trip/v1.1).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
startDate | string | No | Filter trips starting on/after this date (YYYY-MM-DD) |
endDate | string | No | Filter trips ending on/before this date (YYYY-MM-DD) |
bookingType | string | No | Filter by booking type (air, car, hotel, rail, etc.) |
useridType | string | No | User identifier type (login, xmlsyncid, uuid) |
useridValue | string | No | User identifier value (paired with useridType) |
itemsPerPage | number | No | Items per page |
page | number | No | 1-based page number |
includeMetadata | boolean | No | Include paging metadata in the response |
includeCanceledTrips | boolean | No | Include canceled trips in the result set |
createdAfterDate | string | No | Only trips created after this date (YYYY-MM-DD) |
createdBeforeDate | string | No | Only trips created before this date (YYYY-MM-DD) |
lastModifiedDate | string | No | Only trips modified on/after this date (YYYY-MM-DD) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Trips list payload (Itinerary v1.1 ConnectResponse) |
List custom lists (GET /list/v4/lists).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
page | number | No | Page number (1-based; page size is fixed at 100) |
sortBy | string | No | Sort field: name, levelcount, or listcategory |
sortDirection | string | No | Sort direction: asc or desc |
value | string | No | Filter by list name |
categoryType | string | No | Filter by category type (mapped to category.type query param) |
isDeleted | boolean | No | Include deleted lists |
levelCount | number | No | Filter by number of levels |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Paginated lists collection |
List the top-level items (children) for a custom list (GET /list/v4/lists/{listId}/children).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
listId | string | Yes | List ID |
page | number | No | Page number (1-based; page size is fixed at 100) |
sortBy | string | No | Sort field: value or shortCode |
sortDirection | string | No | Sort direction: asc or desc |
hasChildren | boolean | No | Include only items that have children |
isDeleted | boolean | No | Include deleted items |
shortCode | string | No | Filter by short code |
value | string | No | Filter by display value |
shortCodeOrValue | string | No | Filter by short code OR value |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Paginated list items collection |
List receipts for a user (GET /receipts/v4/users/{userId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | array | Array of e-receipt objects |
List comments on a report (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/comments).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER or PROXY |
reportId | string | Yes | Expense report ID |
includeAllComments | boolean | No | Include comments from all expenses in the report (default false) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | array | Array of report comment entries |
List expense reports awaiting approval (GET /expensereports/v4/users/{userId}/context/MANAGER/reportsToApprove).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Manager user UUID |
contextType | string | No | Access context: must be MANAGER (default) |
sort | string | No | Report field name to sort by (e.g., reportDate) |
order | string | No | Sort direction: asc or desc |
includeDelegateApprovals | boolean | No | Whether to include reports the caller can approve as a delegate |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | array | Array of reports awaiting approval (ReportToApprove[]) |
Get a single cash advance assigned to a travel request (GET /travelrequest/v4/cashadvances/{cashAdvanceUuid}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
cashAdvanceUuid | string | Yes | Cash advance UUID (returned as part of a travel request) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Cash advance detail |
List travel profile summaries (GET /api/travelprofile/v2.0/summary). LastModifiedDate is required by Concur.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
lastModifiedDate | string | Yes | Required UTC datetime in YYYY-MM-DDThh:mm:ss format |
page | number | No | 1-based page number |
itemsPerPage | number | No | Items per page (max 200) |
travelConfigs | string | No | Comma-separated travel configuration ids |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Travel profile summary list payload (Concur returns XML mapped to JSON) |
List comments on a travel request (GET /travelrequest/v4/requests/{requestUuid}/comments).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
requestUuid | string | Yes | Travel request UUID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | array | Array of comment entries |
List travel requests (GET /travelrequest/v4/requests).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
view | string | No | View filter (e.g., ALL, ACTIVE, PENDING, TOAPPROVE) |
limit | number | No | Max number of results per page |
start | number | No | Page start cursor (offset) |
userId | string | No | Filter by Concur user UUID |
approvedBefore | string | No | ISO 8601 date — return requests approved before this date |
approvedAfter | string | No | ISO 8601 date — return requests approved after this date |
modifiedBefore | string | No | ISO 8601 date — return requests modified before this date |
modifiedAfter | string | No | ISO 8601 date — return requests modified after this date |
sortField | string | No | Field to sort by: startDate, approvalStatus, or requestId (default startDate) |
sortOrder | string | No | Sort order: ASC or DESC (default DESC) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Travel requests list payload |
List Concur user identities (GET /profile/identity/v4.1/Users).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
count | number | No | Max number of users to return (default 100, max 1000) |
cursor | string | No | SCIM v4.1 pagination cursor returned by a prior call |
attributes | string | No | Comma-separated list of attributes to include in the response |
excludedAttributes | string | No | Comma-separated list of attributes to exclude from the response |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | SCIM ListResponse with Resources array |
Move a travel request through workflow (POST /travelrequest/v4/requests/{requestUuid}/{action}). Valid actions: submit, recall, cancel, approve, sendback, close, reopen.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
requestUuid | string | Yes | Travel request UUID |
action | string | Yes | Workflow action: submit, recall, cancel, approve, sendback, close, reopen |
userId | string | No | Optional Concur user UUID — required when impersonating another user |
body | json | No | Optional payload (e.g., { "comment": "..." }) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Workflow transition response payload |
Recall a submitted expense report (PATCH /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/recall — supported contexts: TRAVELER, PROXY). No request body is required.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID who owns the report |
contextType | string | Yes | Access context: TRAVELER or PROXY |
reportId | string | Yes | Expense report ID to recall |
body | json | No | Optional body. Concur docs don't define a payload for this action; pass an empty object if uncertain. |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty (204 No Content) |
Remove all attendees from an expense (DELETE /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER or PROXY |
reportId | string | Yes | Expense report ID |
expenseId | string | Yes | Expense ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty response body (Concur returns 204 No Content) |
Search Concur location reference data (GET /localities/v5/locations).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
searchText | string | No | Free-text query (city, airport, landmark, etc.) |
locCode | string | No | IATA / location code |
locationNameId | string | No | Concur internal location name ID (UUID) |
locationNameKey | number | No | Concur internal numeric location name key |
countryCode | string | No | 2-letter ISO 3166-1 country code |
subdivisionCode | string | No | ISO 3166-2:2007 country subdivision (e.g. US-WA) |
adminRegionId | string | No | Administrative region ID |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Localities v5 search response |
Search users via SCIM .search endpoint (POST /profile/identity/v4.1/Users/.search).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
body | json | Yes | SCIM search request payload ({ schemas, attributes, filter, count, startIndex }) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | SCIM search ListResponse |
Send back an expense report to the employee (PATCH /expensereports/v4/reports/{reportId}/sendBack). Required body field: comment.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
reportId | string | Yes | Expense report ID to send back |
body | json | Yes | Request body — comment is required by Concur (e.g., { "comment": "Missing receipt" }). Optional fields: expectedStepCode, expectedStepSequence. |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty (204 No Content) |
Submit an expense report into the workflow via Expense Report v4 (PATCH /expensereports/v4/users/{userId}/reports/{reportId}/submit).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID who owns the report |
reportId | string | Yes | Expense report ID to submit |
body | json | No | Optional body. Concur docs don't define a payload for this action; pass an empty object if uncertain. |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty (204 No Content) |
Update an allocation (PATCH /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/allocations/{allocationId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID |
contextType | string | Yes | Access context: TRAVELER or PROXY (write requires expense.report.readwrite) |
reportId | string | Yes | Expense report ID |
allocationId | string | Yes | Allocation ID to update |
body | json | Yes | Fields to update on the allocation |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty body on success (Concur returns 204 No Content) |
Update an expected expense (PUT /travelrequest/v4/expenses/{expenseUuid}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
expenseUuid | string | Yes | Expected expense UUID to update |
userId | string | No | User UUID acting on the request (required when using a Company JWT, optional otherwise) |
body | json | Yes | Fields to update on the expected expense |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Updated expected expense payload |
Update an expense (PATCH /expensereports/v4/reports/{reportId}/expenses/{expenseId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
reportId | string | Yes | Expense report ID |
expenseId | string | Yes | Expense ID to update |
body | json | Yes | PATCH body. Allowed fields: businessPurpose (string, max 64), customData (CustomData[]), expenseSource (required: EA|MOB|OTHER|SE|TA|TR|UI), isExpenseRejected (boolean), isPaperReceiptReceived (boolean). |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty body on success (HTTP 204 No Content). Error details when status is non-2xx |
Update an unsubmitted expense report (PATCH /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId} — supported contexts: TRAVELER, PROXY). Body fields: businessPurpose, comment, customData, name, etc.
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID who owns the report |
contextType | string | Yes | Access context: TRAVELER (own report) or PROXY (editing on behalf of another user) |
reportId | string | Yes | Expense report ID to update |
body | json | Yes | Fields to update on the report |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Empty (204 No Content) |
Update a list item (PUT /list/v4/items/{itemId}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
itemId | string | Yes | List item UUID |
body | json | Yes | List item payload. Required: shortCode, value. Other fields in the body are ignored. |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Updated list item |
Update a travel request (PUT /travelrequest/v4/requests/{requestUuid}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
requestUuid | string | Yes | Travel request UUID to update |
body | json | Yes | Fields to update on the travel request |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Updated travel request payload |
Patch a user identity (PATCH /profile/identity/v4.1/Users/{id}).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userUuid | string | Yes | User UUID to update |
body | json | Yes | SCIM PATCH operations payload ({ schemas, Operations: [...] }) |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Updated SCIM User payload |
Upload an image-only receipt (POST /receipts/v4/users/{userId}/image-only-receipts).
| Parameter | Type | Required | Description |
|---|
datacenter | string | No | Concur datacenter base URL (defaults to us.api.concursolutions.com) |
grantType | string | No | OAuth grant type: client_credentials (default) or password |
clientId | string | Yes | Concur OAuth client ID |
clientSecret | string | Yes | Concur OAuth client secret |
username | string | No | Username (only for password grant) |
password | string | No | Password (only for password grant) |
companyUuid | string | No | Company UUID for multi-company access tokens |
userId | string | Yes | Concur user UUID who owns the receipt |
receipt | json | Yes | Receipt image file (UserFile reference). Supported formats: PDF, PNG, JPEG, GIF, TIFF |
forwardId | string | No | Optional client-supplied dedup id (max 40 chars). Sent as the concur-forwardid header. |
| Parameter | Type | Description |
|---|
status | number | HTTP status code returned by Concur |
data | json | Image-only receipt upload response (HTTP 202 Accepted; Location and Link response headers exposed in body) |
- Category:
tools
- Type:
sap_concur