From 5109c7737c90513eb68885de6224f664561d8894 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 12:06:59 +0100 Subject: [PATCH 01/14] TVR-33624 : [API] Cascading Request - API reference documentation --- ...4.endpoints.participant-resources.markdown | 151 ++++++++++++++++++ .../v4.endpoints.policy-resources.markdown | 12 +- .../request/v4.endpoints.schemas.markdown | 24 +++ .../request/v4.response-codes.markdown | 1 + 4 files changed, 186 insertions(+), 2 deletions(-) create mode 100644 src/api-reference/request/v4.endpoints.participant-resources.markdown diff --git a/src/api-reference/request/v4.endpoints.participant-resources.markdown b/src/api-reference/request/v4.endpoints.participant-resources.markdown new file mode 100644 index 0000000000..fd54aa06b7 --- /dev/null +++ b/src/api-reference/request/v4.endpoints.participant-resources.markdown @@ -0,0 +1,151 @@ +--- +title: Travel Request v4 - Participant Resources +layout: reference +--- +# Travel Request v4 - Participant Resources + +## Get the list of Participants for a given Request + +### Scopes + +`travelrequest.write` - Refer to [Scope Usage](./v4.get-started.html#scope-usage) for full details. + +### HTTP Request + +##### URI Template + +``` +GET {datacenter}/travelrequest/v4/requests/{requestUuid}/participants +``` + +#### Parameters + +Name|Type|Format|Description +---|---|---|--- +`requestUuid`|`string`|[RFC 4122]|**Required** The unique identifier of the Request. +`userId`|`string`|-|The 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. + +#### Headers + +`concur-correlationid` is a specific custom header used for technical support in the form of a [RFC 4122 A Universally Unique IDentifier (UUID) URN Namespace](https://tools.ietf.org/html/rfc4122). + +#### Payload + +None. + +### HTTP Response + +#### HTTP Status Codes + +To learn more about response HTTP status codes for this API see [Travel Request v4 - HTTP Status Codes](./v4.response-codes.html). + +#### Payload + +List of [Parent Request Participant](./v4.endpoints.schemas.html#schema-parentrequestparticipant) + +### Example + +#### HTTP Request + +```shell +GET https://us.api.concursolutions.com/travelrequest/v4/requests/224AF3CDCC2A5244A37C72FA5770C6F2/participants +Accept: application/json +Authorization: Bearer {token} +Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f +``` + +#### HTTP Response + +```shell +200 OK +``` + +```json +[ + { + "participant": { + "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/56B8B8A099FD4FA98DE9A57F3EE3C2FD", + "id": "56B8B8A099FD4FA98DE9A57F3EE3C2FD", + "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" + }, + "requests": [ + { + "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4", + "id": "A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4", + "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" + } + ] + } +] +``` + +## Manage Participants of a given Request + +### Scopes + +`travelrequest.write` - Refer to [Scope Usage](./v4.get-started.html#scope-usage) for full details. + +### HTTP Request + +##### URI Template + +``` +PATCH {datacenter}/travelrequest/v4/requests/{requestUuid}/participants +``` + +#### Parameters + +Name|Type|Format|Description +---|---|---|--- +`requestUuid`|`string`|[RFC 4122]|**Required** The unique identifier of the Request. +`userId`|`string`|-|The unique identifier of the user. **Required** when connecting with a Company token. If empty, a 400 `missingRequiredParam` error. + +#### Headers + +`concur-correlationid` is a specific custom header used for technical support in the form of a [RFC 4122 A Universally Unique IDentifier (UUID) URN Namespace](https://tools.ietf.org/html/rfc4122). + +#### Payload + +[Request Participants For Patch](./v4.endpoints.schemas.html#schema-requestparticipantsforpatch) + +### HTTP Response + +#### HTTP Status Codes + +To learn more about response HTTP status codes for this API see [Travel Request v4 - HTTP Status Codes](./v4.response-codes.html). + +#### Payload + +None. + +### Example + +#### HTTP Request + +```shell +PATCH https://us.api.concursolutions.com/travelrequest/v4/requests/224AF3CDCC2A5244A37C72FA5770C6F2/participants +Content-Type: application/merge-patch+json +Accept: application/json +Authorization: Bearer {token} +Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f +``` + +```json +{ + "value": [ + { + "id": "56B8B8A0-99FD-4FA9-8DE9-A57F3EE3C2FD" + }, + { + "@deleted": true, + "id": "A1B2C3D4-E5F6-A1B2-C3D4-E5F6A1B2C3D4" + } + ] +} +``` + +#### HTTP Response + +```shell +204 No Content +``` diff --git a/src/api-reference/request/v4.endpoints.policy-resources.markdown b/src/api-reference/request/v4.endpoints.policy-resources.markdown index 52aa0d4807..c1d4bfdef8 100644 --- a/src/api-reference/request/v4.endpoints.policy-resources.markdown +++ b/src/api-reference/request/v4.endpoints.policy-resources.markdown @@ -65,12 +65,20 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f { "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/F4C8BD31CA9D4D6292795BE687EB9B2A", "id": "F4C8BD31CA9D4D6292795BE687EB9B2A", - "name": "Internal training Request policy" + "name": "Internal training Request policy", + "allowParticipants": false }, { "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/F10E6059B5A14A4C80327FE387491026", "id": "F10E6059B5A14A4C80327FE387491026", - "name": "Client meeting Request policy" + "name": "Client meeting Request policy", + "allowParticipants": false, + }, + { + "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/98B49B2523DDAB41A182DD581C637415", + "id": "98B49B2523DDAB41A182DD581C637415", + "name": "Event Request policy", + "allowParticipants": true } ] diff --git a/src/api-reference/request/v4.endpoints.schemas.markdown b/src/api-reference/request/v4.endpoints.schemas.markdown index a56645e4ef..cd2cbc03db 100644 --- a/src/api-reference/request/v4.endpoints.schemas.markdown +++ b/src/api-reference/request/v4.endpoints.schemas.markdown @@ -29,6 +29,9 @@ Name|Type|Format|Description `expenses`|`array`|[`ResourceLink`](#schema-resourcelink)|Expected expenses attached to this Request. `extensionOf`|`object`|[`ExtensionOf`](#schema-extensionof)|The Request for which this Request is an extension of, or addendum to. `eventRequest`|`object`|[`ResourceLink`](#schema-resourcelink)|The parent Event Request to which this child Request is related. +`isParentRequest`|`boolean`|-|Indicates whether this Request is of Parent type. +`parentRequestId`|`string`|-|The short identifier of the parent Request. +`parentRequest`|`object`|[`ResourceLink`](#schema-resourcelink)|The parent of this Request. `highestExceptionLevel`|`string`|-|The highest level of exception contained in this Request. Supported values: `WARNING`, `ERROR`, and `NONE` `href`|`string`|[RFC 3986]|Hyperlink to the resource for this Request. `id`|`string`|-|The unique identifier of the Request. @@ -236,6 +239,7 @@ Name|Type|Format|Description `href`|`string`|[RFC 3986]|Hyperlink to the resource for this Request policy. `id`|`string`|-|The Request policy unique identifier. `name`|`string`|-|The name of the Request policy. +`allowParticipants`|`boolean`|-|Whether this policy can add participants. ## Request Type @@ -510,3 +514,23 @@ Name|Type|Format|Description Name|Type|Format|Description ---|---|---|--- `name`|`string`|-|**Required** The name for the booking (e.g. `Ferry`, `Bus`). + +## Parent Request Participant + +Name|Type|Format|Description +---|---|---|--- +`participant`|`object`|[`ResourceLink`](#schema-resourcelink)|Participant of the parent request. +`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|Child requests from participant associated with the parent request. + +## Request Participants For Patch + +Name|Type|Format|Description +---|---|---|--- +`value`|`array`|[`Request Participant For Patch`](#schema-requestparticipantforpatch)|The list of Participants to add or delete from the Request. + +## Request Participant For Patch + +Name|Type|Format|Description +---|---|---|--- +`@deleted`|`boolean`|-|Whether this Participant should be deleted. If absent or `false`, the Participant will be added. +`id`|`string`|[RFC 4122]|**Required** The unique identifier of the Participant. diff --git a/src/api-reference/request/v4.response-codes.markdown b/src/api-reference/request/v4.response-codes.markdown index 9f24b40c58..51d9c21aac 100644 --- a/src/api-reference/request/v4.response-codes.markdown +++ b/src/api-reference/request/v4.response-codes.markdown @@ -8,6 +8,7 @@ HTTP Status Code|Response Body|Description ---|---|--- 200 OK|-|Your GET request succeeded. 201 Created|-|Your POST request succeeded. +204 No Content|-|Your PATCH request succeeded. 400 Bad Request|`badParam` the request has bad parameter(s) {requestName}|The name of the request doesn't have the expected format -|`invalidJson` invalid json structure|An input JSON structure couldn't be parsed -|`invalidDate` error while parsing date value {dateValue}|A date or datetime value couldn't be parsed From bb526358a43caef54fd72df193304c5c09526c55 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 14:43:42 +0100 Subject: [PATCH 02/14] TVR-33624 : [API] Cascading Request - API reference documentation --- ...4.endpoints.participant-resources.markdown | 27 ++++++++++++++++--- .../request/v4.endpoints.schemas.markdown | 4 +-- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.participant-resources.markdown b/src/api-reference/request/v4.endpoints.participant-resources.markdown index fd54aa06b7..2fa1ffacaa 100644 --- a/src/api-reference/request/v4.endpoints.participant-resources.markdown +++ b/src/api-reference/request/v4.endpoints.participant-resources.markdown @@ -23,7 +23,7 @@ GET {datacenter}/travelrequest/v4/requests/{requestUuid}/participants Name|Type|Format|Description ---|---|---|--- `requestUuid`|`string`|[RFC 4122]|**Required** The unique identifier of the Request. -`userId`|`string`|-|The 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. +`userId`|`string`|-|The unique identifier of the user getting the participant list. If empty when using a Company token the default system user will be assumed to perform the action. #### Headers @@ -64,9 +64,9 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f [ { "participant": { - "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/56B8B8A099FD4FA98DE9A57F3EE3C2FD", - "id": "56B8B8A099FD4FA98DE9A57F3EE3C2FD", - "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" + "href": "https://us.api.concursolutions.com/profile/v1/users/60dea1fd-489f-48b9-925f-0d62a5b48175", + "id": "60dea1fd-489f-48b9-925f-0d62a5b48175", + "template": "https://us.api.concursolutions.com/profile/v1/users/{id}" }, "requests": [ { @@ -75,6 +75,25 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" } ] + }, + { + "participant": { + "href": "https://us.api.concursolutions.com/profile/v1/users/72efb2ae-5a0e-59ca-b037-1e73b6c59286", + "id": "72efb2ae-5a0e-59ca-b037-1e73b6c59286", + "template": "https://us.api.concursolutions.com/profile/v1/users/{id}" + }, + "requests": [ + { + "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5", + "id": "B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5", + "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" + }, + { + "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6", + "id": "C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6", + "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" + } + ] } ] ``` diff --git a/src/api-reference/request/v4.endpoints.schemas.markdown b/src/api-reference/request/v4.endpoints.schemas.markdown index cd2cbc03db..c0789017dc 100644 --- a/src/api-reference/request/v4.endpoints.schemas.markdown +++ b/src/api-reference/request/v4.endpoints.schemas.markdown @@ -239,7 +239,7 @@ Name|Type|Format|Description `href`|`string`|[RFC 3986]|Hyperlink to the resource for this Request policy. `id`|`string`|-|The Request policy unique identifier. `name`|`string`|-|The name of the Request policy. -`allowParticipants`|`boolean`|-|Whether this policy can add participants. +`allowParticipants`|`boolean`|-|Whether this policy allows to create child requests/allows to add participants. ## Request Type @@ -520,7 +520,7 @@ Name|Type|Format|Description Name|Type|Format|Description ---|---|---|--- `participant`|`object`|[`ResourceLink`](#schema-resourcelink)|Participant of the parent request. -`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|Child requests from participant associated with the parent request. +`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|Child requests owned by the participant. ## Request Participants For Patch From 232294e80cf0f9bba8cb9a5e8d353731395a8a83 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 14:48:11 +0100 Subject: [PATCH 03/14] TVR-33624 : [API] Cascading Request - API reference documentation --- .../request/v4.endpoints.participant-resources.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.participant-resources.markdown b/src/api-reference/request/v4.endpoints.participant-resources.markdown index 2fa1ffacaa..b9e3b405f4 100644 --- a/src/api-reference/request/v4.endpoints.participant-resources.markdown +++ b/src/api-reference/request/v4.endpoints.participant-resources.markdown @@ -23,7 +23,7 @@ GET {datacenter}/travelrequest/v4/requests/{requestUuid}/participants Name|Type|Format|Description ---|---|---|--- `requestUuid`|`string`|[RFC 4122]|**Required** The unique identifier of the Request. -`userId`|`string`|-|The unique identifier of the user getting the participant list. If empty when using a Company token the default system user will be assumed to perform the action. +`userId`|`string`|-|The unique identifier of the user getting the participants list. If empty when using a Company token the default system user will be assumed to perform the action. #### Headers @@ -117,7 +117,7 @@ PATCH {datacenter}/travelrequest/v4/requests/{requestUuid}/participants Name|Type|Format|Description ---|---|---|--- `requestUuid`|`string`|[RFC 4122]|**Required** The unique identifier of the Request. -`userId`|`string`|-|The unique identifier of the user. **Required** when connecting with a Company token. If empty, a 400 `missingRequiredParam` error. +`userId`|`string`|-|The unique identifier of the user patching the participants list. **Required** when connecting with a Company token. If empty, a 400 `missingRequiredParam` error. #### Headers From 6044b27b44da3e5106b8c56df8e155d9336928df Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 15:33:55 +0100 Subject: [PATCH 04/14] TVR-33624 : [API] Cascading Request - API reference documentation --- ...4.endpoints.participant-resources.markdown | 74 ++++++++++++------- 1 file changed, 49 insertions(+), 25 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.participant-resources.markdown b/src/api-reference/request/v4.endpoints.participant-resources.markdown index b9e3b405f4..def0ba8562 100644 --- a/src/api-reference/request/v4.endpoints.participant-resources.markdown +++ b/src/api-reference/request/v4.endpoints.participant-resources.markdown @@ -4,7 +4,11 @@ layout: reference --- # Travel Request v4 - Participant Resources -## Get the list of Participants for a given Request +Manage participants and child requests attached to a Budget Request. + +## Get participants for a Budget Request + +This endpoint will enable to retrieve the list of participants of a Budget Request, as well as the child Requests for each of the participants. ### Scopes @@ -41,9 +45,9 @@ To learn more about response HTTP status codes for this API see [Travel Request #### Payload -List of [Parent Request Participant](./v4.endpoints.schemas.html#schema-parentrequestparticipant) +[ParentRequestParticipant](./v4.endpoints.schemas.html#schema-parentrequestparticipant) -### Example +### Example - One participant with two Child Requests and One participant without Child Request #### HTTP Request @@ -73,7 +77,12 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4", "id": "A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4", "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" - } + }, + { + "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5", + "id": "B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5", + "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" + }, ] }, { @@ -81,24 +90,14 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f "href": "https://us.api.concursolutions.com/profile/v1/users/72efb2ae-5a0e-59ca-b037-1e73b6c59286", "id": "72efb2ae-5a0e-59ca-b037-1e73b6c59286", "template": "https://us.api.concursolutions.com/profile/v1/users/{id}" - }, - "requests": [ - { - "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5", - "id": "B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5", - "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" - }, - { - "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6", - "id": "C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6", - "template": "https://us.api.concursolutions.com/travelrequest/v4/requests/{id}" - } - ] + } } ] ``` -## Manage Participants of a given Request +## Manage participants of a budget request + +This endpoint will enable to manage participants (add or remove them) from a Budget Request. ### Scopes @@ -117,7 +116,7 @@ PATCH {datacenter}/travelrequest/v4/requests/{requestUuid}/participants Name|Type|Format|Description ---|---|---|--- `requestUuid`|`string`|[RFC 4122]|**Required** The unique identifier of the Request. -`userId`|`string`|-|The unique identifier of the user patching the participants list. **Required** when connecting with a Company token. If empty, a 400 `missingRequiredParam` error. +`userId`|`string`|-|The unique identifier of the user updating the participants list. **Required** when connecting with a Company token. If empty, a 400 `missingRequiredParam` error. #### Headers @@ -137,7 +136,7 @@ To learn more about response HTTP status codes for this API see [Travel Request None. -### Example +### Example 1 - adding a participant to a Budget Request #### HTTP Request @@ -153,11 +152,7 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f { "value": [ { - "id": "56B8B8A0-99FD-4FA9-8DE9-A57F3EE3C2FD" - }, - { - "@deleted": true, - "id": "A1B2C3D4-E5F6-A1B2-C3D4-E5F6A1B2C3D4" + "id": "8422A66-A9B0-1424-5802-0D9BCD4351D3" } ] } @@ -168,3 +163,32 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f ```shell 204 No Content ``` +### Example 2 - removing a participant to a Budget Request + +#### HTTP Request + +```shell +PATCH https://us.api.concursolutions.com/travelrequest/v4/requests/224AF3CDCC2A5244A37C72FA5770C6F2/participants +Content-Type: application/json +Accept: application/json +Authorization: Bearer {token} +Content-Type: application/merge-patch+json +Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f +``` + +```json +{ + "value": [ + { + "id": "8422A66-A9B0-1424-5802-0D9BCD4351D3", + "@deleted": true + } + ] +} +``` + +#### HTTP Response + +```shell +204 No Content +``` \ No newline at end of file From f6e0deeee0b73223fd83d7fcf6465063530fba1b Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 15:45:23 +0100 Subject: [PATCH 05/14] TVR-33624 : [API] Cascading Request - API reference documentation --- src/api-reference/request/v4.endpoints.schemas.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.schemas.markdown b/src/api-reference/request/v4.endpoints.schemas.markdown index c0789017dc..be98f4190d 100644 --- a/src/api-reference/request/v4.endpoints.schemas.markdown +++ b/src/api-reference/request/v4.endpoints.schemas.markdown @@ -29,12 +29,10 @@ Name|Type|Format|Description `expenses`|`array`|[`ResourceLink`](#schema-resourcelink)|Expected expenses attached to this Request. `extensionOf`|`object`|[`ExtensionOf`](#schema-extensionof)|The Request for which this Request is an extension of, or addendum to. `eventRequest`|`object`|[`ResourceLink`](#schema-resourcelink)|The parent Event Request to which this child Request is related. -`isParentRequest`|`boolean`|-|Indicates whether this Request is of Parent type. -`parentRequestId`|`string`|-|The short identifier of the parent Request. -`parentRequest`|`object`|[`ResourceLink`](#schema-resourcelink)|The parent of this Request. `highestExceptionLevel`|`string`|-|The highest level of exception contained in this Request. Supported values: `WARNING`, `ERROR`, and `NONE` `href`|`string`|[RFC 3986]|Hyperlink to the resource for this Request. `id`|`string`|-|The unique identifier of the Request. +`isParentRequest`|`boolean`|-|Indicates whether this Request is a Budget Request. `lastModified`|`timestamp`|[RFC 3339] `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'`|The date the Request was last modified. `mainDestination`|`object`|[`Location`](#location)|The main destination of the Request. `name`|`string`|-|The name of the Request. @@ -42,6 +40,8 @@ Name|Type|Format|Description `pendingApproval`|`boolean`|-|Indicates whether this Request is pending approval. `pnr`|`string`|-|The value of the pnr provided within the agency proposals by the travel agency. `policy`|`object`|[`ResourceLink`](#schema-resourcelink)|The policy that applies to the Request. +`parentRequestId`|`string`|-|Required if a Child Request is created, corresponds to the unique identifier of the Budget Request the Child Request will be linked to. +`parentRequest`|`object`|[`ResourceLink`](#schema-resourcelink)|If the Request is a Child Request, reference to the corresponding Budget Request. `requestId`|`string`|4 to 6 alphanumeric characters|The public key of the Request (unique per customer). `startDate`|`date`|[ISO 8601] `yyyy-MM-dd`|The start date of the Request. `startTime`|`time`|`HH:mm`|The start time of the Request. @@ -239,7 +239,7 @@ Name|Type|Format|Description `href`|`string`|[RFC 3986]|Hyperlink to the resource for this Request policy. `id`|`string`|-|The Request policy unique identifier. `name`|`string`|-|The name of the Request policy. -`allowParticipants`|`boolean`|-|Whether this policy allows to create child requests/allows to add participants. +`allowParticipants`|`boolean`|-|Whether this policy can add participants (policy is a Budget Request). ## Request Type From 0d8aaf7c5edba00a7982fbf93ff4f07773a004dc Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 15:53:16 +0100 Subject: [PATCH 06/14] TVR-33624 : [API] Cascading Request - API reference documentation --- .../request/v4.endpoints.schemas.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.schemas.markdown b/src/api-reference/request/v4.endpoints.schemas.markdown index be98f4190d..1f18e286c9 100644 --- a/src/api-reference/request/v4.endpoints.schemas.markdown +++ b/src/api-reference/request/v4.endpoints.schemas.markdown @@ -515,22 +515,22 @@ Name|Type|Format|Description ---|---|---|--- `name`|`string`|-|**Required** The name for the booking (e.g. `Ferry`, `Bus`). -## Parent Request Participant +## Budget Request Participant Name|Type|Format|Description ---|---|---|--- -`participant`|`object`|[`ResourceLink`](#schema-resourcelink)|Participant of the parent request. -`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|Child requests owned by the participant. +`participant`|`object`|[`ResourceLink`](#schema-resourcelink)|The list of participants of the Budget Request. +`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|The list of Child Requests from the participant associated to the Budget Request. ## Request Participants For Patch Name|Type|Format|Description ---|---|---|--- -`value`|`array`|[`Request Participant For Patch`](#schema-requestparticipantforpatch)|The list of Participants to add or delete from the Request. +`value`|`array`|[`Request Participant For Patch`](#schema-requestparticipantforpatch)|The list of participants to be added or removed from the Budget Request. ## Request Participant For Patch Name|Type|Format|Description ---|---|---|--- -`@deleted`|`boolean`|-|Whether this Participant should be deleted. If absent or `false`, the Participant will be added. -`id`|`string`|[RFC 4122]|**Required** The unique identifier of the Participant. +`id`|`string`|[RFC 4122]|**Required** The participant unique identifier. +`@deleted`|`boolean`|-|Whether the participant should be added or deleted from the Budget Request. If false or not provided then the participant is added. From 2ff74f5e950164afba7e1401923a4ee67793df6b Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 15:56:51 +0100 Subject: [PATCH 07/14] TVR-33624 : [API] Cascading Request - API reference documentation --- .../request/v4.endpoints.policy-resources.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.policy-resources.markdown b/src/api-reference/request/v4.endpoints.policy-resources.markdown index c1d4bfdef8..5a75f206be 100644 --- a/src/api-reference/request/v4.endpoints.policy-resources.markdown +++ b/src/api-reference/request/v4.endpoints.policy-resources.markdown @@ -63,20 +63,20 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f ```json [ { - "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/F4C8BD31CA9D4D6292795BE687EB9B2A", - "id": "F4C8BD31CA9D4D6292795BE687EB9B2A", + "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/F4C8BD31CA9D4D6292795BE687EB9B2A", + "id": "F4C8BD31CA9D4D6292795BE687EB9B2A", "name": "Internal training Request policy", "allowParticipants": false }, { - "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/F10E6059B5A14A4C80327FE387491026", - "id": "F10E6059B5A14A4C80327FE387491026", + "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/F10E6059B5A14A4C80327FE387491026", + "id": "F10E6059B5A14A4C80327FE387491026", "name": "Client meeting Request policy", "allowParticipants": false, }, { - "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/98B49B2523DDAB41A182DD581C637415", - "id": "98B49B2523DDAB41A182DD581C637415", + "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/98B49B2523DDAB41A182DD581C637415", + "id": "98B49B2523DDAB41A182DD581C637415", "name": "Event Request policy", "allowParticipants": true } From 4b2a66992796e0958202d52f3d58eb0a7efc5691 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 15:57:46 +0100 Subject: [PATCH 08/14] TVR-33624 : [API] Cascading Request - API reference documentation --- .../request/v4.endpoints.policy-resources.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api-reference/request/v4.endpoints.policy-resources.markdown b/src/api-reference/request/v4.endpoints.policy-resources.markdown index 5a75f206be..9ee4eba17b 100644 --- a/src/api-reference/request/v4.endpoints.policy-resources.markdown +++ b/src/api-reference/request/v4.endpoints.policy-resources.markdown @@ -77,7 +77,7 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f { "href": "https://us.api.concursolutions.com/travelrequest/v4/userpolicies/98B49B2523DDAB41A182DD581C637415", "id": "98B49B2523DDAB41A182DD581C637415", - "name": "Event Request policy", + "name": "Budget Event Request policy", "allowParticipants": true } ] From c3718ecfcf1d757d2f0971419897eb4121e543b4 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 10 Mar 2026 16:53:23 +0100 Subject: [PATCH 09/14] TVR-32867 : Review error handling of PATCH Participant APIs --- .../request/v4.endpoints.schemas.markdown | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.schemas.markdown b/src/api-reference/request/v4.endpoints.schemas.markdown index 1f18e286c9..f3f638a09a 100644 --- a/src/api-reference/request/v4.endpoints.schemas.markdown +++ b/src/api-reference/request/v4.endpoints.schemas.markdown @@ -241,6 +241,26 @@ Name|Type|Format|Description `name`|`string`|-|The name of the Request policy. `allowParticipants`|`boolean`|-|Whether this policy can add participants (policy is a Budget Request). +## Budget Request Participant + +Name|Type|Format|Description +---|---|---|--- +`participant`|`object`|[`ResourceLink`](#schema-resourcelink)|The list of participants of the Budget Request. +`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|The list of Child Requests from the participant associated to the Budget Request. + +## Request Participants For Patch + +Name|Type|Format|Description +---|---|---|--- +`value`|`array`|[`Request Participant For Patch`](#schema-requestparticipantforpatch)|The list of participants to be added or removed from the Budget Request. + +## Request Participant For Patch + +Name|Type|Format|Description +---|---|---|--- +`id`|`string`|[RFC 4122]|**Required** The participant unique identifier. +`@deleted`|`boolean`|-|Whether the participant should be added or deleted from the Budget Request. If false or not provided then the participant is added. + ## Request Type Name|Type|Format|Description @@ -514,23 +534,3 @@ Name|Type|Format|Description Name|Type|Format|Description ---|---|---|--- `name`|`string`|-|**Required** The name for the booking (e.g. `Ferry`, `Bus`). - -## Budget Request Participant - -Name|Type|Format|Description ----|---|---|--- -`participant`|`object`|[`ResourceLink`](#schema-resourcelink)|The list of participants of the Budget Request. -`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|The list of Child Requests from the participant associated to the Budget Request. - -## Request Participants For Patch - -Name|Type|Format|Description ----|---|---|--- -`value`|`array`|[`Request Participant For Patch`](#schema-requestparticipantforpatch)|The list of participants to be added or removed from the Budget Request. - -## Request Participant For Patch - -Name|Type|Format|Description ----|---|---|--- -`id`|`string`|[RFC 4122]|**Required** The participant unique identifier. -`@deleted`|`boolean`|-|Whether the participant should be added or deleted from the Budget Request. If false or not provided then the participant is added. From f8751758857d873b5a9de96498d758c59912e5b3 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Wed, 11 Mar 2026 10:42:19 +0100 Subject: [PATCH 10/14] TVR-33624 : [API] Cascading Request - API reference documentation --- ...4.endpoints.participant-resources.markdown | 37 +++---------------- 1 file changed, 6 insertions(+), 31 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.participant-resources.markdown b/src/api-reference/request/v4.endpoints.participant-resources.markdown index def0ba8562..004981dd5f 100644 --- a/src/api-reference/request/v4.endpoints.participant-resources.markdown +++ b/src/api-reference/request/v4.endpoints.participant-resources.markdown @@ -136,7 +136,7 @@ To learn more about response HTTP status codes for this API see [Travel Request None. -### Example 1 - adding a participant to a Budget Request +### Example - adding and removing a participant to a Budget Request #### HTTP Request @@ -153,42 +153,17 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f "value": [ { "id": "8422A66-A9B0-1424-5802-0D9BCD4351D3" - } + }, + { + "id": "9C33FBA0-ACB7-4F85-83BD-FC0DF3A78522", + "@deleted": true +   } ] } ``` #### HTTP Response -```shell -204 No Content -``` -### Example 2 - removing a participant to a Budget Request - -#### HTTP Request - -```shell -PATCH https://us.api.concursolutions.com/travelrequest/v4/requests/224AF3CDCC2A5244A37C72FA5770C6F2/participants -Content-Type: application/json -Accept: application/json -Authorization: Bearer {token} -Content-Type: application/merge-patch+json -Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f -``` - -```json -{ - "value": [ - { - "id": "8422A66-A9B0-1424-5802-0D9BCD4351D3", - "@deleted": true - } - ] -} -``` - -#### HTTP Response - ```shell 204 No Content ``` \ No newline at end of file From f31fac9525b5b4590474b4d8b1831dd26de1a4f0 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Wed, 11 Mar 2026 10:44:14 +0100 Subject: [PATCH 11/14] TVR-33624 : [API] Cascading Request - API reference documentation --- .../request/v4.endpoints.participant-resources.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api-reference/request/v4.endpoints.participant-resources.markdown b/src/api-reference/request/v4.endpoints.participant-resources.markdown index 004981dd5f..854a384e6d 100644 --- a/src/api-reference/request/v4.endpoints.participant-resources.markdown +++ b/src/api-reference/request/v4.endpoints.participant-resources.markdown @@ -157,7 +157,7 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f { "id": "9C33FBA0-ACB7-4F85-83BD-FC0DF3A78522", "@deleted": true -   } + } ] } ``` From c24e702bc646be08f4c221c5b1d5f049dde7d790 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Fri, 13 Mar 2026 09:43:43 +0100 Subject: [PATCH 12/14] TVR-33624 : [API] Cascading Request - API reference documentation --- .../request/v4.endpoints.participant-resources.markdown | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.participant-resources.markdown b/src/api-reference/request/v4.endpoints.participant-resources.markdown index 854a384e6d..5d2fab99e8 100644 --- a/src/api-reference/request/v4.endpoints.participant-resources.markdown +++ b/src/api-reference/request/v4.endpoints.participant-resources.markdown @@ -68,9 +68,7 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f [ { "participant": { - "href": "https://us.api.concursolutions.com/profile/v1/users/60dea1fd-489f-48b9-925f-0d62a5b48175", - "id": "60dea1fd-489f-48b9-925f-0d62a5b48175", - "template": "https://us.api.concursolutions.com/profile/v1/users/{id}" + "id": "60dea1fd-489f-48b9-925f-0d62a5b48175" }, "requests": [ { @@ -87,9 +85,7 @@ Concur-CorrelationId: 5512c7be-3fab-4d65-ae69-8a74a04a0c7f }, { "participant": { - "href": "https://us.api.concursolutions.com/profile/v1/users/72efb2ae-5a0e-59ca-b037-1e73b6c59286", - "id": "72efb2ae-5a0e-59ca-b037-1e73b6c59286", - "template": "https://us.api.concursolutions.com/profile/v1/users/{id}" + "id": "72efb2ae-5a0e-59ca-b037-1e73b6c59286" } } ] From e5f128db01cb5f551dcace07567b7bbd12281c7a Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 17 Mar 2026 11:41:09 +0100 Subject: [PATCH 13/14] TVR-33624 : [API] Cascading Request - API reference documentation --- src/api-reference/request/v4.endpoints.schemas.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api-reference/request/v4.endpoints.schemas.markdown b/src/api-reference/request/v4.endpoints.schemas.markdown index f3f638a09a..e909903031 100644 --- a/src/api-reference/request/v4.endpoints.schemas.markdown +++ b/src/api-reference/request/v4.endpoints.schemas.markdown @@ -245,7 +245,7 @@ Name|Type|Format|Description Name|Type|Format|Description ---|---|---|--- -`participant`|`object`|[`ResourceLink`](#schema-resourcelink)|The list of participants of the Budget Request. +`participant`|`object`|[`ResourceLink`](#schema-resourcelink)|Participant of the Budget Request. `requests`|`array`|[`ResourceLink`](#schema-resourcelink)|The list of Child Requests from the participant associated to the Budget Request. ## Request Participants For Patch From f55ba9791ab98bc4e50225f175ee1f8e6b2498e4 Mon Sep 17 00:00:00 2001 From: "POUTCHEU, Jean-Pierre" Date: Tue, 17 Mar 2026 11:46:58 +0100 Subject: [PATCH 14/14] TVR-33624 : [API] Cascading Request - API reference documentation --- src/api-reference/request/v4.endpoints.schemas.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/api-reference/request/v4.endpoints.schemas.markdown b/src/api-reference/request/v4.endpoints.schemas.markdown index e909903031..ae0521356b 100644 --- a/src/api-reference/request/v4.endpoints.schemas.markdown +++ b/src/api-reference/request/v4.endpoints.schemas.markdown @@ -246,7 +246,7 @@ Name|Type|Format|Description Name|Type|Format|Description ---|---|---|--- `participant`|`object`|[`ResourceLink`](#schema-resourcelink)|Participant of the Budget Request. -`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|The list of Child Requests from the participant associated to the Budget Request. +`requests`|`array`|[`ResourceLink`](#schema-resourcelink)|The list of Child Requests from the Participant associated to the Budget Request. ## Request Participants For Patch @@ -258,8 +258,8 @@ Name|Type|Format|Description Name|Type|Format|Description ---|---|---|--- -`id`|`string`|[RFC 4122]|**Required** The participant unique identifier. -`@deleted`|`boolean`|-|Whether the participant should be added or deleted from the Budget Request. If false or not provided then the participant is added. +`id`|`string`|[RFC 4122]|**Required** The Participant unique identifier. +`@deleted`|`boolean`|-|Whether the Participant should be added or deleted from the Budget Request. If false or not provided then the participant is added. ## Request Type