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

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.

Headers

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.

Headers

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

204 No Content

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.

On this page