Attendee Associations v4
The Expense Attendee Associations v4 API can be used to retrieve the attendees associated with a specific expense.
Prior Versions
- Expense Entry Attendee v2 documentation is available here.
- Expense Entry Attendee v3 documentation is available here.
Limitations
This API is only available to partners who have been granted access by SAP Concur. Access to this documentation does not provide access to the API.
Products and Editions
- Concur Expense Professional Edition
- Concur Expense Standard Edition
Scope Usage
Name |
Description |
Endpoint |
expense.report.read |
Get information about attendee associations. |
GET |
expense.report.readwrite |
Read and write attendee associations. |
GET |
Dependencies
SAP Concur clients must purchase Concur Expense in order to use this API. User based API requires the use of the Identity v4 API. Please contact your SAP Concur representative for more information.
Access Token Usage
This API supports both company level and user level access tokens.
Retrieves Associated Attendees on a Specific Expense ID
Retrieves the attendees that are associated with a specific expense ID.
Scopes
expense.report.read
- Refer to Scope Usage for full details.
expense.report.readwrite
- Refer to Scope Usage for full details.
URI
https://{datacenterURI}/expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees
Parameters
Name |
Type |
Format |
Description |
userId |
string |
- |
Required The unique identifier of the SAP Concur user. Please use Identity v4 API to retrieve the userId . |
contextType |
string |
- |
Required The access level of the user, which determines the form fields they can view/modify. Supported values: TRAVELER ,PROXY |
reportId |
string |
- |
Required The unique identifier of the report that is being read. |
expenseId |
string |
- |
Required The unique identifier of the expense that is being read. |
Payloads
Examples
Request
curl -X 'GET' \
'https://us.api.concursolutions.com/expensereports/v4/users/33cdbba7-062c-42bb-92c4-a82c06b07eae/context/TRAVELER/reports/24E51595E17E4627B2AF/expenses/51ADA86C8EB164488FE67180CCE16EDB/attendees' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'
Response
{
"noShowAttendeeCount": 0,
"expenseAttendeeList": [
{
"attendeeId": "695E66E2A472074D8895057311C6A158",
"customData": null,
"isAmountUserEdited": false,
"isTraveling": null,
"associatedAttendeeCount": 1,
"versionNumber": 1,
"transactionAmount": {
"value": 100,
"currencyCode": "USD"
},
"approvedAmount": {
"value": 100,
"currencyCode": "USD"
}
}
]
}
Retrieves Associated Attendees on a Specific Expense ID Using System User
Retrieves the attendees that are associated with a specific expense ID using a system user.
Scopes
expense.report.read
- Refer to Scope Usage for full details.
expense.report.readwrite
- Refer to Scope Usage for full details.
URI
https://{datacenterURI}/expensereports/v4/reports/{reportId}/expenses/{expenseId}/attendees
Parameters
Name |
Type |
Format |
Description |
reportId |
string |
- |
Required The unique identifier of the report that is being read. |
expenseId |
string |
- |
Required The unique identifier of the expense that is being read. |
Payloads
Examples
Request
curl -X 'GET' \
'https://us.api.concursolutions.com/expensereports/v4/reports/24E51595E17E4627B2AF/expenses/51ADA86C8EB164488FE67180CCE16EDB/attendees' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'
Response
{
"noShowAttendeeCount": 0,
"expenseAttendeeList": [
{
"attendeeId": "695E66E2A472074D8895057311C6A158",
"customData": null,
"isAmountUserEdited": false,
"isTraveling": null,
"associatedAttendeeCount": 1,
"versionNumber": 1,
"transactionAmount": {
"value": 100,
"currencyCode": "USD"
},
"approvedAmount": {
"value": 100,
"currencyCode": "USD"
}
}
]
}
Post Expense Attendee Association
Associates a set of attendees to a specified expense on a report
Scopes
expense.report.readwrite
- Refer to Scope Usage for full details.
Request
URI Template
https://{datacenterURI}/expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees
Parameters
Name |
Type |
Format |
Description |
userId |
string |
- |
Required The unique identifier of the SAP Concur user. Use Identity v4 to retrieve the userId . |
contextType |
string |
- |
Required The access level of the SAP Concur user, which determines the form fields they can view/modify. Supported values: TRAVELER , PROXY |
reportId |
string |
- |
Required The unique identifier of the report to which this expense entry belongs. |
expenseId |
string |
- |
Required The unique identifier of the expense entry to which the comments belong. |
Payload
Response
Status Codes
Example
Request
curl --location --request POST 'https://us.api.concursolutions.com/expensereports/v4/users/750524a2-907b-4dde-9fec-d038ab043f53/context/TRAVELER/reports/E364C14BAEEA4BE5922C/expenses/36CBAA8D4ADE6C46BB587C05293405DC/attendees' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'
--data-raw '{
"noShowAttendeeCount": 0,
"expenseAttendeeList": [
{
"attendeeId": "db05cf7e-073d-dc4d-90d8-d280783ec9bb",
"customData": [
{
"id": "custom2",
"value": "0",
"isValid": true,
"listItemUrl": null
},
{
"id": "custom3",
"value": "3BC51D44D6DF7F40915A6886A6E9E6D5",
"isValid": true,
"listItemUrl": "https://integration.api.concursolutions.com/list/v4/items?id=3BC51D44D6DF7F40915A6886A6E9E6D5"
}
],
"isAmountUserEdited": false,
"isTraveling": false,
"associatedAttendeeCount": 1,
"versionNumber": null,
"transactionAmount": 23
},
{
"attendeeId": "d1bddb46-3923-054a-b016-06bacf021c5b",
"customData": [
{
"id": "custom2",
"value": "0",
"isValid": true,
"listItemUrl": null
},
{
"id": "custom3",
"value": "3BC51D44D6DF7F40915A6886A6E9E6D5",
"isValid": true,
"listItemUrl": "https://integration.api.concursolutions.com/list/v4/items?id=3BC51D44D6DF7F40915A6886A6E9E6D5"
}
],
"isAmountUserEdited": true,
"isTraveling": true,
"associatedAttendeeCount": 2,
"versionNumber": 2,
"transactionAmount": 22
}
]
}'
Response
201 Created
{
"uri": "https://us.api.concursolutions.com/expensereports/v4/users/750524a2-907b-4dde-9fec-d038ab043f53/context/TRAVELER/reports/E364C14BAEEA4BE5922C/expenses/36CBAA8D4ADE6C46BB587C05293405DC/attendees"
}
Delete Expense Attendee Association
Removes all attendees associated with the specified expense on a report
Scopes
expense.report.readwrite
- Refer to Scope Usage for full details.
Request
URI Template
https://{datacenterURI}/expensereports/v4/users/{userId}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/attendees
Parameters
Name |
Type |
Format |
Description |
userId |
string |
- |
Required The unique identifier of the SAP Concur user. Use Identity v4 to retrieve the userId . |
contextType |
string |
- |
Required The access level of the SAP Concur user, which determines the form fields they can view/modify. Supported values: TRAVELER , PROXY |
reportId |
string |
- |
Required The unique identifier of the report to which this expense entry belongs. |
expenseId |
string |
- |
Required The unique identifier of the expense entry to which the comments belong. |
Response
Status Codes
Example
Request
curl --location --request 'DELETE' \
'https://us.api.concursolutions.com/expensereports/v4/users/750524a2-907b-4dde-9fec-d038ab043f53/context/TRAVELER/reports/E364C14BAEEA4BE5922C/expenses/36CBAA8D4ADE6C46BB587C05293405DC/attendees' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json'
Response
Schema
Expense Attendee Associations With Amounts
Name |
Type |
Format |
Description |
noShowAttendeeCount |
integer |
- |
The number of attendees that were planned but did not show up. Default value: 0 |
expenseAttendeeList |
ExpenseAttendeeAssociationWithAmounts |
- |
The list of attendees associated with the expense. |
Expense Attendee Association With Amounts
Name |
Type |
Format |
Description |
attendeeId |
string |
- |
Required The unique identifier of the associated expense attendee. |
customData |
CustomData |
- |
The set of data the custom fields contain for the attendee based on the configuration. This list may be empty if no custom fields are configured. |
isAmountUserEdited |
boolean |
true /false |
If true , this field indicates that the amount value for the attendee on this expense was manually edited by the end user. Default value: false |
isTraveling |
boolean |
true /false |
If true , the attendee was traveling when the expense was incurred (used for Fringe Benefit Tax calculations). |
associatedAttendeeCount |
integer |
- |
The count of total attendees. A count greater than 1 means there are unnamed attendees associated with this expense attendee record. Default value: 1 |
versionNumber |
integer |
- |
The version number of the attendee. This is only needed to be specified if the intention is to preserve the version number of the attendee from the previous set of attendee associations. Default value: the latest version of the attendee. |
transactionAmount |
Amount |
- |
Required The portion of the expense transaction amount assigned to this attendee for both individual expense tracking and attendee totals across time periods. |
approvedAmount |
Amount |
- |
Required The approved amount assigned to this attendee, in the report currency. |
Expense Attendee Associations Request
Name |
Type |
Format |
Description |
noShowAttendeeCount |
integer |
- |
The number of attendees that were planned but did not show up. Default value: 0 |
expenseAttendeeList |
ExpenseAttendeeAssociation |
- |
The list of attendees associated with the expense. |
Expense Attendee Association
Name |
Type |
Format |
Description |
attendeeId |
string |
- |
Required The unique identifier of the associated expense attendee. |
customData |
CustomData |
- |
The set of data the custom fields contain for the attendee based on the configuration. This list may be empty if no custom fields are configured. |
isAmountUserEdited |
boolean |
true /false |
If true , this field indicates that the amount value for the attendee on this expense was manually edited by the end user. Default value: false |
isTraveling |
boolean |
true /false |
If true , the attendee was traveling when the expense was incurred (used for Fringe Benefit Tax calculations). |
associatedAttendeeCount |
integer |
- |
The count of total attendees. A count greater than 1 means there are unnamed attendees associated with this expense attendee record. Default value: 1 |
versionNumber |
integer |
- |
The version number of the attendee. This is only needed to be specified if the intention is to preserve the version number of the attendee from the previous set of attendee associations. Default value: the latest version of the attendee. |
transactionAmount |
Amount |
- |
Required The portion of the expense transaction amount assigned to this attendee for both individual expense tracking and attendee totals across time periods. |
Custom Data
Name |
Type |
Format |
Description |
id |
string |
- |
Required The unique identifier of the custom field. Examples: custom1 , orgUnit1 |
isValid |
boolean |
true /false |
If true , the value returned is valid. This value is returned for custom fields of all data types and is specifically evaluated for list items to represent the current status. Default: true |
value |
string |
- |
The value of the custom field. This field can have values for all the supported data types such as text , integer , boolean and listItemId . Maximum length: 48 characters |
listItemUrl |
string |
- |
href (string): The URL of the related HATEOAS link that you can use for subsequent calls. |
Amount
Name |
Type |
Format |
Description |
value |
number |
- |
Required The amount in the defined currency. |
currencyCode |
string |
- |
Required The 3-letter ISO 4217 currency code for the expense report currency, based on the user’s assigned reimbursement currency when the report was created. Examples: USD - US dollars; BRL - Brazilian real; CAD - Canadian dollar; CHF - Swiss franc; EUR - Euro; GBO - Pound sterling; HKD - Hong Kong dollar; INR - Indian rupee; MXN - Mexican peso; NOK - Norwegian krone; SEK - Swedish krona |
Error Message
Name |
Type |
Format |
Description |
customResponseData |
object |
- |
The custom parameters related to error. |
errorId |
string |
- |
The unique identifier of the error associated with the response. |
errorMessage |
string |
- |
Required The detailed error message. |
httpStatus |
string |
- |
Required The HTTP response code and phrase for the response. |
path |
string |
- |
Required The URI of the attempted request. |
timestamp |
string |
date-time |
Required The time when the error was captured. |
validationErrors |
ValidationError |
- |
The validation error messages. |
Validation Error
Name |
Type |
Format |
Description |
id |
string |
- |
The ID of the validation error. |
message |
string |
- |
The detailed message of the validation error. |
source |
string |
- |
The type of validation which failed. |