---
category: [Administration & Integrations, Administration & Integrations/Workday API, Platform and Product Extensions, Platform and Product Extensions/Integration, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
keyword: [Business Process, BP, Extend BP, Extend Pro, Subprocess, Orchestration, Model Component BP, BP Event]
nav: wcp_docs
parent_url: /wcp_docs/
title: Event Steps REST APIs
layout: subsection
---

## <a id="section_overview"></a>Overview

The Event Steps REST API in the Business Process REST service enables apps to:

-   Get information about Workday-delivered and Extend business process event steps.

    In an Extend app, the business process configuration maps the steps with pages defined in the app metadata. When a user interacts with a page to perform a step, the Extend app can call the Event Steps API to get the associated event record for the app business process event.

-   Approve, deny, send back, and reassign business process event steps.
-   Post an action for a Questionnaire or To Do step.


For reference documentation about the Event Steps REST APIs, see `businessProcess/eventSteps` in the [REST API Explorer on the Developer Site](https://developer.workday.com/rest-api-explorer) or [Workday REST Services Directory](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html?lang=en-us).

For reference documentation about Extend Business Process Event REST APIs, see [Extend Business Process Event REST API](/wcp_docs/GUID-4b87e483-baa5-4a2a-b6df-73a5d5278259-enHYPHENus.html).

## <a id="section_url_base_path"></a>URL Base Path

<b>Tenant Base Path</b>

`https://{tenantHostname}/api/businessProcess/{version}/{tenantName}` .

<b>Example</b> : `https://yourTenantHostName.com/api/businessProcess/v1/gms` .

<b>Workday Extend and Integration API Gateway Base Path</b>

For Workday Extend and Integration apps, use the API Gateway URL for the region of your company.

See [Reference: Workday Extend API Gateways and Authorization Base URLs](https://developer.workday.com/documentation/dlh1653340161856) on the Developer Site.

Example for US region: `https://api.workday.com/businessProcess/v1`

## <a id="section_workday_tasks"></a>Workday Tasks

This table lists the Business Process REST API endpoints that are equivalent to these Workday tasks.

<table><thead><tr><th>Workday Task</th><th>Endpoint</th></tr></thead><tbody><tr><td>Approve button in the Inbox</td><td><code>POST /eventSteps/{ID}/approve</code></td></tr><tr><td>Deny button in the Inbox</td><td><code>POST /eventSteps/{ID}/deny</code></td></tr><tr><td>Send Back button in the Inbox</td><td><code>POST /eventSteps/{ID}/sendBack</code></td></tr><tr><td>Submit button in the Inbox</td><td><code>POST /eventSteps/{ID}/submit</code></td></tr><tr><td>Reassign option on the Related Actions menu on a business process step</td><td><code>POST /eventSteps/{ID}/reassign</code></td></tr><tr><td>Submit the business process Questionnaire step</td><td><code>POST /eventSteps/{ID}/questionnaire</code></td></tr><tr><td>Complete the business process To Do step</td><td><code>POST /eventSteps/{ID}/toDo</code></td></tr></tbody></table><br/>

## <a id="section_security_considerations"></a>Security Considerations

See Security Considerations in [Events REST APIs](/wcp_docs/GUID-0df5cd55-e578-43d3-b58f-ae98825d1df0-enHYPHENus.html).

## <a id="section_prerequisites"></a>Prerequisites

See the Prerequisites in [Events REST APIs](/wcp_docs/GUID-0df5cd55-e578-43d3-b58f-ae98825d1df0-enHYPHENus.html).

## <a id="section_integration_touchpoints"></a>Integration Touchpoints

See the Integration Touchpoints in [Events REST APIs](/wcp_docs/GUID-0df5cd55-e578-43d3-b58f-ae98825d1df0-enHYPHENus.html).

## <a id="section_getting_event_steps"></a>Getting Event Steps

The `GET /eventSteps` endpoint returns the event steps that are awaiting action from the current processing user.

Example: If you're logged in as Logan McNeil, the endpoint returns only the event steps with awaiting actions on Logan McNeil.

This endpoint requires one of these query parameters:

-   `businessProcess`: The Workday ID of the business process type (from the Workday UI)
-   `stepType`: The Workday ID or reference ID of the business process step type. For a list of reference IDs for the step type, see [Reference: Step Type Reference IDs](/wcp_docs/GUID-29fff5b3-a82b-4dd9-be4c-a553dbe73600-enHYPHENus.html).


<b>Example: Get event steps by business process and creation date</b>

This example gets event steps for a business process that were created on or after a specified date. This example uses an Extend business process, Create Work Event.

Sample request:

```
GET /eventSteps?businessProcess=a692b7d95a62571591f601d11ab29808&createdOnOrAfter=2025-01-20
```

Sample response:

```
{
  "data": [
    {
      "stepType": {
        "descriptor": "Action",
        "id": "d8c89128446c11de98360015c5e6daf6"
      },
      "task": {
        "descriptor": "Book Event Space",
        "id": "a44c28b6bf485698a297a70289e649e3"
      },
      "overallProcess": {
        "descriptor": "Create Work Event: Appreciation Party",
        "id": "9a6a199318249001b7b9e76408c00000"
      },
      "event": {
        "descriptor": "Create Work Event: Appreciation Party",
        "id": "9a6a199318249001b7b9e76408c00000"
      },
      "stepEvent": {
        "descriptor": "Create Work Event: Appreciation Party",
        "id": "9a6a199318249001b7b9e76408c00000"
      },
      "descriptor": "Book Event Space",
      "businessProcess": {
        "descriptor": "Create Work Event",
        "id": "a692b7d95a62571591f601d11ab29808"
      },
      "businessProcessStep": {
        "descriptor": "Create Work Event (Default Definition) step c - Action",
        "id": "6c65436bb5531003ed9fdaae185d0000"
      },
      "id": "9a6a199318249001b93df0363cc60000",
      "order": "c",
      "status": {
        "descriptor": "Awaiting Action",
        "id": "d9e4108c446c11de98360015c5e6daf6"
      },
      "awaitingPersons": [
        {
          "descriptor": "Logan McNeil",
          "id": "9feb1da3167840a9852698a2f228f795"
        }
      ],
      "creationDate": "2025-01-23T21:24:05.041Z"
    }
  ],
  "total": 1
}
 
```

<b>Example: Get event steps by step type</b>

This example gets the initiation event steps for the current user, Logan McNeil.

Sample request:

```
GET /eventSteps?stepType=Workflow_Step_Type_ID=initiation
```

Sample response:

```
{
  "data": [
    {
      "stepType": {
        "descriptor": "Initiation",
        "id": "d8c892f4446c11de98360015c5e6daf6"
      },
      "task": {
        "descriptor": "Complete Self Evaluation",
        "id": "dc2d83dc446c11de98360015c5e6daf6"
      },
      "overallProcess": {
        "descriptor": "Ad hoc Review: Logan McNeil (On Leave)",
        "id": "49367bfa904f10020cf2fa18d9bd0000"
      },
      "event": {
        "descriptor": "Self Evaluation: Ad hoc Review: Logan McNeil (On Leave)",
        "id": "49367bfa904f10020cf308848fde0000"
      },
      "stepEvent": {
        "descriptor": "Self Evaluation: Ad hoc Review: Logan McNeil (On Leave)",
        "id": "49367bfa904f10020cf308848fde0000"
      },
      "descriptor": "Complete Self Evaluation for Performance Review",
      "businessProcess": {
        "descriptor": "Complete Self Evaluation for Performance Review",
        "id": "d6934f907eb94567a9808c3c649e744f"
      },
      "businessProcessStep": {
        "descriptor": "Complete Self Evaluation for Performance Review for Global Modern Services step a - Initiation",
        "id": "6fe93923901448cca3ed979424e7ba3c"
      },
      "id": "49367bfa904f90020cf31188a8950000",
      "order": "a",
      "status": {
        "descriptor": "Awaiting Action",
        "id": "d9e4108c446c11de98360015c5e6daf6"
      },
      "awaitingPersons": [
        {
          "descriptor": "Logan McNeil",
          "id": "9feb1da3167840a9852698a2f228f795"
        }
      ],
      "creationDate": "2026-05-01T21:54:46.892Z",
      "dueDate": "2026-05-08"
    },
    {
      "stepType": {
        "descriptor": "Initiation",
        "id": "d8c892f4446c11de98360015c5e6daf6"
      },
      "task": {
        "descriptor": "Review COBRA Eligibility",
        "id": "dc32623a446c11de98360015c5e6daf6"
      },
      "overallProcess": {
        "descriptor": "Absence Request: Logan McNeil (On Leave)",
        "id": "e9a9f59f7bf01001d0f31ccb3ad90000"
      },
      "event": {
        "descriptor": "Logan McNeil (On Leave):  eligible for COBRA on",
        "id": "e9a9f59f7bf01001d0f35cb663650000"
      },
      "stepEvent": {
        "descriptor": "Logan McNeil (On Leave):  eligible for COBRA on",
        "id": "e9a9f59f7bf01001d0f35cb663650000"
      },
      "descriptor": "Review COBRA Eligibility Event",
      "businessProcess": {
        "descriptor": "Review COBRA Eligibility Event",
        "id": "7b7837718fca4b1aa7dd14293ab3cbab"
      },
      "businessProcessStep": {
        "descriptor": "Review COBRA Eligibility Event for Global Modern Services step a - Initiation",
        "id": "cd447666bd7045ab9c2fe9d10a6b4d06"
      },
      "id": "e9a9f59f7bf09001d0f35dea62e80000",
      "order": "a",
      "status": {
        "descriptor": "Awaiting Action",
        "id": "d9e4108c446c11de98360015c5e6daf6"
      },
      "awaitingPersons": [
        {
          "descriptor": "Ava Gonzalez",
          "id": "46f951d6a15f102848abb1e869bd0568"
        },
        {
          "descriptor": "Julie Boyer",
          "id": "e355a918189910672010e544939e0e35"
        }
      ],
      "creationDate": "2026-04-24T02:52:04.743Z",
      "dueDate": "2026-04-25"
    }
  ],
  "total": 2
}
 
```

## <a id="section_approve_step"></a>Approve a Business Process Step

The `POST /eventSteps/{eventStepID}/approve` endpoint approves the business process event step specified by the ID of the originating event step.

This example approves an event step that’s awaiting action on Joy Banks. The current user is Joy Banks. The event step ID is from the `GET /events/{eventId}/inProgressSteps` endpoint.

Sample request:

```
POST  /eventSteps/49367bfa904f90009874815c5bf20000/approve
{
"comment": "Approve the Appreciation Party"
}
```

Sample response:

```
{
  "comment": "Approve the Appreciation Party",
  "descriptor": "Approval by Manager",
  "eventStatus": {
    "descriptor": "In Progress",
    "id": "e2d08afc53614c37b32b31270bb8bee3"
  },
  "id": "49367bfa904f9001addc170d7fad0000"
}
 
```

## <a id="section_send_back_step"></a>Send Back a Business Process Step

The `POST /eventSteps/{eventStepID}/sendBack` endpoint sends the business process back to a previous step.

Specify the ID of the event step you are sending back in the {ID} path parameter of the endpoint URL.

Specify the event step you are sending back to in the `to.id` field in the request body.

To send back a business process, the processing person must have View access to the event when you call this API.

To get valid event step IDs, you can use any of these endpoints:

-   `GET /eventSteps` by business process or step type, and date filters.
-   `GET /events/{id}/inProgressSteps`
-   `GET /events/{id}/completedSteps`


This example sends the in-progress step that’s an awaiting action from Joy Banks to the completed step by Logan McNeil.

-   The <i>{eventStepID}</i> path parameter in the URL is from the `GET /events/{id}/inProgressSteps` endpoint.

-   The `to.id` field in the request body is from the `GET /events/{id}/completedSteps` endpoint. The current user is Joy Banks.



Sample request:

```
POST  /eventSteps/49367bfa904f90009874815c5bf20000/sendBack
 
```

Sample request body:

```
{
  "reason": "Send back to manager",
  "to": {
    "id": "a6f4dc4218b89000d7f40213c22c0000"
  }
}
 
```

Sample response:

```
{
  "descriptor": "Approval by Manager",
  "id": "a6f4dc4218b89000d7f4051360dd0001",
  "reason": "Send back to manager",
  "status": {
    "descriptor": "Sent Back",
    "id": "d9e40c90446c11de98360015c5e6daf6"
  }
}
 
```

## <a id="section_deny_step"></a>Deny a Business Process Step

The `POST /eventSteps/{eventStepID}/deny` endpoint denies the business process event step with the specified ID.

To deny a step, the processing person must have View access to the event when you call this API.

To get valid event step IDs, you can use any of these endpoints:

-   `GET /eventSteps` by business process or step type, and date filters.
-   `GET /events/{id}/inProgressSteps`


This example sends the in-progress step that’s an awaiting action from Joy Banks to the completed step by Logan McNeil.

The <i>{eventStepID}</i> path parameter in the URL is from the `GET /events/{id}/inProgressSteps` endpoint.

The `to.id` field in the request body is from the `GET /events/{id}/completedSteps` endpoint. The current user is Joy Banks.

Sample request:

```
POST  /eventSteps/4eedea4e4e2a90008d4e59aa52ee0000/deny
 
```

Sample request body:

```
{
"comment": "Denied - requirements not met"
}
```

Sample response:

```
{
  "descriptor": "Approval by Manager",
  "comment": "Denied - requirements not met",
  "stepAction": {
    "descriptor": "Denied",
    "id": "d9e40d80446c11de98360015c5e6daf6"
  },
  "eventStatus": {
    "descriptor": "Process Terminated",
    "id": "35366e7f39bf4eb8b404df284d0ca5b9"
  },
  "id": "4eedea4e4e2a90008d4e59aa52ee0000"
}
 
```

## <a id="section_questionnaire_step"></a>Submit a Complete Questionnaire Step

The `POST /eventSteps/{ID}/questionnaire` endpoint submits a Complete Questionnaire event step with the specified ID. Specify the `stepAction` and `questionnaireResponse` in the request body.

Valid `stepAction` values:

<table><thead><tr><th>Step action</th><th>Workday ID value</th><th>questionnaireResponse</th></tr></thead><tbody><tr><td>Submit</td><td>133d5c88baa64136aab041c1d2e9ed53</td><td>Include <code>questionnaireResponse</code> in the request body.</td></tr><tr><td>Save for Later</td><td>d9e41a8c446c11de98360015c5e6daf6</td><td>Include <code>questionnaireResponse</code> in the request body.</td></tr><tr><td>Skip</td><td>d9e4231a446c11de98360015c5e6daf6</td><td>Exclude <code>questionnaireResponse</code> from the request body.</td></tr></tbody></table><br/>

To get valid event step IDs, you can use any of these endpoints:

-   `GET /eventSteps` by business process or step type, and date filters.
-   `GET /events/{id}/inProgressSteps`


```
POST https://api.workday.com/businessProcess/v1/eventSteps/49367bfa904f90009874815c5bf20000/questionnaire
 
```

Sample request body:

```
{
  "stepAction": {
    "id": "133d5c88baa64136aab041c1d2e9ed53"
  },
  "questionnaireResponse": {
    "questionnaireAnswers": [
      {
        "questionItem": {
          "id": "f2ecf434008f106f7eff48eb13d40802"
        },
        "answerText": "Resolved the requirement."
      }
    ]
  }
}
 
```

Sample response:

```
{
  "id": "49367bfa904f90009874815c5bf20000",
  "descriptor": "Complete Questionnaire",
  "stepAction": {
    "descriptor": "Step Completed",
    "id": "d9e41366446c11de98360015c5e6daf6"
  }
 
```

## <a id="section_reassign_step"></a>Reassign a Step

Reassigns the business process event step specified by the reference ID of the originating event step.

To get valid event step IDs, you can use any of these endpoints:

-   `GET /eventSteps` by business process or step type, and date filters.
-   `GET /events/{id}/inProgressSteps`


This example reassigns an event step whose event step ID is <i>49367bfa904f90009874815c5bf20000</i> to Dawn Myers (whose Workday ID is <i>be714822ecde4b859db6f29b7669b87a</i>. The logged-in user is a business process administrator who has access to the event step and has permission to reassign the step.

```
POST https://api.workday.com/businessProcess/v1/eventSteps/49367bfa904f90009874815c5bf20000/reassign
 
```

Sample request body:

```
{
  
  "addAssignees":[{"id":"be714822ecde4b859db6f29b7669b87a"}],
   "comment": "Reassign to Dawn Myers"
}
 
```

Sample response:

```
{
  "id": "49367bfa904f90009874815c5bf20000",
  "descriptor": "Approval by Manager",
  "awaitingRoles": [
    {
      "id": "be714822ecde4b859db6f29b7669b87a",
      "descriptor": "Dawn Myers (HRPartner, 4000)"
    },
    {
      "id": "3bcc416214054db6911612ef25d51e9f",
      "descriptor": "Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)"
    }
  ],
  "addAssignees": [
    {
      "id": "be714822ecde4b859db6f29b7669b87a",
      "descriptor": "Dawn Myers (HRPartner, 4000)"
    }
  ],
  "comment": "Reassign to Dawn Myers"
}
 
```

## <a id="section_todo_step"></a>Submit a To Do Step

The `POST /eventSteps/{ID}/toDo` endpoint submits a Complete Questionnaire event step with the specified ID. Specify the `stepAction` in the request body.

Valid `stepAction` values:

<table><thead><tr><th>Step action</th><th>Workday ID value</th></tr></thead><tbody><tr><td>Submit</td><td>133d5c88baa64136aab041c1d2e9ed53</td></tr><tr><td>Save for Later</td><td>d9e41a8c446c11de98360015c5e6daf6</td></tr></tbody></table><br/>

To get valid event step IDs, you can use any of these endpoints:

-   `GET /eventSteps` by business process or step type, and date filters.
-   `GET /events/{id}/inProgressSteps`


This example submits a To Do step whose event step ID is <i>49367bfa904f90009874815c5bf20000</i>.

```
POST https://api.workday.com/businessProcess/v1/eventSteps/49367bfa904f90009874815c5bf20000/todo
 
```

Sample request body:

```
{
  "comment": "Completed this to do task.",
  "stepAction": {
    "id": "133d5c88baa64136aab041c1d2e9ed53"
  }
}
 
```

Sample response:

```
{
  "id": "49367bfa904f90009874815c5bf20000",
  "descriptor": "To Do: Assign employee computer",
  "stepAction": {
    "descriptor": "Step Completed",
    "id": "d9e41366446c11de98360015c5e6daf6"
  },
  "comment": "Completed this to do task."
}
 
```

## <a id="section_common_errors"></a>Common Errors

<table><thead><tr><th>Error</th><th>Error Code</th><th>Cause and Solution</th></tr></thead><tbody><tr><td>Empty result when fetching events or event steps.</td><td>n/a</td><td><b>Cause</b>: The current user doesn’t have permissions or doesn’t have awaiting actions on event steps. <p><b>Solution</b>: Check if the current user is configured correctly or if the current user has awaiting actions through the <code>GET /events/{id}/inProgressSteps</code> endpoint.</p></td></tr><tr><td>This event is not awaiting your action.</td><td>A212</td><td><b>Cause</b>: If calling the POST endpoint of the Event Steps REST API, the event step is not in progress or not awaiting action on the current user. <p><b>Solution</b>: Ensure that the user has awaiting action and the event step is in-progress.</p></td></tr></tbody></table><br/>

