SAP Concur

Use SAP Concur to manage expense reports, receipts, travel requests, cash advances, and related user and reference data. The actions below include report submission, approval, recall, and send-back operations.

Usage Instructions

Connect SAP Concur with an OAuth client ID and secret (client-credentials or password grant) — no account linking required. 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.

Actions

SAP Concur Approve Expense Report

Approve an expense report as a manager (PATCH /expensereports/v4/reports/{reportId}/approve). Optional body fields: comment, expenseRejectedComment (required if the report has rejected expenses), expectedStepCode, expectedStepSequence, statusId (default A_APPR).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
reportIdstringYesExpense report ID to approve
bodyjsonNoOptional request body. All fields are optional: comment (e.g., { "comment": "Approved" }), expenseRejectedComment (required only if the report contains rejected expenses), expectedStepCode, expectedStepSequence, statusId (defaults to "A_APPR").

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty (204 No Content)

SAP Concur Associate Attendees

Associate attendees with an expense (POST /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER or PROXY
reportIdstringYesExpense report ID
expenseIdstringYesExpense ID
bodyjsonYesAttendee association payload with exactly two top-level fields: "noShowAttendeeCount" (integer, default 0) and "expenseAttendeeList" (array). Each entry in expenseAttendeeList requires "attendeeId" (string) and "transactionAmount" (object: { "value": number, "currencyCode": string }), and optionally accepts "customData", "isAmountUserEdited" (boolean), "isTraveling" (boolean), "associatedAttendeeCount" (integer), and "versionNumber" (integer). Example: { "noShowAttendeeCount": 0, "expenseAttendeeList": [{ "attendeeId": "gWmMv2Ii5rGtEBTBhBqUw", "transactionAmount": { "value": 23, "currencyCode": "USD" } }] }. Note: the object form follows the request schema (Amount = value + currencyCode, both required), but the documented POST example sends a scalar "transactionAmount": 23 — the docs conflict here.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonConcur association response (201 Created with URI)
uristringResource URI of the attendee associations collection

SAP Concur Create Cash Advance

Create a cash advance (POST /cashadvance/v4.1/cashadvances).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
bodyjsonYesCash advance payload. Required fields: amountRequested ({ currency, amount }), name, and userId. Optional fields: accountCode, comment, purpose. The Concur docs are inconsistent on casing — the reference request example and the API Explorer swagger both use userId, while the schema table spells it userID; if a request is rejected with a 400, retry with the other spelling.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated cash advance payload
cashAdvanceIdstringUnique identifier of the created cash advance

SAP Concur Create Expected Expense

Create an expected expense on a travel request (POST /travelrequest/v4/requests/{requestUuid}/expenses).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
requestUuidstringYesTravel request UUID
userIdstringNoUser UUID acting on the request (required when using a Company JWT, optional otherwise)
bodyjsonYesExpected expense payload

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated expected expense payload
idstringExpected expense identifier
hrefstringSelf-link to the resource
expenseTypejsonExpense type {id, name}
transactionDatestringTransaction date
transactionAmountjsonTransaction amount {value, currency}
postedAmountjsonPosted amount {value, currency}
approvedAmountjsonApproved amount {value, currency}
remainingAmountjsonRemaining amount on the expected expense
businessPurposestringBusiness purpose of the expense
locationjsonLocation {id, name, city, countryCode, countrySubDivisionCode, iataCode, locationType}
exchangeRatejsonExchange rate {value, operation}
allocationsjsonBudget allocations array (allocationId, allocationAmount {value, currency}, approvedAmount {value, currency}, postedAmount {value, currency}, expenseId, percentEdited, systemAllocation, percentage)
tripDatajsonTrip data {agencyBooked, selfBooked, tripType (ONE_WAY|ROUND_TRIP), legs[{id, returnLeg, startDate, startTime, startLocationDetail, startLocation, endLocation, class {code,value}, travelExceptionReasonCodes}], segmentType {category, code}}
parentRequestjsonParent travel request resource link {href, id}
commentsjsonComments sub-resource link {href, id}

SAP Concur Create Expense Report

Create an expense report (POST /expensereports/v4/users/{userId}/context/{contextType}/reports — supported contexts: TRAVELER, PROXY). Required body fields: name, policyId.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID who will own the report
contextTypestringYesAccess context: TRAVELER (creating own report) or PROXY (creating on behalf of another user)
bodyjsonYesReport payload — name and policyId are required. Optional fields: businessPurpose, comment, customData, countryCode, countrySubDivisionCode, etc.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated expense report (Concur returns 201 with a URI to the new report)
uristringURI of the newly created expense report

SAP Concur Create List Item

Create a list item (POST /list/v4/items).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
bodyjsonYesList item payload. Required: listId, shortCode, value. Optional: parentId or parentCode (mutually exclusive). Note: Concur rejects shortCode/value containing hyphens.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated list item
idstringList item UUID
listIdstringUUID of the list that contains the list item
codestringLong code format for the item
shortCodestringShort code identifier
valuestringDisplay value of the item
parentIdstringParent item UUID (omitted for first-level items)
levelnumberHierarchy level (1 for root items)
isDeletedbooleanDeletion status across all containing lists
listsarrayLists containing this item
idstringList UUID
hasChildrenbooleanWhether this item has children in the list

SAP Concur Create Purchase Request

Create a purchase request (POST /purchaserequest/v4/purchaserequests).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
bodyjsonYesPurchase request payload. Required: exactly one of userId, userEmail, or userLoginId; currencyCode (ISO 4217); and lineItems[]. Each line item requires purchaseType (GOODS or SERVICES), vendorCode, vendorAddressCode, description, quantity, and unitPrice.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated purchase request payload
idstringIdentifier of the created purchase request
uristringResource URI for the created purchase request
errorsarrayValidation or processing errors returned by Concur
errorCodestringError code
errorMessagestringError message
dataPathstringPath to the request data which has the error

SAP Concur Create Quick Expense

Create a quick expense (POST /quickexpense/v4/users/{userId}/context/{contextType}/quickexpenses). TRAVELER is the only supported context type.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID who owns the quick expense
contextTypestringYesAccess context: must be TRAVELER
bodyjsonYesQuick expense payload. Required: expenseTypeId, transactionAmount {currencyCode, value}, transactionDate (YYYY-MM-DD). Optional: comment, entryDetails, location {city, countryCode, countrySubDivisionCode, id, name}, paymentTypeId (CASHX | CPAID | PENDC), vendor.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated quick expense response (HTTP 201 Created)
quickExpenseIdUristringURI of the created quick expense resource

SAP Concur Create Quick Expense With Image

Create a quick expense with an attached image (POST /quickexpense/v4/users/{userId}/context/{contextType}/quickexpenses/image).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: must be TRAVELER
receiptjsonYesReceipt image (UserFile). Allowed: PNG, PDF, TIFF, JPEG. Maximum size 50 MB
bodyjsonYesQuick expense payload. Required: expenseTypeId, transactionAmount {currencyCode, value}, transactionDate (YYYY-MM-DD). Optional: comment, entryDetails, location {city, countryCode, countrySubDivisionCode, id, name}, paymentTypeId (CASHX | CPAID | PENDC), vendor.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated quick expense response (HTTP 201 with attached receipt image)
quickExpenseIdUristringURI of the created quick expense resource

SAP Concur Create Report Comment

Create a comment on a report (POST /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/comments).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER, MANAGER, or PROXY
reportIdstringYesExpense report ID
commentstringYesComment text to add

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated comment response (Concur returns 201 Created with URI)
uristringResource URI of the created comment

SAP Concur Create Travel Request

Create a travel request (POST /travelrequest/v4/requests).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringNoConcur user UUID of the Request owner — required when using the default client_credentials (company) grant; omitting it returns 400 missingRequiredParam.
bodyjsonYesTravel request payload. Supported fields: name, businessPurpose, startDate/endDate (YYYY-MM-DD), startTime/endTime (HH:mm), mainDestination ({ city, countryCode, countrySubDivisionCode, name }), policy ({ id }), and custom1-custom20 ({ value } or { code, value }). An id field is not allowed.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated travel request payload
idstringTravel request UUID
hrefstringResource hyperlink
requestIdstringPublic-facing request ID (4-6 alphanumeric characters)
namestringRequest name
businessPurposestringBusiness purpose
commentstringLast attached comment
creationDatestringCreation timestamp
lastModifiedstringLast modification timestamp
submitDatestringLast submission timestamp
startDatestringTrip start date (ISO 8601)
endDatestringTrip end date (ISO 8601)
startTimestringTrip start time (HH:mm)
endTimestringTrip end time (HH:mm)
approvedbooleanWhether the request is approved
pendingApprovalbooleanPending approval flag
closedbooleanClosed flag
everSentBackbooleanEver-sent-back flag
canceledPostApprovalbooleanCanceled after approval flag
approvalStatusjsonApproval status
codestringStatus code (NOT_SUBMITTED, SUBMITTED, APPROVED, CANCELED, SENTBACK)
namestringLocalized status name
ownerjsonTravel request owner
idstringUser UUID
firstNamestringOwner first name
lastNamestringOwner last name
approverjsonApprover assigned to the request
idstringUser UUID
firstNamestringApprover first name
lastNamestringApprover last name
policyjsonResource link to the applicable policy
idstringPolicy ID
hrefstringPolicy hyperlink
typejsonRequest type
codestringRequest type code
labelstringRequest type label
mainDestinationjsonMain destination of the trip
citystringCity
countryCodestringISO country code
countrySubDivisionCodestringISO country sub-division code
namestringDestination name
totalApprovedAmountjsonTotal approved amount
valuenumberAmount value
currencystringCurrency code
totalPostedAmountjsonTotal posted amount
valuenumberAmount value
currencystringCurrency code
totalRemainingAmountjsonTotal remaining amount
valuenumberAmount value
currencystringCurrency code
operationsarrayAvailable workflow actions
relstringOperation name
hrefstringOperation URL
expensesarrayExpected expenses attached to the request
highestExceptionLevelstringHighest exception level (NONE, WARNING, ERROR)
travelAgencyjsonTravel agency reference
idstringAgency identifier
hrefstringAgency URL
templatestringTemplate URL
custom1jsonCustom field 1
custom2jsonCustom field 2
custom3jsonCustom field 3
custom4jsonCustom field 4
custom5jsonCustom field 5
custom6jsonCustom field 6
custom7jsonCustom field 7
custom8jsonCustom field 8
custom9jsonCustom field 9
custom10jsonCustom field 10
custom11jsonCustom field 11
custom12jsonCustom field 12
custom13jsonCustom field 13
custom14jsonCustom field 14
custom15jsonCustom field 15
custom16jsonCustom field 16
custom17jsonCustom field 17
custom18jsonCustom field 18
custom19jsonCustom field 19
custom20jsonCustom field 20

SAP Concur Create User

Create a new user identity (POST /profile/identity/v4.1/Users).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
bodyjsonYesSCIM User payload. Required: schemas (include both "urn:ietf:params:scim:schemas:core:2.0:User" and "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"), userName, name.familyName, name.givenName, emails[].value, and companyId — which is required and immutable and must be set inside the "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" block, not at the top level. Optional: active, displayName, timezone, and other SCIM User attributes.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCreated SCIM User payload

SAP Concur Delete Expected Expense

Delete an expected expense (DELETE /travelrequest/v4/expenses/{expenseUuid}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
expenseUuidstringYesExpected expense UUID to delete
userIdstringNoUser UUID acting on the request (required when using a Company JWT, optional otherwise)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
databooleantrue when the expected expense was deleted

SAP Concur Delete Expense

Delete an expense (DELETE /expensereports/v4/reports/{reportId}/expenses/{expenseId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
reportIdstringYesExpense report ID
expenseIdstringYesExpense ID to delete

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty body on success (HTTP 204 No Content). Error details when status is non-2xx

SAP Concur Delete Expense Report

Delete an expense report (DELETE /expensereports/v4/reports/{reportId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
reportIdstringYesExpense report ID to delete

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty (204 No Content)

SAP Concur Delete List Item

Delete a list item from all lists that contain it (DELETE /list/v4/items/{itemId}). This is not scoped to a single list, and all children of that list item are also deleted.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
itemIdstringYesList item UUID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty body on success (HTTP 204 No Content). Error details when status is non-2xx

SAP Concur Delete Travel Request

Delete a travel request (DELETE /travelrequest/v4/requests/{requestUuid}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
requestUuidstringYesTravel request UUID to delete
userIdstringNoConcur user UUID of the Request owner — required when using the default client_credentials (company) grant; omitting it returns 400 missingRequiredParam.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
databooleanConcur delete response body — literally true on 200 OK

SAP Concur Delete User

Hard delete a user identity (DELETE /profile/identity/v4.1/Users/{id}). Not recommended: SAP restricts hard delete to users with no transaction history and governs it by the Concur Data Retention policy. To deactivate a user instead, use SAP Concur Update User with a PATCH replacing active with false.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userUuidstringYesUser UUID to delete

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonDeletion response — empty body on HTTP 204 No Content

SAP Concur Get Allocation

Get a single allocation (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/allocations/{allocationId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER or PROXY
reportIdstringYesExpense report ID
allocationIdstringYesAllocation ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonAllocation detail payload
allocationIdstringUnique allocation identifier
accountCodestringLedger account code
overLimitAccountCodestringAccount code applied to amounts over the per-allocation limit
percentagenumberAllocation percentage
allocationAmountjsonAllocation amount (value, currencyCode)
valuenumberAmount value
currencyCodestringISO 4217 currency code
approvedAmountjsonPro-rated approved amount (value, currencyCode)
valuenumberAmount value
currencyCodestringISO 4217 currency code
claimedAmountjsonRequested reimbursement amount (value, currencyCode)
valuenumberAmount value
currencyCodestringISO 4217 currency code
customDataarrayCustom field values (id, value, isValid)
expenseIdstringAssociated expense identifier
isSystemAllocationbooleanTrue when system-managed
isPercentEditedbooleanTrue when the percentage was manually edited

SAP Concur Get Budget

Get a budget item header by ID (GET /budget/v4/budgetItemHeader/{id}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
budgetIdstringYesThe budget item header's key field (uuid)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonBudget header detail payload
idstringBudget item header ID
namestringAdmin-facing budget name
descriptionstringUser-friendly display name
budgetItemStatusTypestringStatus: OPEN, CLOSED, or REMOVED
budgetTypestringType: PERSONAL_USE, BUDGET, RESTRICTED, or TEAM
periodTypestringPeriod type: YEARLY, QUARTERLY, MONTHLY, or DATE_RANGE
currencyCodestringISO 4217 currency code
isTestbooleanTest budget flag
activebooleanDisplay availability flag
ownedbooleanCaller ownership flag
annualBudgetnumberTotal annual budget amount
createdDatestringUTC creation timestamp
lastModifiedDatestringUTC modification timestamp
fiscalYearjsonFiscal year reference (id, name, startDate, endDate, status)
budgetAmountsjsonAggregate spend amounts (pendingAmount, spendAmount, unExpensedAmount, availableAmount, adjustedBudgetAmount, consumedPercent, threshold)
ownerjsonOwner user (externalUserCUUID, employeeUuid, email, employeeId, name)
budgetManagersarrayManager user objects
budgetApproversarrayApprover user objects
budgetViewersarrayViewer user objects
budgetTeamMembersarrayTeam member entries (budgetPerson, startDate, endDate, active, status)
budgetCategoryjsonLinked category (id, name, description, statusType)
costObjectsarrayTracking field values (fieldDefinitionId, code, value, operator)
budgetItemDetailsarrayPer-period detail entries (id, currencyCode, amount, budgetItemDetailStatusType, fiscalPeriod, budgetAmounts)
dateRangejsonDate range for DATE_RANGE budgets (startDate, endDate)

SAP Concur Get Cash Advance

Get a cash advance (GET /cashadvance/v4.1/cashadvances/{cashAdvanceId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
cashAdvanceIdstringYesCash advance ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCash advance detail payload
cashAdvanceIdstringUnique identifier of the cash advance
namestringCash advance name
purposestringPurpose for the cash advance
commentstringComment recorded on the cash advance
accountCodestringAccount code linked to the employee
requestDatestringDatetime the cash advance was requested (UTC, YYYY-MM-DD hh:mm:ss)
issuedDatestringDatetime the cash advance was issued (UTC, YYYY-MM-DD hh:mm:ss)
lastModifiedDatestringDatetime the cash advance was last modified (UTC, YYYY-MM-DD hh:mm:ss)
hasReceiptsbooleanWhether the cash advance has receipts
reimbursementCurrencystringReimbursement currency (3-letter ISO 4217 currency code)
amountRequestedjsonAmount requested for the cash advance
amountstringRequested amount value
currencystring3-letter ISO 4217 currency code
availableBalancejsonUnsubmitted balance for the cash advance
amountstringBalance amount
currencystring3-letter ISO 4217 currency code
exchangeRatejsonExchange rate that applies to the cash advance
valuestringExchange rate value
operationstringExchange rate operation (MULTIPLY)
approvalStatusjsonApproval status of the cash advance
codestringStatus code
namestringStatus display name
paymentTypejsonPayment type for the cash advance
paymentCodestringPayment type code
descriptionstringPayment method description

SAP Concur Upload Exchange Rates

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.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
bodyjsonYesBulk upload body: { currency_sets: [{ from_crn_code, to_crn_code, start_date: "YYYY-MM-DD", rate }] } (max 100 entries)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonBulk-upload exchange rate response (Exchange Rate v4)
overallStatusstringOverall result status for the bulk upload (e.g. SUCCESS, FAILURE)
messagestringTop-level result message
currencySetsjsonPer-row results: array of { from_crn_code, to_crn_code, start_date, rate, statusCode, statusMessage }

SAP Concur Get Expected Expense

Get an expected expense (GET /travelrequest/v4/expenses/{expenseUuid}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
expenseUuidstringYesExpected expense UUID
userIdstringNoUser UUID acting on the request (optional)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonExpected expense payload
idstringExpected expense identifier
hrefstringSelf-link
expenseTypejsonExpense type {id, name}
transactionDatestringTransaction date
transactionAmountjsonTransaction amount {value, currency}
postedAmountjsonPosted amount {value, currency}
approvedAmountjsonApproved amount {value, currency}
remainingAmountjsonRemaining amount on the expected expense
businessPurposestringBusiness purpose of the expense
locationjsonLocation {id, name, city, countryCode, countrySubDivisionCode, iataCode, locationType}
exchangeRatejsonExchange rate {value, operation}
allocationsjsonBudget allocations array
tripDatajsonTrip data {agencyBooked, selfBooked, tripType (ONE_WAY|ROUND_TRIP), legs[{id, returnLeg, startDate, startTime, startLocationDetail, startLocation, endLocation, class {code,value}, travelExceptionReasonCodes}], segmentType {category, code}}
parentRequestjsonParent travel request resource link {href, id}
commentsjsonComments sub-resource link {href, id}

SAP Concur Get Expense

Get a single expense (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER, MANAGER, or PROXY
reportIdstringYesExpense report ID
expenseIdstringYesExpense ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonExpense detail (ReportExpenseDetail) payload
expenseIdstringExpense identifier
allocationSetIdstringIdentifier of the associated allocation set
allocationStatestringFULLY_ALLOCATED, NOT_ALLOCATED, or PARTIALLY_ALLOCATED
expenseTypejsonExpense type {id, name, code, isDeleted}
paymentTypejsonPayment type {id, name, code}
transactionDatestringTransaction date (YYYY-MM-DD)
budgetAccrualDatestringBudget accrual date
transactionAmountjsonTransaction amount {currencyCode, value}
postedAmountjsonPosted amount in report currency {currencyCode, value}
claimedAmountjsonNon-personal claimed amount {currencyCode, value}
approvedAmountjsonApproved amount {currencyCode, value}
approverAdjustedAmountjsonTotal amount adjusted by the approver
exchangeRatejsonExchange rate {value, operation}
vendorjsonVendor info {id, name, description}
locationjsonLocation {id, name, city, countryCode, countrySubDivisionCode}
businessPurposestringBusiness purpose
isExpenseBillablebooleanBillable flag
isPersonalExpensebooleanPersonal-expense flag
isExpenseRejectedbooleanWhether the expense was rejected
isExcludedFromCashAdvanceByUserbooleanWhether the user excluded this from cash advance
isImageRequiredbooleanWhether a receipt image is required
isPaperReceiptRequiredbooleanWhether a paper receipt is required
isPaperReceiptReceivedbooleanWhether a paper receipt was received
isAutoCreatedbooleanAuto-creation indicator
hasBlockingExceptionsbooleanWhether submission-blocking exceptions exist
hasExceptionsbooleanWhether any exceptions exist
hasMissingReceiptDeclarationbooleanAffidavit declaration status
attendeeCountnumberNumber of attendees
receiptImageIdstringIdentifier of the attached receipt image
ereceiptImageIdstringeReceipt image identifier
receiptTypejsonReceipt {id, status}
imageCertificationStatusstringReceipt image processing/certification status
ticketNumberstringAssociated travel ticket number
traveljsonTravel data (airline, car rental, hotel, etc.)
travelAllowancejsonTravel allowance association data
mileagejsonMileage details (odometerStart, odometerEnd, totalDistance, ...)
expenseTaxSummaryjsonAggregated tax data for the expense
taxRateLocationstringTax rate location: FOREIGN, HOME, or OUT_OF_PROVINCE
fuelTypeListItemjsonFuel type list item {id, value, isValid}
merchantTaxIdstringMerchant tax identifier
customDatajsonArray of custom field values [{id, value, isValid}]
parentExpenseIdstringIdentifier of the parent expense (for itemizations)
authorizationRequestExpenseIdstringLinked travel-request expected expense identifier
jptRouteIdstringJapan Public Transport route id
invoiceIdstringInvoice identifier
governmentInvoiceIdstringGovernment invoice identifier
lastModifiedDatestringLast modified timestamp
expenseSourceIdentifiersjsonSource reference identifiers
linksarrayHATEOAS links for the expense

SAP Concur Get Expense Report

Retrieve a single expense report header by id via Expense Report v4 (/expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID who owns the report
contextTypestringYesAccess context: TRAVELER (own report), MANAGER (report under approval), PROCESSOR, or PROXY
reportIdstringYesExpense report ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonConcur expense report header (ReportDetails)
reportIdstringUnique report identifier
reportNumberstringReport number
reportFormIdstringReport form ID
policyIdstringPolicy ID applied to the report
policystringPolicy name
namestringReport name
currencyCodestringISO currency code
currencystringCurrency name
approvalStatusstringApproval status name
approvalStatusIdstringApproval status identifier
paymentStatusstringPayment status name
paymentStatusIdstringPayment status identifier
ledgerstringLedger name
ledgerIdstringLedger identifier
userIdstringOwner user UUID
reportDatestringReport date (YYYY-MM-DD)
creationDatestringCreation timestamp (ISO 8601)
submitDatestringSubmit timestamp (ISO 8601) or null
startDatestringReport period start (YYYY-MM-DD)
endDatestringReport period end (YYYY-MM-DD)
approvedAmountjsonAmount approved { value, currencyCode }
claimedAmountjsonAmount claimed { value, currencyCode }
reportTotaljsonReport total { value, currencyCode }
amountDueEmployeejsonAmount due employee
amountDueCompanyjsonAmount due company
amountDueCompanyCardjsonAmount due company card
amountCompanyPaidjsonAmount company has paid
personalAmountjsonPersonal portion of the report
paymentConfirmedAmountjsonConfirmed payment amount
amountNotApprovedjsonAmount not approved
totalAmountPaidEmployeejsonTotal amount paid to employee
concurAuditStatusstringConcur audit status
isFinancialIntegrationEnabledbooleanWhether financial integration is enabled
isSubmittedbooleanWhether the report has been submitted
isSentBackbooleanWhether the report has been sent back
isReopenedbooleanWhether the report was reopened
isReportEverSentBackbooleanWhether the report was ever sent back
canRecallbooleanWhether the report can be recalled
canAddExpensebooleanWhether expenses can be added to the report
canReopenbooleanWhether the report can be reopened
isReceiptImageRequiredbooleanWhether receipt images are required
isReceiptImageAvailablebooleanWhether receipt images are available
isPaperReceiptsReceivedbooleanWhether paper receipts were received
isPendingDelegatorReviewbooleanWhether pending delegator review
isFundsAndGrantsIntegrationEligiblebooleanFunds and grants eligibility
hasReceivedCashAdvanceReturnsbooleanWhether cash advance returns received
analyticsGroupIdstringAnalytics group ID
hierarchyNodeIdstringHierarchy node ID
allocationFormIdstringAllocation form ID
countryCodestringISO country code
countrySubDivisionCodestringISO country subdivision code
countrystringCountry name
businessPurposestringBusiness purpose
commentstringHeader-level comment on the report
reportVersionnumberReport version number
reportTypestringReport type identifier
cardProgramStatementPeriodIdstringCard program statement period ID
defaultFieldAccessstringDefault field access (HD/RO/RW)
imageStatusstringImage status
receiptContainerIdstringReceipt container ID
receiptStatusstringReceipt status
sponsorIdstringSponsor ID
submitterIdstringSubmitter user ID
taxConfigIdstringTax configuration ID
redirectFundjsonRedirect fund object { amount, creditCardId }
customDataarrayArray of custom data { id, value, isValid }. Responses may additionally carry a response-only listItemUrl, which can be null
employeejsonEmployee object { employeeId, employeeUuid }
linksarrayHATEOAS links

SAP Concur Get Expense Itemizations

Get expense itemizations (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/itemizations).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER (the only value the endpoint supports)
reportIdstringYesExpense report ID
expenseIdstringYesExpense ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayArray of itemizations (ReportExpenseSummary[])
expenseIdstringItemization expense id
expenseTypejsonExpense type {id, name, code, isDeleted}
transactionDatestringTransaction date (YYYY-MM-DD)
transactionAmountjsonTransaction amount
postedAmountjsonPosted amount
approvedAmountjsonApproved amount
claimedAmountjsonClaimed amount
approverAdjustedAmountjsonApprover-adjusted amount
paymentTypejsonPayment type
vendorjsonVendor info
locationjsonLocation info
allocationStatestringAllocation state
allocationSetIdstringAllocation set identifier
attendeeCountnumberAttendee count
businessPurposestringBusiness purpose
hasBlockingExceptionsbooleanHas blocking exceptions
hasExceptionsbooleanHas exceptions
isPersonalExpensebooleanPersonal expense
linksarrayHATEOAS links

SAP Concur Get Trip

Get a single trip/itinerary (GET /api/travel/trip/v1.1/{tripID}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
tripIdstringYesTrip ID
useridTypestringNoUser identifier type. The only value documented for Trips v1.1 is "login" (the value is the user login id); xmlsyncid and uuid are Travel Profile v2 identifier types and are not documented for this endpoint.
useridValuestringNoUser identifier value (paired with useridType)
systemFormatstringNoOptional response format. The only supported value is "Tripit", which returns a completely different XML document rooted at <Response><Trip> instead of the standard itinerary document.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datastringRaw XML trip document returned by Concur (Trips v1.1 emits application/xml only, so this is a string and not a parsed object). The document is rooted at <Itinerary> and contains id, ItinLocator, ClientLocator, ItinSourceName, BookedVia, TripName, Status, Description, Comments, CancelComments, ProjectName, StartDateUtc, EndDateUtc, StartDateLocal, EndDateLocal, DateCreatedUtc, DateModifiedUtc, DateBookedLocal, BookedByFirstName, BookedByLastName, IsPersonal, RuleViolations, and Bookings > Booking. When systemFormat=Tripit is passed the document is rooted at <Response><Trip> instead.

SAP Concur Get List

Get a single custom list (GET /list/v4/lists/{listId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
listIdstringYesList ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonList detail payload
idstringUnique identifier (UUID) of the list
valuestringName of the list
levelCountnumberNumber of levels in the list
searchCriteriastringSearch attribute (TEXT or CODE)
displayFormatstringDisplay order ((CODE) TEXT or TEXT (CODE))
categoryjsonList category
idstringCategory UUID
typestringCategory type
isReadOnlybooleanWhether the list is read-only
isDeletedbooleanWhether the list has been deleted
managedBystringIdentifier of the managing application or service
externalThresholdnumberThreshold from where the level starts being external

SAP Concur Get List Item

Get a single list item (GET /list/v4/items/{itemId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
itemIdstringYesList item ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonList item detail payload
idstringList item UUID
listIdstringUUID of the list that contains the list item
codestringLong code format for the item
shortCodestringShort code identifier
valuestringDisplay value of the item
parentIdstringParent item UUID (omitted for first-level items)
levelnumberHierarchy level (1 for root items)
isDeletedbooleanDeletion status across all containing lists
listsarrayLists containing this item
idstringList UUID
hasChildrenbooleanWhether this item has children in the list

SAP Concur Get Purchase Request

Get a purchase request by ID (GET /purchaserequest/v4/purchaserequests/{id}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
purchaseRequestIdstringYesPurchase request ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonPurchase request detail payload
purchaseRequestIdstringUnique identifier of the purchase request
purchaseRequestNumberstringHuman-readable purchase request number
purchaseRequestQueueStatusstringQueue status of the purchase request
purchaseRequestWorkflowStatusstringWorkflow status of the purchase request
purchaseOrdersarrayPurchase orders generated from the request
purchaseOrderNumberstringPurchase order number
purchaseRequestExceptionsarrayExceptions raised on the purchase request
eventCodestringEvent code
exceptionCodestringException code
isClearedbooleanWhether the exception has been cleared
prExceptionIdstringIdentifier of the exception record
messagestringException message

SAP Concur Get Receipt

Get a single receipt by ID (GET /receipts/v4/{receiptId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
receiptIdstringYesReceipt ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonReceipt detail payload
idstringReceipt identifier
userIdstringOwning user UUID
dateTimeReceivedstringTimestamp when the receipt was received (ISO 8601)
receiptjsonParsed receipt JSON object
imagestringReceipt image URL or data reference
validationSchemastringSchema used to validate the receipt
selfstringURL to this receipt resource
templatestringURL template for receipts

SAP Concur Get Receipt Status

Get receipt processing status (GET /receipts/v4/status/{receiptId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
receiptIdstringYesReceipt ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonReceipt status payload
statusstringProcessing status: ACCEPTED, PROCESSING, PROCESSED, or FAILED
logsarrayArray of log entries
logLevelstringLog level
messagestringLog message
timestampstringLog timestamp

SAP Concur Get Travel Profile

Get a travel profile (GET /api/travelprofile/v2.0/profile). Returns the calling user by default; pass userid_type and userid_value to impersonate.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
useridTypestringNoIdentifier type: login, xmlsyncid, or uuid
useridValuestringNoIdentifier value (login id, xml sync id, or UUID)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datastringRaw XML travel profile document returned by Concur (Travel Profile v2 emits application/xml only, per the TravelUserProfile.xsd schema, so this is a string and not a parsed object). The Profile root element contains General, EmergencyContact, Telephones, Addresses, NationalIDs, DriversLicenses, HasNoPassport, Passports, Visas, EmailAddresses, RatePreferences, DiscountCodes, Air, Rail, Car, Hotel, CustomFields, Roles, Sponsors, TSAInfo, UnusedTickets, SouthwestUnusedTickets, and AdvantageMemberships. LoginId is an attribute of the <ProfileResponse> element returned by create/update, not a child element; XmlProfileSyncID and ProfileLastModifiedUTC belong to the Travel Profile summaries (ProfileSummary) response, not to this document.

SAP Concur Get Travel Request

Get a single travel request (GET /travelrequest/v4/requests/{requestUuid}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
requestUuidstringYesTravel request UUID
userIdstringNoThe unique identifier of the user getting the content of the Request. If empty when using a Company token the default system user will be assumed to perform the action.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonTravel request detail payload
idstringTravel request UUID
hrefstringResource hyperlink
requestIdstringPublic-facing request ID (4-6 alphanumeric characters)
namestringRequest name
businessPurposestringBusiness purpose
commentstringLast attached comment
creationDatestringCreation timestamp
lastModifiedstringLast modification timestamp
submitDatestringLast submission timestamp
authorizedDatestringDate when approval was completed
approvalLimitDatestringRequired approval deadline
startDatestringTrip start date (ISO 8601)
endDatestringTrip end date (ISO 8601)
startTimestringTrip start time (HH:mm)
endTimestringTrip end time (HH:mm)
approvedbooleanWhether the request is approved
pendingApprovalbooleanPending approval flag
closedbooleanClosed flag
everSentBackbooleanEver-sent-back flag
canceledPostApprovalbooleanCanceled after approval flag
highestExceptionLevelstringHighest exception level (WARNING, ERROR, NONE)
approvalStatusjsonApproval status
codestringStatus code (NOT_SUBMITTED, SUBMITTED, APPROVED, CANCELED, SENTBACK)
namestringLocalized status name
ownerjsonTravel request owner
idstringUser UUID
firstNamestringOwner first name
lastNamestringOwner last name
approverjsonApprover assigned to the request
idstringUser UUID
firstNamestringApprover first name
lastNamestringApprover last name
policyjsonResource link to the applicable policy
idstringPolicy ID
hrefstringPolicy hyperlink
typejsonRequest type
codestringRequest type code
labelstringRequest type label
mainDestinationjsonMain destination of the trip
citystringCity
countryCodestringISO country code
countrySubDivisionCodestringISO country sub-division code
namestringDestination name
totalApprovedAmountjsonTotal approved amount
valuenumberAmount value
currencystringCurrency code
totalPostedAmountjsonTotal posted amount
valuenumberAmount value
currencystringCurrency code
totalRemainingAmountjsonTotal remaining amount
valuenumberAmount value
currencystringCurrency code
expensesarrayResource links to expected expenses
cashAdvancesjsonResource link to cash advances
idstringResource ID
hrefstringResource hyperlink
commentsjsonResource link to comments
idstringResource ID
hrefstringResource hyperlink
exceptionsjsonResource link to exceptions
idstringResource ID
hrefstringResource hyperlink
travelAgencyjsonResource link to travel agency
idstringResource ID
hrefstringResource hyperlink
extensionOfjsonThe Request for which this Request is an extension of, or addendum to
requestIdstringThe public key of the Request (unique per customer)
idstringUnique identifier of the Request
hrefstringHyperlink to the resource
templatestringHyperlink template to the resource
pnrstringThe value of the pnr provided within the agency proposals by the travel agency
isParentRequestbooleanIndicates whether this Request is a Budget Request
parentRequestIdstringRequired if a Child Request is created, corresponds to the unique identifier of the Budget Request the Child Request will be linked to
allocationFormIdstringThe unique identifier of the allocation form
parentRequestjsonIf the Request is a Child Request, reference to the corresponding Budget Request
idstringUnique identifier of the related object
hrefstringHyperlink to the resource
templatestringHyperlink template to the resource
eventRequestjsonThe parent Event Request to which this child Request is related
idstringUnique identifier of the related object
hrefstringHyperlink to the resource
templatestringHyperlink template to the resource
operationsarrayAvailable workflow actions
relstringOperation name
hrefstringOperation URL
expensePolicyjsonExpense policy reference
idstringPolicy identifier
hrefstringPolicy URL
custom1jsonCustom field 1
custom2jsonCustom field 2
custom3jsonCustom field 3
custom4jsonCustom field 4
custom5jsonCustom field 5
custom6jsonCustom field 6
custom7jsonCustom field 7
custom8jsonCustom field 8
custom9jsonCustom field 9
custom10jsonCustom field 10
custom11jsonCustom field 11
custom12jsonCustom field 12
custom13jsonCustom field 13
custom14jsonCustom field 14
custom15jsonCustom field 15
custom16jsonCustom field 16
custom17jsonCustom field 17
custom18jsonCustom field 18
custom19jsonCustom field 19
custom20jsonCustom field 20

SAP Concur Get User

Get a single user by UUID (GET /profile/identity/v4.1/Users/{id}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userUuidstringYesUser UUID
attributesstringNoComma-separated SCIM attributes to include in the response
excludedAttributesstringNoComma-separated SCIM attributes to exclude from the response

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonSCIM User identity payload

SAP Concur Issue Cash Advance

Issue a cash advance (POST /cashadvance/v4.1/cashadvances/{cashAdvanceId}/issue).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
cashAdvanceIdstringYesCash advance ID to issue
bodyjsonNoOptional request body. All documented fields are optional: accountCode, comment, and exchangeRate.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonIssue cash advance result payload
issuedDatestringDate the cash advance was issued (YYYY-MM-DD)
statusjsonCash advance status after the issue action
codestringStatus code
namestringStatus display name

SAP Concur List Allocations

List allocations on an expense (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/allocations).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER or MANAGER
reportIdstringYesExpense report ID
expenseIdstringYesExpense ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayBare array of allocation objects (ReportAllocationResponse[])
allocationIdstringUnique allocation identifier
accountCodestringLedger account code
overLimitAccountCodestringAccount code applied to amounts over the per-allocation limit
percentagenumberAllocation percentage
allocationAmountjsonAllocation amount (value, currencyCode)
valuenumberAmount value
currencyCodestringISO 4217 currency code
approvedAmountjsonPro-rated approved amount (value, currencyCode)
valuenumberAmount value
currencyCodestringISO 4217 currency code
claimedAmountjsonRequested reimbursement amount (value, currencyCode)
valuenumberAmount value
currencyCodestringISO 4217 currency code
customDataarrayCustom field values (id, value, isValid)
idstringCustom field identifier
valuestringCustom field value
isValidbooleanWhether the value passes validation
expenseIdstringAssociated expense identifier
isSystemAllocationbooleanTrue when system-managed
isPercentEditedbooleanTrue when the percentage was manually edited

SAP Concur List Attendee Associations

List attendees associated with an expense (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER or PROXY
reportIdstringYesExpense report ID
expenseIdstringYesExpense ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonAttendees list payload
noShowAttendeeCountnumberNumber of unnamed/no-show attendees
expenseAttendeeListarrayAttendees associated with the expense, including amounts
attendeeIdstringUnique identifier of the attendee
transactionAmountjsonExpense portion assigned to this attendee
valuenumberNumeric amount
currencyCodestringISO 4217 currency code
approvedAmountjsonApproved amount in report currency
valuenumberNumeric amount
currencyCodestringISO 4217 currency code
isAmountUserEditedbooleanWhether the amount was manually edited
isTravelingbooleanWhether the attendee is traveling (affects tax calculations)
associatedAttendeeCountnumberTotal attendee count; greater than 1 indicates unnamed attendees
versionNumbernumberVersion number preserving previous attendee state
customDataarrayCustom field values for the association
idstringCustom field identifier
valuestringCustom field value (max 48 characters)
isValidbooleanWhether the value passes validation
listItemUrlstringHATEOAS link for list items

SAP Concur List Budget Categories

List budget categories (GET /budget/v4/budgetCategory).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayTop-level array of budget category objects
idstringCategory ID
namestringAdmin-facing category name
descriptionstringFriendly name
statusTypestringStatus: OPEN or REMOVED
expenseTypesarrayExpense types in this category (id, featureTypeCode, expenseTypeCode, name)

SAP Concur List Budgets

List budget item headers (GET /budget/v4/budgetItemHeader).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
adminViewbooleanNoWhen true, returns all budgets the caller can administer (default false)
offsetnumberNoPage offset (Concur returns up to 50 budget headers per page)
responseSchemastringNoResponse schema variant: "COMPACT" returns a smaller payload. Defaults to the non-compact schema

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonBudget headers collection payload
budgetItemHeadersarrayArray of budget item header summaries (id, name, description, budgetItemStatusType, budgetType, currencyCode, fiscalYear, budgetAmounts, owner, ...)
totalRowsnumberTotal number of budget headers
offsetnumberOffset of the current page
limitnumberPage size (Concur returns up to 50)
hrefstringURL of the current page
previousjsonPrevious page link ({ href }); null on the first page
hrefstringPrevious page URL
nextjsonNext page link ({ href }); null when no results remain. This is the only forward cursor for paging
hrefstringNext page URL

SAP Concur List Report Exceptions

List exceptions on a report (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/exceptions).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER, MANAGER, or PROXY
reportIdstringYesExpense report ID
excludeExpensesbooleanNoReturn only exceptions for the report header, excluding expense-level and allocation-level exceptions (default false)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayArray of report header exception entries
exceptionCodestringUnique exception code
exceptionVisibilitystringVisibility scope: ALL, APPROVER_PROCESSOR, or PROCESSOR
isBlockingbooleanWhether the exception prevents report submission
messagestringHuman-readable description of the exception
expenseIdstringRelated expense entry ID
allocationIdstringRelated allocation ID, if any
parentExpenseIdstringParent expense ID for itemized entries

SAP Concur List Expected Expenses

List expected expenses on a travel request (GET /travelrequest/v4/requests/{requestUuid}/expenses).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
requestUuidstringYesTravel request UUID
userIdstringNoUser UUID acting on the request (optional)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayArray of expected expense objects
idstringExpected expense identifier
hrefstringSelf-link
expenseTypejsonExpense type {id, name}
transactionDatestringTransaction date
transactionAmountjsonTransaction amount {value, currency}
postedAmountjsonPosted amount {value, currency}
approvedAmountjsonApproved amount {value, currency}
remainingAmountjsonRemaining amount on the expected expense
businessPurposestringBusiness purpose of the expense
locationjsonLocation {id, name, city, countryCode, countrySubDivisionCode, iataCode, locationType}
exchangeRatejsonExchange rate {value, operation}
allocationsjsonBudget allocations array
tripDatajsonTrip data {agencyBooked, selfBooked, tripType (ONE_WAY|ROUND_TRIP), legs[{id, returnLeg, startDate, startTime, startLocationDetail, startLocation, endLocation, class {code,value}, travelExceptionReasonCodes}], segmentType {category, code}}
parentRequestjsonParent travel request resource link {href, id}. Documented on the single-expense GET, not on this list endpoint
commentsjsonComments sub-resource link {href, id}. Documented on the single-expense GET, not on this list endpoint

SAP Concur List Expenses

List expenses on a report (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER (the only value the endpoint supports)
reportIdstringYesExpense report ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayArray of expense summary entries (ReportExpenseSummary[])
expenseIdstringExpense identifier
expenseTypejsonExpense type {id, name, code, isDeleted}
transactionDatestringTransaction date (YYYY-MM-DD)
transactionAmountjsonTransaction amount {currencyCode, value}
postedAmountjsonPosted amount
approvedAmountjsonApproved amount
claimedAmountjsonClaimed amount
approverAdjustedAmountjsonApprover-adjusted amount
paymentTypejsonPayment type {id, name, code}
vendorjsonVendor info
locationjsonLocation info
allocationStatestringAllocation state
allocationSetIdstringAllocation set identifier
attendeeCountnumberAttendee count
businessPurposestringBusiness purpose
hasBlockingExceptionsbooleanHas submission-blocking exceptions
hasExceptionsbooleanHas exceptions
hasMissingReceiptDeclarationbooleanHas missing-receipt declaration
isAutoCreatedbooleanAuto-created
isPersonalExpensebooleanPersonal-expense flag
isImageRequiredbooleanReceipt image required
isPaperReceiptRequiredbooleanPaper receipt required
imageCertificationStatusstringReceipt image certification status
receiptImageIdstringReceipt image identifier
ereceiptImageIdstringeReceipt image identifier
ticketNumberstringTicket number
exchangeRatejsonExchange rate
fuelTypeListItemjsonFuel type list item {id, value, isValid}
jptRouteIdstringJapan Public Transport route id
travelAllowancejsonTravel allowance
expenseSourceIdentifiersjsonExpense source identifiers
linksarrayHATEOAS links

SAP Concur List Expense Reports

List expense reports (GET /api/v3.0/expense/reports). Returns a v3 envelope with Items and NextPage.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userstringNoFilter by a specific user (login id or user identifier).
submitDateBeforestringNoFilter to reports submitted on or before this date (YYYY-MM-DD)
submitDateAfterstringNoFilter to reports submitted on or after this date (YYYY-MM-DD)
paidDateBeforestringNoFilter to reports paid on or before this date (YYYY-MM-DD)
paidDateAfterstringNoFilter to reports paid on or after this date (YYYY-MM-DD)
modifiedDateBeforestringNoFilter to reports last modified on or before this date (YYYY-MM-DD)
modifiedDateAfterstringNoFilter to reports last modified on or after this date (YYYY-MM-DD)
createDateBeforestringNoFilter to reports created on or before this date (YYYY-MM-DD)
createDateAfterstringNoFilter to reports created on or after this date (YYYY-MM-DD)
approvalStatusCodestringNoFilter by approval status code (e.g. A_NOTF, A_PEND, A_APPR)
paymentStatusCodestringNoFilter by payment status code
currencyCodestringNoFilter by ISO currency code (e.g. USD, EUR)
approverLoginIDstringNoFilter by approver login ID
limitnumberNoNumber of records per page (default 25)
offsetstringNoPagination token. The previous response returns NextPage as a full URI — extract its offset query parameter and pass that value here, not the whole URI.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonConcur v3 expense reports envelope
ItemsarrayArray of report header objects
IDstringReport ID
NamestringReport name
OwnerLoginIDstringOwner login ID
OwnerNamestringOwner display name
TotalnumberReport total
TotalApprovedAmountnumberTotal approved amount
TotalClaimedAmountnumberTotal claimed amount
AmountDueEmployeenumberAmount due employee
CurrencyCodestringISO currency code
ApprovalStatusNamestringApproval status name
ApprovalStatusCodestringApproval status code
PaymentStatusNamestringPayment status name
PaymentStatusCodestringPayment status code
ApproverLoginIDstringApprover login ID
ApproverNamestringApprover display name
HasExceptionbooleanWhether the report has any exception
ReceiptsReceivedbooleanWhether paper receipts were received
CreateDatestringCreation date
SubmitDatestringSubmit date
LastModifiedDatestringLast modified date
PaidDatestringPaid date
URIstringSelf URI
NextPagestringFull URI of the next page — read its offset query parameter to page forward

SAP Concur List Trips

List travel trips/itineraries (GET /api/travel/trip/v1.1).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
startDatestringNoFilter trips starting on/after this date (YYYY-MM-DD)
endDatestringNoFilter trips ending on/before this date (YYYY-MM-DD)
bookingTypestringNoFilter by booking type. Supported values are capitalized: Air, Car, Dining, Hotel, Parking, Rail, Ride.
useridTypestringNoUser identifier type. The only value documented for Trips v1.1 is "login" (the value is the user login id); xmlsyncid and uuid are Travel Profile v2 identifier types and are not documented for this endpoint.
useridValuestringNoUser identifier value (paired with useridType)
itemsPerPagenumberNoItems per page. Concur only paginates when includeMetadata is also sent, so this tool sets includeMetadata automatically whenever itemsPerPage or page is provided.
pagenumberNo1-based page number. Concur only paginates when includeMetadata is also sent, so this tool sets includeMetadata automatically whenever page or itemsPerPage is provided.
includeMetadatabooleanNoInclude paging metadata in the response. Implied when page or itemsPerPage is set.
includeCanceledTripsbooleanNoInclude canceled trips in the result set
createdAfterDatestringNoOnly trips created after this date (YYYY-MM-DD)
createdBeforeDatestringNoOnly trips created before this date (YYYY-MM-DD)
lastModifiedDatestringNoOnly trips modified on/after this date (YYYY-MM-DD)
includeVirtualTripstringNoSet to "1" to include virtual trips, which carry the offline segments booked through Concur Request.
includeGuestBookingsbooleanNoInclude trips booked on behalf of guests. Defaults to false.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datastringRaw XML trips list returned by Concur (Trips v1.1 emits application/xml only, so this is a string and not a parsed object). By default the document is rooted at <ItineraryInfoList> containing one <ItineraryInfo> per trip (TripId, TripName, TripStatus, StartDateLocal, EndDateLocal, DateModifiedUtc, UserLoginId, id). When includeMetadata is sent — which this tool does automatically whenever page or itemsPerPage is supplied — the document is instead rooted at <ConnectResponse> with ConnectResponse > Metadata > Paging (TotalPages, TotalItems, Page, ItemsPerPage, PreviousPageURL, NextPageURL) and ConnectResponse > Data > ItineraryInfoList > ItineraryInfo.

SAP Concur List Lists

List custom lists (GET /list/v4/lists).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
pagenumberNoPage number (1-based; page size is fixed at 100)
sortBystringNoSort field: name, levelcount, or listcategory
sortDirectionstringNoSort direction: asc or desc
valuestringNoFilter by list name. Accepts an operator prefix: sw: (starts with), ew: (ends with), not:, cp: (contains) (e.g. "sw:Cost").
categoryTypestringNoFilter by category type (mapped to the category.type query param). Accepts an operator prefix: eq:, not:.
isDeletedstringNoFilter by deletion status. Pass "true" or "false" as a string because the filter also accepts the eq operator prefix (eq:true) — eq is the only operator this filter supports.
levelCountstringNoFilter by number of levels. Accepts an operator prefix: eq:, gt:, gte:, lt:, lte: (e.g. "eq:1", "gt:2", "lte:9").

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonPaginated lists collection
contentarrayLists in the current page
idstringList UUID
valuestringName of the list
levelCountnumberNumber of levels in the list
searchCriteriastringSearch attribute (TEXT or CODE)
displayFormatstringDisplay order ((CODE) TEXT or TEXT (CODE))
categoryjsonList category
idstringCategory UUID
typestringCategory type
isReadOnlybooleanWhether the list is read-only
isDeletedbooleanWhether the list has been deleted
managedBystringManaging application or service identifier
externalThresholdnumberThreshold from where the level starts being external
pagejsonPagination metadata
numbernumberCurrent page number
sizenumberItems per page
totalElementsnumberTotal item count
totalPagesnumberTotal page count
linksarrayNavigation links (next, previous, first, last)
relstringLink relation
hrefstringLink URL

SAP Concur List List Items

List the top-level items (children) for a custom list (GET /list/v4/lists/{listId}/children).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
listIdstringYesList ID
pagenumberNoPage number (1-based; page size is fixed at 100)
sortBystringNoSort field: value or shortCode
sortDirectionstringNoSort direction: asc or desc
hasChildrenbooleanNoInclude only items that have children
isDeletedstringNoFilter by deletion status. Pass "true" or "false" as a string because the filter also accepts the eq operator prefix (eq:true) — eq is the only operator this filter supports.
shortCodestringNoFilter by short code
valuestringNoFilter by display value
shortCodeOrValuestringNoFilter by short code OR value

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonPaginated list items collection
contentarrayList items in the current page
idstringList item UUID
listIdstringUUID of the list that contains the list item
codestringLong code format for the item
shortCodestringShort code identifier
valuestringDisplay value of the item
parentIdstringParent item UUID (omitted for first-level items)
levelnumberHierarchy level (1 for root items)
isDeletedbooleanDeletion status across all containing lists
listsarrayLists containing this item
idstringList UUID
hasChildrenbooleanWhether this item has children in the list
pagejsonPagination metadata
numbernumberCurrent page number
sizenumberItems per page
totalElementsnumberTotal item count
totalPagesnumberTotal page count
linksarrayNavigation links (next, previous, first, last)
relstringLink relation
hrefstringLink URL

SAP Concur List Receipts

List receipts for a user (GET /receipts/v4/users/{userId}). Concur documents no query parameters for this endpoint, so page size and offset cannot be controlled; follow the "next" URL in the response to page forward.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonE-receipt collection wrapper
receiptsarrayArray of e-receipt objects
idstringReceipt id
userIdstringOwner user UUID
dateTimeReceivedstringTimestamp the receipt was received
receiptjsonStructured receipt data
imagestringReceipt image URL or reference
validationSchemastringValidation schema URI
selfstringSelf URL
templatestringTemplate URL
nextstringURL of the next page of receipts, if returned. Concur documents this cursor on the image-only-receipts endpoint rather than on this one

SAP Concur List Report Comments

List comments on a report (GET /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/comments).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER, MANAGER, or PROXY
reportIdstringYesExpense report ID
includeAllCommentsbooleanNoInclude comments from all expenses in the report (default false)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayArray of report comment entries
commentstringComment text
creationDatestringComment creation timestamp (ISO 8601)
expenseIdstringRelated expense entry ID (null for report header comments)
isAuditorCommentbooleanWhether the comment was added by an auditor
isLatestbooleanWhether this is the latest comment
createdForEmployeeIdstringEmployee ID the comment was created for
authorjsonComment author
employeeIdstringEmployee identifier
employeeUuidstringEmployee UUID
createdForEmployeejsonEmployee the comment was created for
employeeIdstringEmployee identifier
employeeUuidstringEmployee UUID
stepInstanceIdstringWorkflow step instance identifier

SAP Concur List Reports To Approve

List expense reports awaiting approval (GET /expensereports/v4/users/{userId}/context/MANAGER/reportsToApprove).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesManager user UUID
contextTypestringNoAccess context: must be MANAGER (default)
sortstringNoReport field name to sort by (e.g., reportDate)
orderstringNoSort direction: asc or desc
includeDelegateApprovalsbooleanNoWhether to include reports the caller can approve as a delegate

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayArray of reports awaiting approval (ReportToApprove[])
reportIdstringUnique report identifier
namestringReport name
reportDatestringReport date (YYYY-MM-DD)
reportNumberstringUser-friendly report number
submitDatestringSubmission timestamp (ISO 8601 UTC)
approverjsonApprover employee { employeeId, employeeUuid }
employeejsonReport owner employee { employeeId, employeeUuid }
amountDueEmployeejsonAmount due employee { value, currencyCode }
claimedAmountjsonTotal claimed amount { value, currencyCode }
totalApprovedAmountjsonTotal approved amount { value, currencyCode }
hasExceptionsbooleanWhether the report has exceptions
reportTypestringReport creation method identifier
linksarrayHATEOAS links

SAP Concur Get Request Cash Advance

Get a single cash advance assigned to a travel request (GET /travelrequest/v4/cashadvances/{cashAdvanceUuid}). This endpoint exists for feature parity only and will be deprecated in the future — SAP recommends relying on the list of cash advances link available in the Request payload response instead.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
cashAdvanceUuidstringYesCash advance UUID (returned as part of a travel request)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonCash advance detail
cashAdvanceIdstringUnique cash advance identifier
amountRequestedjsonRequested amount
amountnumberPreferred amount field — use this over value
valuenumberLegacy amount value — will soon be deprecated in favor of amount
currencystringCurrency code
approvalStatusjsonApproval status
codestringStatus code
namestringStatus name
requestDatestringRequest datetime (ISO 8601)
issueDatestringDate the cash advance was issued (ISO 8601)
commentstringComment attached to the cash advance
exchangeRatejsonExchange rate
valuenumberRate value
operationstringMultiply or divide

SAP Concur List Travel Profiles Summary

List travel profile summaries (GET /api/travelprofile/v2.0/summary). LastModifiedDate is required by Concur.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
lastModifiedDatestringYesRequired UTC datetime in YYYY-MM-DDThh:mm:ss format
pagenumberNo1-based page number
itemsPerPagenumberNoItems per page (max 200)
travelConfigsstringNoComma-separated travel configuration ids
activestringNoFilter by user state: "1" returns active users, "0" returns inactive users.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datastringRaw XML travel profile summary list returned by Concur (Travel Profile v2 emits application/xml only, per the TravelProfileSummaryV2.xsd schema, so this is a string and not a parsed object). The document is rooted at <ConnectResponse> with ConnectResponse > Metadata > Paging (TotalPages, TotalItems, Page, ItemsPerPage, PreviousPageURL, NextPageURL) and ConnectResponse > Data > ProfileSummary, whose only child elements are Status, LoginID, XmlProfileSyncID, and ProfileLastModifiedUTC.

SAP Concur List Travel Request Comments

List comments on a travel request (GET /travelrequest/v4/requests/{requestUuid}/comments).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
requestUuidstringYesTravel request UUID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
dataarrayArray of comment entries
authorjsonComment author
firstNamestringAuthor first name
lastNamestringAuthor last name
creationDateTimestringComment creation timestamp (ISO 8601)
isLatestbooleanWhether this is the latest comment
valuestringComment text

SAP Concur List Travel Requests

List travel requests (GET /travelrequest/v4/requests).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
viewstringNoView filter: ALL, ACTIVE, ACTIVEAPPROVED, UNSUBMITTED, PENDING, VALIDATED, APPROVED, CANCELED, CLOSED, SUBMITTED, TOAPPROVE, PENDINGEBOOKING, PENDINGPROPOSAL, PROPOSALAPPROVED, or PROPOSALCANCELED. Defaults to ALL when omitted. The three TMC-agent views (PENDINGPROPOSAL, PROPOSALAPPROVED, PROPOSALCANCELED) require userId.
limitnumberNoRecords per page (default 10, maximum 100 — higher values return 400)
startnumberNoPage start cursor (offset)
userIdstringNoFor a traveler view, the unique identifier of the Request owner to search for. For an approver view, the unique identifier of the approver. For a TMC-agent view (PENDINGPROPOSAL, PROPOSALAPPROVED, PROPOSALCANCELED) this is required and is the unique identifier of the TMC agent.
approvedBeforestringNoISO 8601 date — return requests approved before this date
approvedAfterstringNoISO 8601 date — return requests approved after this date
modifiedBeforestringNoISO 8601 date — return requests modified before this date
modifiedAfterstringNoISO 8601 date — return requests modified after this date
sortFieldstringNoField to sort by: startDate, approvalStatus, or requestId (default startDate)
sortOrderstringNoSort order: ASC or DESC (default DESC)

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonTravel requests list payload
dataarrayArray of travel request summaries
idstringTravel request UUID
hrefstringResource hyperlink
requestIdstringPublic-facing request ID
namestringRequest name
businessPurposestringBusiness purpose
commentstringLast attached comment
creationDatestringCreation timestamp
submitDatestringLast submission timestamp
startDatestringTrip start date (ISO 8601)
endDatestringTrip end date (ISO 8601)
startTimestringTrip start time (HH:mm)
approvedbooleanWhether the request is approved
pendingApprovalbooleanPending approval flag
closedbooleanClosed flag
everSentBackbooleanEver-sent-back flag
canceledPostApprovalbooleanCanceled after approval flag
approvalStatusjsonApproval status
codestringStatus code (NOT_SUBMITTED, SUBMITTED, APPROVED, CANCELED, SENTBACK)
namestringLocalized status name
ownerjsonTravel request owner
idstringUser UUID
firstNamestringOwner first name
lastNamestringOwner last name
approverjsonApprover assigned to the request
idstringUser UUID
firstNamestringApprover first name
lastNamestringApprover last name
typejsonRequest type
codestringRequest type code
labelstringRequest type label
totalApprovedAmountjsonTotal approved amount
valuenumberAmount value
currencystringCurrency code
totalPostedAmountjsonTotal posted amount
valuenumberAmount value
currencystringCurrency code
totalRemainingAmountjsonTotal remaining amount
valuenumberAmount value
currencystringCurrency code
expensesarrayResource links to expected expenses
operationsarrayPagination links (next, prev, first, last)
relstringLink relation
hrefstringLink target

SAP Concur List Users

List Concur user identities (GET /profile/identity/v4.1/Users).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
countnumberNoMax number of users to return (default 100, max 1000)
cursorstringNoSCIM v4.1 pagination cursor — the nextCursor value returned by a prior call
attributesstringNoComma-separated list of attributes to include in the response
excludedAttributesstringNoComma-separated list of attributes to exclude from the response

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonSCIM ListResponse with Resources array

SAP Concur Move Travel Request

Move a travel request through workflow (POST /travelrequest/v4/requests/{requestUuid}/{action}). Valid actions: submit, recall, cancel, approve, sendback, close, reopen.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
requestUuidstringYesTravel request UUID
actionstringYesWorkflow action: submit, recall, cancel, approve, sendback, close, reopen
userIdstringNoThe unique identifier of the user performing the status transition. Required when connecting with a Company token for traveler and Non traveler actions only; not required for External system validation actions. If empty, a 400 missingRequiredParam error code is returned. For non-traveler actions, if not provided, "System, Concur" is displayed in the Audit Trail of the Request.
companyIDstringNoOptional company identifier for the workflow action (documented as companyID, distinct from the companyUuid auth field)
commentstringNoComment sent as a query parameter. Only works when the workflow action is sendback. This comment is visible wherever Request comments are available.
bodyjsonNoOptional payload — only the sendback action accepts one (e.g., { "comment": "..." }). Every other action takes no payload.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonThe full travel request having that requestUuid, after the workflow transition
idstringTravel request UUID
hrefstringResource hyperlink
requestIdstringPublic-facing request ID (4-6 alphanumeric characters)
namestringRequest name
businessPurposestringBusiness purpose
commentstringLast attached comment
creationDatestringCreation timestamp
lastModifiedstringLast modification timestamp
submitDatestringLast submission timestamp
authorizedDatestringDate when approval was completed
approvalLimitDatestringRequired approval deadline
startDatestringTrip start date (ISO 8601)
endDatestringTrip end date (ISO 8601)
startTimestringTrip start time (HH:mm)
endTimestringTrip end time (HH:mm)
approvedbooleanWhether the request is approved
pendingApprovalbooleanPending approval flag
closedbooleanClosed flag
everSentBackbooleanEver-sent-back flag
canceledPostApprovalbooleanCanceled after approval flag
highestExceptionLevelstringHighest exception level (WARNING, ERROR, NONE)
approvalStatusjsonApproval status after the workflow transition
codestringStatus code (NOT_SUBMITTED, SUBMITTED, APPROVED, CANCELED, SENTBACK)
namestringLocalized status name
ownerjsonTravel request owner
idstringUser UUID
firstNamestringOwner first name
lastNamestringOwner last name
approverjsonApprover assigned after the transition
idstringUser UUID
firstNamestringApprover first name
lastNamestringApprover last name
policyjsonResource link to the applicable policy
idstringPolicy ID
hrefstringPolicy hyperlink
typejsonRequest type
codestringRequest type code
labelstringRequest type label
mainDestinationjsonMain destination of the trip
citystringCity
countryCodestringISO country code
countrySubDivisionCodestringISO country sub-division code
namestringDestination name
totalApprovedAmountjsonTotal approved amount
valuenumberAmount value
currencystringCurrency code
totalPostedAmountjsonTotal posted amount
valuenumberAmount value
currencystringCurrency code
totalRemainingAmountjsonTotal remaining amount
valuenumberAmount value
currencystringCurrency code
expensesarrayResource links to expected expenses
cashAdvancesjsonResource link to cash advances
idstringResource ID
hrefstringResource hyperlink
commentsjsonResource link to comments
idstringResource ID
hrefstringResource hyperlink
exceptionsjsonResource link to exceptions
idstringResource ID
hrefstringResource hyperlink
travelAgencyjsonResource link to travel agency
idstringResource ID
hrefstringResource hyperlink
extensionOfjsonThe Request for which this Request is an extension of, or addendum to
requestIdstringThe public key of the Request (unique per customer)
idstringUnique identifier of the Request
hrefstringHyperlink to the resource
templatestringHyperlink template to the resource
expensePolicyjsonExpense policy reference
idstringPolicy identifier
hrefstringPolicy URL
operationsarrayAvailable follow-up workflow actions
relstringLink relation
hrefstringLink target

SAP Concur Recall Expense Report

Recall a submitted expense report (PATCH /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/recall — supported contexts: TRAVELER, PROXY). Takes no request body. This operation supports user-level access tokens: set grantType to "password" with username and password, since the default client_credentials grant yields a company-level token.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password. Recall requires a user-level access token, so set this to "password" and supply username/password — client_credentials produces a company-level token that Concur rejects for this operation.
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID who owns the report
contextTypestringYesAccess context: TRAVELER or PROXY
reportIdstringYesExpense report ID to recall

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty (204 No Content)

SAP Concur Remove All Attendees

Remove all attendees from an expense (DELETE /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER or PROXY
reportIdstringYesExpense report ID
expenseIdstringYesExpense ID

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty response body (Concur returns 204 No Content)

SAP Concur Search Locations

Search Concur location reference data (GET /localities/v5/locations).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
searchTextstringNoFree-text for location search. Conditional — required if none of locationNameKey, locationNameId, or locCode is present.
locCodestringNoLocation code. Conditional — required if none of locationNameKey, locationNameId, or searchText is present.
locationNameIdstringNoUUID identifier of the location name. Conditional — required if none of locationNameKey, locCode, or searchText is present.
locationNameKeynumberNoUnique key for the location name. Conditional — required if none of locationNameId, locCode, or searchText is present.
countryCodestringNo2-letter ISO 3166-1 country code. Only valid together with searchText.
subdivisionCodestringNoISO 3166-2:2007 country subdivision (e.g. US-WA). Only valid together with searchText.
adminRegionIdstringNoAdministrative region ID. Only valid together with searchText.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonLocalities v5 search response
locationsarrayArray of matching Location records
idstringLocation ID (UUID)
codestringIATA / location code
legacyKeynumberLegacy numeric location key
timeZoneOffsetnumberTime zone offset of the location, in minutes (e.g. 60)
activebooleanWhether the location is active
pointjsonGeographic coordinates
latitudenumberLatitude
longitudenumberLongitude
namesarrayLocalized location names
idstringName ID
legacyKeynumberLegacy numeric name key
langCodestringLanguage code
namestringDisplay name
activebooleanWhether the name is active
administrativeRegionjsonAdministrative region (e.g., metro area)
idstringUnique identifier of the admin region
namesarrayLocalized region names
countryCodestringISO 3166-1 country code of the region
subDivCodestringISO 3166-2 subdivision code of the region
linksarrayHATEOAS links
countryjsonCountry reference (Code schema)
codestringISO country code
namesarrayLocalized country names
linksarrayHATEOAS links
subDivisionjsonCountry subdivision (state/province, Code schema)
codestringISO subdivision code
namesarrayLocalized subdivision names
linksarrayHATEOAS links
linksarrayHATEOAS links

SAP Concur Search Users

Search users via SCIM .search endpoint (POST /profile/identity/v4.1/Users/.search).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
bodyjsonYesSCIM search payload. Required: schemas: ["urn:ietf:params:scim:api:messages:concur:2.0:SearchRequest"] (Concur-specific URN, not the standard SearchRequest URN). Optional: filter, count (1-1000), attributes, excludedAttributes, cursor (the nextCursor value from a prior response). The startIndex request parameter is not supported (responses still return a startIndex value).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonSCIM search ListResponse

SAP Concur Send Back Expense Report

Send back an expense report to the employee (PATCH /expensereports/v4/reports/{reportId}/sendBack). Required body field: comment.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
reportIdstringYesExpense report ID to send back
bodyjsonYesRequest body — comment is required by Concur (e.g., { "comment": "Missing receipt" }). Optional fields: expectedStepCode, expectedStepSequence.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty (204 No Content)

SAP Concur Submit Expense Report

Submit an expense report into the workflow via Expense Report v4 (PATCH /expensereports/v4/users/{userId}/reports/{reportId}/submit). Takes no request body.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID who owns the report
reportIdstringYesExpense report ID to submit

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty (204 No Content)

SAP Concur Update Allocation

Update an allocation (PATCH /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/allocations/{allocationId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID
contextTypestringYesAccess context: TRAVELER or PROXY (write requires expense.report.readwrite)
reportIdstringYesExpense report ID
allocationIdstringYesAllocation ID to update
bodyjsonYesJSON Merge Patch (RFC 7386) payload. Must be the two-key envelope { "allocation": { "customData": [{ "id": "custom9", "value": "...", "isValid": true }] }, "expenseIds": ["29EE..."] }.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty body on success (Concur returns 204 No Content)

SAP Concur Update Expected Expense

Update an expected expense (PUT /travelrequest/v4/expenses/{expenseUuid}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
expenseUuidstringYesExpected expense UUID to update
userIdstringNoUser UUID acting on the request (required when using a Company JWT, optional otherwise)
bodyjsonYesFields to update on the expected expense

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonUpdated expected expense payload
idstringExpected expense identifier
hrefstringSelf-link
expenseTypejsonExpense type {id, name}
transactionDatestringTransaction date
transactionAmountjsonTransaction amount {value, currency}
postedAmountjsonPosted amount {value, currency}
approvedAmountjsonApproved amount {value, currency}
remainingAmountjsonRemaining amount on the expected expense
businessPurposestringBusiness purpose of the expense
locationjsonLocation {id, name, city, countryCode, countrySubDivisionCode, iataCode, locationType}
exchangeRatejsonExchange rate {value, operation}
allocationsjsonBudget allocations array
tripDatajsonTrip data {agencyBooked, selfBooked, tripType (ONE_WAY|ROUND_TRIP), legs[{id, returnLeg, startDate, startTime, startLocationDetail, startLocation, endLocation, class {code,value}, travelExceptionReasonCodes}], segmentType {category, code}}
parentRequestjsonParent travel request resource link {href, id}
commentsjsonComments sub-resource link {href, id}

SAP Concur Update Expense

Update an expense (PATCH /expensereports/v4/reports/{reportId}/expenses/{expenseId}). Only Company JWT authentication is allowed on this endpoint — the password grant is rejected. A submitted report cannot be updated once it has reached a Paid workflow status. Although the primary intent of this operation is for submitted report updates, it also works on unsubmitted reports, but with the same limited set of fields.

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
reportIdstringYesExpense report ID
expenseIdstringYesExpense ID to update
bodyjsonYesPATCH body. Allowed fields: businessPurpose (string, max 64), customData (CustomData[]), expenseSource (required: EA|MOB|OTHER|SE|TA|TR|UI), isExpenseRejected (boolean), isPaperReceiptReceived (boolean).

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty body on success (HTTP 204 No Content). Error details when status is non-2xx

SAP Concur Update Expense Report

Update an unsubmitted expense report (PATCH /expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId} — supported contexts: TRAVELER, PROXY). The body must always include reportSource (EA, MOB, OTHER, SE, TR, or UI).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID who owns the report
contextTypestringYesAccess context: TRAVELER (own report) or PROXY (editing on behalf of another user)
reportIdstringYesExpense report ID to update
bodyjsonYesFields to update on the report. reportSource is REQUIRED by Concur on every update — one of "EA", "MOB", "OTHER", "SE", "TR", "UI" (use "OTHER" if unknown). Other updatable fields: businessPurpose, comment, country, countryCode, countrySubDivisionCode, customData, endDate, isCopyDownInherited, isPaperReceiptsReceived, name, policy, policyId, redirectFund, reportDate, startDate.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonEmpty (204 No Content)

SAP Concur Update List Item

Update a list item (PUT /list/v4/items/{itemId}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
itemIdstringYesList item UUID
bodyjsonYesList item payload. Required: shortCode, value. Other fields in the body are ignored.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonUpdated list item
idstringList item UUID
listIdstringUUID of the list that contains the list item
codestringLong code format for the item
shortCodestringShort code identifier
valuestringDisplay value of the item
parentIdstringParent item UUID (omitted for first-level items)
levelnumberHierarchy level (1 for root items)
isDeletedbooleanDeletion status across all containing lists
listsarrayLists containing this item
idstringList UUID
hasChildrenbooleanWhether this item has children in the list

SAP Concur Update Travel Request

Update a travel request (PUT /travelrequest/v4/requests/{requestUuid}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
requestUuidstringYesTravel request UUID to update
userIdstringNoThe unique identifier of the user performing the update. Optional. Will be taken into account only if calling with a Company token. If not provided the update will be performed as "Concur System".
bodyjsonYesFields to update on the travel request. Partial update is supported. Only these fields are updatable: comment, startDate, startTime, endDate, endTime, expensePolicy, name, businessPurpose, mainDestination, travelAgency, and the custom1-custom20 fields — any other field is silently ignored. Pass an unquoted null to clear a field.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonUpdated travel request payload
idstringTravel request UUID
hrefstringResource hyperlink
requestIdstringPublic-facing request ID (4-6 alphanumeric characters)
namestringRequest name
businessPurposestringBusiness purpose
commentstringLast attached comment
creationDatestringCreation timestamp
lastModifiedstringLast modification timestamp
submitDatestringLast submission timestamp
startDatestringTrip start date (ISO 8601)
endDatestringTrip end date (ISO 8601)
startTimestringTrip start time (HH:mm)
endTimestringTrip end time (HH:mm)
approvedbooleanWhether the request is approved
pendingApprovalbooleanPending approval flag
closedbooleanClosed flag
everSentBackbooleanEver-sent-back flag
canceledPostApprovalbooleanCanceled after approval flag
approvalStatusjsonApproval status
codestringStatus code (NOT_SUBMITTED, SUBMITTED, APPROVED, CANCELED, SENTBACK)
namestringLocalized status name
ownerjsonTravel request owner
idstringUser UUID
firstNamestringOwner first name
lastNamestringOwner last name
approverjsonApprover assigned to the request
idstringUser UUID
firstNamestringApprover first name
lastNamestringApprover last name
policyjsonResource link to the applicable policy
idstringPolicy ID
hrefstringPolicy hyperlink
typejsonRequest type
codestringRequest type code
labelstringRequest type label
mainDestinationjsonMain destination of the trip
citystringCity
countryCodestringISO country code
countrySubDivisionCodestringISO country sub-division code
namestringDestination name
totalApprovedAmountjsonTotal approved amount
valuenumberAmount value
currencystringCurrency code
totalPostedAmountjsonTotal posted amount
valuenumberAmount value
currencystringCurrency code
totalRemainingAmountjsonTotal remaining amount
valuenumberAmount value
currencystringCurrency code
operationsarrayAvailable workflow actions

SAP Concur Update User

Patch a user identity (PATCH /profile/identity/v4.1/Users/{id}).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userUuidstringYesUser UUID to update
bodyjsonYesSCIM PATCH payload. Required: schemas: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"] and Operations, an array of { op, path, value } where op is add, replace, or remove. If the target location is a multi-valued attribute and no filter is specified, the attribute and all values are replaced. Example: deactivate a user with { op: "replace", path: "active", value: false }.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonUpdated SCIM User payload

SAP Concur Upload Receipt Image

Upload an image-only receipt (POST /receipts/v4/users/{userId}/image-only-receipts).

Input

ParameterTypeRequiredDescription
datacenterstringNoConcur datacenter base URL (defaults to us.api.concursolutions.com)
grantTypestringNoOAuth grant type: client_credentials (default) or password
clientIdstringYesConcur OAuth client ID
clientSecretstringYesConcur OAuth client secret
usernamestringNoUsername (only for password grant)
passwordstringNoPassword (only for password grant)
companyUuidstringNoCompany UUID for multi-company access tokens
userIdstringYesConcur user UUID who owns the receipt
receiptjsonYesReceipt image file (UserFile reference). Supported formats: png, jpg, jpeg, tiff, tif, gif, pdf. TIFF/TIF files are converted to PDF server-side. Maximum size 25 MB.

Output

ParameterTypeDescription
statusnumberHTTP status code returned by Concur
datajsonImage-only receipt upload response (HTTP 202 Accepted; Location and Link response headers exposed in body)
locationstringLocation header URL for the new receipt image (e.g. /receipts/v4/images/{receiptId})
linkstringRaw Link header value, forwarded verbatim — it is not a bare URL. Format: <https://{datacenter}/receipts/v4/status/{receiptId}>; rel="processing-status". Parse the href out of the angle brackets before using it.