diff --git a/src/event-topics/expense/v4.expense-events.md b/src/event-topics/expense/v4.expense-events.md
index 0b562643cf..4e12f4a6cd 100644
--- a/src/event-topics/expense/v4.expense-events.md
+++ b/src/event-topics/expense/v4.expense-events.md
@@ -28,6 +28,14 @@ This section lists all the publicly available events.
The `reportCreated` event is intended to be published when a new expense report has been created.
+### Report Updated Event
+
+The `reportUpdated` event is published when an expense report is updated.
+
+### Report Deleted Event
+
+The `reportDeleted` event is published when an expense report is deleted.
+
### Report Status Changed Event
The `statusChanged` event is intended to publish a message whenever the status of an expense report changes as it traverses the approval workflow during its life cycle. Subscribers of the event are able to leverage the data in the message to perform synchronous or asynchronous actions depending on their business processes. For example, this could trigger an application to make API calls to Concur Expense or start of a process in a third party application.
@@ -53,93 +61,181 @@ In addition to the above, any workflow step configured for notifications by the
## Schema
-### reportCreated Event Schema
-
-Name|Type|Format|Description
----|---|---|---
-`id`|`UUID`|RFC 4122|**Required** Randomly generated unique identifier of this event.
-`correlationId`|`UUID`|RFC 4122|**Required** Unique identifier used for logging/traceability.
-`topic`|`String`|`Enum`|**Required** Identifies the topic that the event belongs to `public.concur.expense.report`.
-`eventType`|`String`|`String`|**Required** Event Type: `reportCreated` - Identifies the event type on the topic.
-`subtopic`|`String`|`Alphanumeric`|**Required** Unique identifier of the expense report whose status has changed. Maximum characters: 20, which is also populated as `reportId`.
-`timeStamp`|`timeStamp`|RFC 3339|**Required** Current system time (UTC) when the event notification is issued.
-`route`|`String`|`String`|For internal use. This will be set to stable.
-`facts`|`Map`| [facts schema](#report-created-event-payload-facts-schema) |**Required** Key-value pairs providing the content of the event.
-
-### reportCreated Facts Schema
-
-Name|Type|Format|Description
----|---|---|---
-`companyId`|`UUID`| RFC 4122| **Required** Company unique identifier from profile service.
-`userId`|`UUID` | RFC 4122| The unique identifier of the report creator unless a delegate or proxy is involved. In these instances, it will be the user for which the report is being created (i.e., the report owner).
This value can be NULL when a system initiates the change action instead of a user. This would include API calls with a Company JWT.
Use Identity v4 API to retrieve user details.
-`actingUserId`|`UUID`| RFC 4122| User unique identifier. If a delegate or expense proxy created the report on behalf of another user, then this will be populated with the identifier for that delegate or expense proxy user, else it will be NULL.
Use Identity v4 API to retrieve user details.
-`reportId`| `String` | `Alphanumeric` | **Required** Unique identifier of the newly created expense report. Maximum characters: 20
-`reportType`| `String` | `Enum`| **Required** This value identifies the method used to create the report. Supported values:
Regular,
Reconciliation,
Statement,
AutoCreated|
-`href`| `string` | RFC 3986| URI of the report resource that can be called via the Expense v4 API.
-`lastModifiedDate`| `timeStamp` | RFC 3339 |**Required** Current system time (UTC) when the event notification is issued.
-
-
-### statusChanged Event Schema
-
-Name|Type|Format|Description
----|---|---|---
-`id`|`UUID`|RFC 4122|**Required** Randomly generated unique identifier of this event.
-`correlationId`|`UUID`|RFC 4122|**Required** Unique identifier used for logging/traceability.
-`topic`|`String`|`Enum`|**Required** Identifies the topic that the event belongs to `public.concur.expense.report`.
-`eventType`|`String`|`String`|**Required** Event Type: `statusChanged` - Identifies the event type on the topic.
-`subtopic`|`String`|`Alphanumeric`|**Required** Unique identifier of the expense report whose status has changed. Maximum characters: 20, which is also populated as `reportId`.
-`timeStamp`|`timeStamp`|RFC 3339|**Required** Current system time (UTC) when the event notification is issued.
-`route`|`String`|`String`|For internal use. This will be set to stable.
-`facts`|`Map`| [facts schema](#status-changed-event-payload-facts-schema) |**Required** Key-value pairs providing the content of the event.
-
-### statusChanged Facts Schema
-
-Name|Type|Format|Description
----|---|---|---
-`companyId`|`UUID`| RFC 4122| **Required** Company unique identifier from profile service.
-`userId`|`UUID` | RFC 4122| The unique identifier of the focus SAP Concur user in the change action. In the case of a report submittal, then this will be the report owner. In the case of any other workflow action, then this will be the appropriate manager/approver/processor. It will NOT reflect a delegate or proxy user who might have executed the action on behalf of the focus user - see actingUserId.
This value can be NULL when a system initiates the change action instead of a user. This would include API calls with a Company JWT.
Use Identity v4 API to retrieve user details.
-`actingUserId`|`UUID`| RFC 4122| User unique identifier. If a delegate or expense proxy performed the action on behalf of another user, then this will be populated with the identifier for that delegate or expense proxy user, else it will be NULL.
Use Identity v4 API to retrieve user details.
-`reportId`| `String` | `Alphanumeric` | **Required** Unique identifier of the expense report whose status has changed. Maximum characters: 20
-`previousApprovalStatus`| `String` | `Enum`| **Required** Unique identifier of the previous approval status of the expense report whose status has changed. Supported values:
Not Submitted - `A_NOTF`,
Sent Back to Employee - `A_RESU`,
Recalled by Employee - `A_RESU`,
Submitted & Pending Approval - `A_PEND`,
Approved - `A_APPR`,
Pending External Validation - `A_EXTV`,
Pending Budget Approval - `A_PBDG`,
Pending Cost Object Approval - `A_PECO`,
Approved & In Accounting Review - `A_ACCO`
-`currentApprovalStatus`| `String` | `Enum`| **Required** Unique identifier of the current approval status of the expense report whose status has changed. Supported values:
Sent Back to Employee - `A_RESU`,
Recalled by Employee: `A_RESU`,
Submitted & Pending Approval: `A_PEND`,
Approved: `A_APPR`,
Pending External Validation: `A_EXTV`,
Pending Budget Approval: `A_PBDG`,
Pending Cost Object Approval: `A_PECO`,
Approved & In Accounting Review: `A_ACCO`
-`previousPaymentStatus`| `String` | `Enum`| **Required** Unique identifier of the previous payment status of the expense report whose status has changed. Supported values:
Not Paid - `P_NOTP`,
Processing Payment - `P_PROC`,
Payment Confirmed - `P_PAYC` (may depend on configuration)
-`currentPaymentStatus`| `String` | `Enum`| **Required** Unique identifier of the current payment status of the expense report whose status has changed. Supported values:
Not Paid - `P_NOTP`,
Processing Payment -`P_PROC`,
Paid - `P_PAID`,
Payment Confirmed - `P_PAYC`(may depend on configuration) |
-`reportType`| `String` | `Enum`| **Required** This value identifies the method used to create the report. Supported values:
Regular,
Reconciliation,
Statement,
AutoCreated|
-`stepCode`| `String` | `Enum`| Code provided by the admin that the client can use to differentiate between the steps.
Report Submit - If the target step (the next workflow step that the report stops at) is not configured for notifications, then step code will be `NULL`.
Report Send Back - `SENDBACK`
Report Recall - `RECALL`
Legacy External validation post submit - `EXTVAL`
Legacy External validation pre-extract - `EXTVAL`
Report Paid - If the target step (the next workflow step that the report stops at) is not configured for notifications, then step code will be `PAIDREPORT`.
All other cases code step code as configured by admin in workflow configuration will be populated.
-`href`| `string` | RFC 3986| URI of the report resource that can be called via the Expense v4 API.
-`lastModifiedDate`| `timeStamp` | RFC 3339 |**Required** Current system time (UTC) when the event notification is issued.
-`processId`| `String` |-| **Required** Unique identifier of the workflow process that this workflow is an instance of.
-`startingStep`| `Object` |-| **Required** Object containing the information of the step(s) the expense report is entering into.
-`startingStep.roleCode`| `String` | `String` | **Required** Approver's role code for the step which the expense report is entering into.
-`startingStep.stepInstances`| `Array` |-| **Required** List of step instances which the expense report is entering into.
-`stepInstances.id`| `String` |-| **Required** Unique identifier of the workflow process step instance which report is entering into.
-`stepInstances.assignedUserId`| `UUID`| RFC 4122| **Required** Unique identifier of the User assigned to approve the report.
-
-## Sample Events
-### reportCreated
+### Report Created Event Schema
+
+| Name | Type | Format | Description |
+|-----------------|-------------|------------------------------------------------------------|---------------------------------------------------------------------------------------------|
+| `id` | `UUID` | RFC 4122 | **Required** Randomly generated unique identifier of this event. |
+| `correlationId` | `UUID` | RFC 4122 | **Required** Unique identifier used for logging/traceability. |
+| `route` | `String` | `String` | For internal use. This will be set to stable. |
+| `topic` | `String` | `Enum` | **Required** Identifies the topic that the event belongs to `public.concur.expense.report`. |
+| `eventType` | `String` | `String` | **Required** Event Type: `reportCreated` - Identifies the event type on the topic. |
+| `timeStamp` | `timeStamp` | RFC 3339 | **Required** Current system time (UTC) when the event notification is issued. |
+| `facts` | `Map` | [facts schema](#report-created-event-payload-facts-schema) | **Required** Key-value pairs providing the content of the event. |
+
+### Report Created Facts Schema
+
+| Name | Type | Format | Description |
+|--------------------|-------------|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `companyId` | `UUID` | RFC 4122 | **Required** Unique identifier of the company the report belongs to. |
+| `userId` | `UUID` | RFC 4122 | The unique identifier of the report creator unless a delegate or proxy is involved. In these instances, it will be the user for which the report is being created (i.e., the report owner).
This value can be NULL when a system initiates the change action instead of a user. This would include API calls with a Company JWT.
Use Identity v4 API to retrieve user details. |
+| `actingUserId` | `UUID` | RFC 4122 | User unique identifier. If a delegate or expense proxy created the report on behalf of another user, then this will be populated with the identifier for that delegate or expense proxy user, else it will be NULL.
Use Identity v4 API to retrieve user details. |
+| `reportId` | `String` | `Alphanumeric` | **Required** Unique identifier of the newly created expense report. Maximum characters: 20 |
+| `reportType` | `String` | `Enum` | **Required** This value identifies the method used to create the report. Supported values:
Regular,
Reconciliation,
Statement,
AutoCreated |
+| `lastModifiedDate` | `timeStamp` | RFC 3339 | **Required** Current system time (UTC) when the event notification is issued. |
+| `href` | `string` | RFC 3986 | URI of the report resource that can be called via the Expense v4 API. |
+
+### Report Updated Event Schema
+
+| Name | Type | Format | Description |
+|-----------------|-------------|------------------------------------------------------------|---------------------------------------------------------------------------------------------|
+| `id` | `UUID` | RFC 4122 | **Required** Randomly generated unique identifier of this event. |
+| `correlationId` | `UUID` | RFC 4122 | **Required** Unique identifier used for logging/traceability. |
+| `route` | `String` | `String` | For internal use. This will be set to stable. |
+| `topic` | `String` | `Enum` | **Required** Identifies the topic that the event belongs to `public.concur.expense.report`. |
+| `eventType` | `String` | `String` | **Required** Event Type: `reportUpdated` - Identifies the event type on the topic. |
+| `timeStamp` | `timeStamp` | RFC 3339 | **Required** Current system time (UTC) when the event notification is issued. |
+| `facts` | `Map` | [facts schema](#report-updated-event-payload-facts-schema) | **Required** Key-value pairs providing the content of the event. |
+
+### Report Updated Facts Schema
+
+| Name | Type | Format | Description |
+|--------------------|-------------|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `companyId` | `UUID` | RFC 4122 | **Required** Unique identifier of the company the report belongs to. |
+| `userId` | `UUID` | RFC 4122 | The unique identifier of the report creator unless a delegate or proxy is involved. In these instances, it will be the user for which the report is being created (i.e., the report owner).
This value can be NULL when a system initiates the change action instead of a user. This would include API calls with a Company JWT.
Use Identity v4 API to retrieve user details. |
+| `actingUserId` | `UUID` | RFC 4122 | User unique identifier. If a delegate or expense proxy created the report on behalf of another user, then this will be populated with the identifier for that delegate or expense proxy user, else it will be NULL.
Use Identity v4 API to retrieve user details. |
+| `reportId` | `String` | `Alphanumeric` | **Required** Unique identifier of the newly created expense report. Maximum characters: 20 |
+| `reportType` | `String` | `Enum` | **Required** This value identifies the method used to create the report. Supported values:
Regular,
Reconciliation,
Statement,
AutoCreated |
+| `lastModifiedDate` | `timeStamp` | RFC 3339 | **Required** Current system time (UTC) when the event notification is issued. |
+| `href` | `string` | RFC 3986 | URI of the report resource that can be called via the Expense v4 API. |
+
+### Report Deleted Event Schema
+
+| Name | Type | Format | Description |
+|-----------------|-------------|------------------------------------------------------------|---------------------------------------------------------------------------------------------|
+| `id` | `UUID` | RFC 4122 | **Required** Randomly generated unique identifier of this event. |
+| `correlationId` | `UUID` | RFC 4122 | **Required** Unique identifier used for logging/traceability. |
+| `route` | `String` | `String` | For internal use. This will be set to stable. |
+| `topic` | `String` | `Enum` | **Required** Identifies the topic that the event belongs to `public.concur.expense.report`. |
+| `eventType` | `String` | `String` | **Required** Event Type: `reportUpdated` - Identifies the event type on the topic. |
+| `timeStamp` | `timeStamp` | RFC 3339 | **Required** Current system time (UTC) when the event notification is issued. |
+| `facts` | `Map` | [facts schema](#report-deleted-event-payload-facts-schema) | **Required** Key-value pairs providing the content of the event. |
+
+### Report Deleted Facts Schema
+
+| Name | Type | Format | Description |
+|--------------------|-------------|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `companyId` | `UUID` | RFC 4122 | **Required** Unique identifier of the company the report belongs to. |
+| `userId` | `UUID` | RFC 4122 | The unique identifier of the report creator unless a delegate or proxy is involved. In these instances, it will be the user for which the report is being created (i.e., the report owner).
This value can be NULL when a system initiates the change action instead of a user. This would include API calls with a Company JWT.
Use Identity v4 API to retrieve user details. |
+| `actingUserId` | `UUID` | RFC 4122 | User unique identifier. If a delegate or expense proxy created the report on behalf of another user, then this will be populated with the identifier for that delegate or expense proxy user, else it will be NULL.
Use Identity v4 API to retrieve user details. |
+| `reportId` | `String` | `Alphanumeric` | **Required** Unique identifier of the newly created expense report. Maximum characters: 20 |
+| `reportType` | `String` | `Enum` | **Required** This value identifies the method used to create the report. Supported values:
Regular,
Reconciliation,
Statement,
AutoCreated |
+| `lastModifiedDate` | `timeStamp` | RFC 3339 | **Required** Current system time (UTC) when the event notification is issued. |
+
+### Report Status Changed Event Schema
+
+| Name | Type | Format | Description |
+|-----------------|-------------|------------------------------------------------------------|---------------------------------------------------------------------------------------------|
+| `id` | `UUID` | RFC 4122 | **Required** Randomly generated unique identifier of this event. |
+| `correlationId` | `UUID` | RFC 4122 | **Required** Unique identifier used for logging/traceability. |
+| `route` | `String` | `String` | For internal use. This will be set to stable. |
+| `topic` | `String` | `Enum` | **Required** Identifies the topic that the event belongs to `public.concur.expense.report`. |
+| `eventType` | `String` | `String` | **Required** Event Type: `statusChanged` - Identifies the event type on the topic. |
+| `timeStamp` | `timeStamp` | RFC 3339 | **Required** Current system time (UTC) when the event notification is issued. |
+| `facts` | `Map` | [facts schema](#status-changed-event-payload-facts-schema) | **Required** Key-value pairs providing the content of the event. |
+
+### Report Status Changed Facts Schema
+
+| Name | Type | Format | Description |
+|--------------------------------|-------------|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `companyId` | `UUID` | RFC 4122 | **Required** Unique identifier of the company the report belongs to. |
+| `userId` | `UUID` | RFC 4122 | The unique identifier of the focus SAP Concur user in the change action. In the case of a report submittal, then this will be the report owner. In the case of any other workflow action, then this will be the appropriate manager/approver/processor. It will NOT reflect a delegate or proxy user who might have executed the action on behalf of the focus user - see actingUserId.
This value can be NULL when a system initiates the change action instead of a user. This would include API calls with a Company JWT.
Use Identity v4 API to retrieve user details. |
+| `actingUserId` | `UUID` | RFC 4122 | User unique identifier. If a delegate or expense proxy performed the action on behalf of another user, then this will be populated with the identifier for that delegate or expense proxy user, else it will be NULL.
Use Identity v4 API to retrieve user details. |
+| `reportId` | `String` | `Alphanumeric` | **Required** Unique identifier of the expense report whose status has changed. Maximum characters: 20 |
+| `previousApprovalStatus` | `String` | `Enum` | **Required** Unique identifier of the previous approval status of the expense report whose status has changed. Supported values:
Not Submitted - `A_NOTF`,
Sent Back to Employee - `A_RESU`,
Recalled by Employee - `A_RESU`,
Submitted & Pending Approval - `A_PEND`,
Approved - `A_APPR`,
Pending External Validation - `A_EXTV`,
Pending Budget Approval - `A_PBDG`,
Pending Cost Object Approval - `A_PECO`,
Approved & In Accounting Review - `A_ACCO` |
+| `currentApprovalStatus` | `String` | `Enum` | **Required** Unique identifier of the current approval status of the expense report whose status has changed. Supported values:
Sent Back to Employee - `A_RESU`,
Recalled by Employee: `A_RESU`,
Submitted & Pending Approval: `A_PEND`,
Approved: `A_APPR`,
Pending External Validation: `A_EXTV`,
Pending Budget Approval: `A_PBDG`,
Pending Cost Object Approval: `A_PECO`,
Approved & In Accounting Review: `A_ACCO` |
+| `previousPaymentStatus` | `String` | `Enum` | **Required** Unique identifier of the previous payment status of the expense report whose status has changed. Supported values:
Not Paid - `P_NOTP`,
Processing Payment - `P_PROC`,
Payment Confirmed - `P_PAYC` (may depend on configuration) |
+| `currentPaymentStatus` | `String` | `Enum` | **Required** Unique identifier of the current payment status of the expense report whose status has changed. Supported values:
Not Paid - `P_NOTP`,
Processing Payment -`P_PROC`,
Paid - `P_PAID`,
Payment Confirmed - `P_PAYC`(may depend on configuration) |
+| `reportType` | `String` | `Enum` | **Required** This value identifies the method used to create the report. Supported values:
Regular,
Reconciliation,
Statement,
AutoCreated |
+| `stepCode` | `String` | `Enum` | Code provided by the admin that the client can use to differentiate between the steps.
Report Submit - If the target step (the next workflow step that the report stops at) is not configured for notifications, then step code will be `NULL`.
Report Send Back - `SENDBACK`
Report Recall - `RECALL`
Legacy External validation post submit - `EXTVAL`
Legacy External validation pre-extract - `EXTVAL`
Report Paid - If the target step (the next workflow step that the report stops at) is not configured for notifications, then step code will be `PAIDREPORT`.
All other cases code step code as configured by admin in workflow configuration will be populated. |
+| `href` | `string` | RFC 3986 | URI of the report resource that can be called via the Expense v4 API. |
+| `lastModifiedDate` | `timeStamp` | RFC 3339 | **Required** Current system time (UTC) when the event notification is issued. |
+| `processId` | `String` | - | **Required** Unique identifier of the workflow process that this workflow is an instance of. |
+| `startingStep` | `Object` | - | **Required** Object containing the information of the step(s) the expense report is entering into. |
+| `startingStep.roleCode` | `String` | `String` | **Required** Approver's role code for the step which the expense report is entering into. |
+| `startingStep.stepInstances` | `Array` | - | **Required** List of step instances which the expense report is entering into. |
+| `stepInstances.id` | `String` | - | **Required** Unique identifier of the workflow process step instance which report is entering into. |
+| `stepInstances.assignedUserId` | `UUID` | RFC 4122 | **Required** Unique identifier of the user assigned to approve the report. |
+
+## Sample Events
+
+### Report Created
```json
{
- "id": "86a38080-a73e-4474-a224-3618e47bd299",
- "correlationId": "7e38939d-33616-69ae-afc3-eadb1f40a114",
+ "id": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "correlationId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
"route": "stable",
"eventType": "reportCreated",
"topic": "public.concur.expense.report",
- "timeStamp": "2025-03-07T22:25:49.866Z",
- "subtopic": "1955b7ee-cd77-4f56-92fc-0aa40d776dc5",
+ "timeStamp": "1970-01-01T00:00:00.000Z",
"facts": {
"reportType": "Regular",
- "companyId": "1955b7ee-cd77-4f56-92fc-0aa40d776dc5",
+ "companyId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
"reportId": "4E6593CB987D459C88FA",
- "lastModifiedDate": "2025-03-07T22:25:49.866Z",
+ "lastModifiedDate": "1970-01-01T00:00:00.000Z",
"actingUserId": null,
- "href": "https://us2.api.concursolutions.com/expensereports/v4/users/e496ce0f-2442-4923-ba4d-74f3d2529fdf/context/TRAVELER/reports/4E6593CB987D459C88FA",
- "userId": "e496ce0f-2442-4923-ba4d-74f3d2529fdf"
+ "href": "https://us2.api.concursolutions.com/expensereports/v4/users/bbd64e6f-d096-48e5-8dd8-b7b67de1a951/context/TRAVELER/reports/4E6593CB987D459C88FA",
+ "userId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951"
+ }
+}
+```
+
+### Report Updated
+
+```json
+{
+ "id": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "correlationId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "route": "stable",
+ "eventType": "reportUpdated",
+ "topic": "concur.expense.report",
+ "timeStamp": "1970-01-01T00:00:00.000Z",
+ "facts": {
+ "reportType": "Regular",
+ "companyId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "reportId": "4E6593CB987D459C88FA",
+ "lastModifiedDate": "1970-01-01T00:00:00.000Z",
+ "href": "https://us2.api.concursolutions.com/expensereports/v4/users/bbd64e6f-d096-48e5-8dd8-b7b67de1a951/context/TRAVELER/reports/4E6593CB987D459C88FA",
+ "actingUserId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "userId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951"
}
}
```
-### statusChanged
+### Report Deleted
+
+```json
+{
+ "id": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "correlationId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "route": "stable",
+ "eventType": "reportDeleted",
+ "topic": "concur.expense.report",
+ "timeStamp": "1970-01-01T00:00:00.000Z",
+ "facts": {
+ "reportType": "Regular",
+ "companyId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "reportId": "1F7597D8217649F7BA4F",
+ "lastModifiedDate": "1970-01-01T00:00:00.000Z",
+ "actingUserId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951",
+ "userId": "bbd64e6f-d096-48e5-8dd8-b7b67de1a951"
+ }
+}
+
+
+```
+### Report Status Changed
```json
{
@@ -149,7 +245,6 @@ Name|Type|Format|Description
"eventType": "statusChanged",
"topic": "public.concur.expense.report",
"timeStamp": "2021-03-18T23:11:51.034Z",
- "subtopic": "CB899F7D9F73420A8D8B",
"facts":{
"currentApprovalStatus": "A_PEND",
"reportId": "CB899F7D9F73420A8D8B",
@@ -172,10 +267,11 @@ Name|Type|Format|Description
},
"previousApprovalStatus": "A_RESU",
"actingUserId": null,
- "href": "https://us.api.concursolutions.com/expensereports/v4/users/f2d07d5f-7a6f-44fa-98c7-c4b405bd6ca3/context/TRAVELER/reports/CB899F7D9F73420A8D8B",
+ "href": "https://us.api.concursolutions.com/expensereports/v4/users/f2d07d5f-7a6f-44fa-98c7-c4b405bd6ca3/context/TRAVELER/reports/CB899F7D9F73420A8D8B"
}
}
```
+
```json
{
"id": "3eabdcbf-07df-4acd-99de-7f5aef0f673d",
@@ -184,7 +280,6 @@ Name|Type|Format|Description
"eventType": "statusChanged",
"topic": "public.concur.expense.report",
"timeStamp": "2021-03-19T00:37:39.550Z",
- "subtopic": "CB899F7D9F73420A8D8B",
"facts": {
"currentApprovalStatus": "A_PECO",
"reportId": "CB899F7D9F73420A8D8B",
@@ -215,6 +310,7 @@ Name|Type|Format|Description
}
}
```
+
```json
{
"id": "be3a6976-00e7-4b06-9c95-b4f2c3330ea6",
@@ -223,7 +319,6 @@ Name|Type|Format|Description
"eventType": "statusChanged",
"topic": "public.concur.expense.report",
"timeStamp": "2021-03-19T01:11:57.169Z",
- "subtopic": "CB899F7D9F73420A8D8B",
"facts": {
"currentApprovalStatus": "A_ACCO",
"reportId": "CB899F7D9F73420A8D8B",