---
category: [Administration & Integrations, Platform and Product Extensions, Platform and Product Extensions/Integration, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
keyword: [Extend, Workday SOAP Web Services, SOAP API]
nav: wcp_docs
parent_url: /wcp_docs/
title: Call Workday SOAP APIs Using the API Gateway
layout: subsection
---

### Prerequisites

<a id="prereq_N10021_N1001E_N10001"></a>
-   Familiarity with Workday SOAP Web Services.
-   Security domain policies required by the Workday SOAP APIs.
-   Client ID of your Workday app that invokes the Workday SOAP APIs.


### Context

<a id="context_N1003D_N1001E_N10001"></a>
Orchestrations and external apps that authorize with the API Gateway can call Workday SOAP APIs. Use the same authorization parameters as other requests made through the API Gateway. Requests to and responses from Workday SOAP APIs use the XML format.

You can call Workday SOAP web services using the POST HTTP method and this service path:

```
https://api.workday.com/soap/{version}/{serviceName}
```

<b>Note:</b> You can't call SOAP APIs directly from Presentation Components (PMDs, pods, PMD scripts, and others). From a PMD, you can launch an orchestration that calls SOAP APIs.

### Steps

1.  <a id="step_N1004F_N1004C_N1001E_N10001"></a>Create a `POST` request.
2.  <a id="step_N1005C_N1004C_N1001E_N10001"></a>Enter the request URL using the format: `https://api.workday.com/soap/{version}/{serviceName}`

    You can get the `{version}` and `{serviceName}` from the SOAP API Explorer.

3.  <a id="step_N10076_N10052_N1001F_N10001"></a>Set the `Content-Type` header to `text/xml`.
4.  <a id="step_N10075_N1004C_N1001E_N10001"></a>Enter the SOAP envelope in the request body.
5.  <a id="step_N100AB_N1004C_N1001E_N10001"></a>Set the `Authorization` header to `Bearer {access-token}`, which is an OAuth 2.0 access token.

    To get the OAuth 2.0 access token, use the registered client ID of the app from the Console on the Workday Developer Site. Call the `authorize` and `token` endpoints using any of the OAuth2 authorization flows. Example: See the <b>Authorization</b> tab in the Example section below.

    For information about the different OAuth2 authorization flows, see [Concept: Authorization Flows](/wcp_docs/axg1518029552225.html).

6.  <a id="step_N100BC_N1004C_N1001E_N10001"></a>Submit the request.


### Example

You can use a REST API client tool (such as Postman or Bruno) to submit the sample Get Workers SOAP API request. In Postman, set these request parameters:

-   On the <b>Body</b> tab, select <b>raw</b> and <b>XML (text/xml)</b>.
-   On the <b>Authorization</b> tab:

    -   <b>Type</b>: Select <b>Bearer Token</b>.
    -   <b>Token</b>: Enter an OAuth2 access token.

        To get an OAuth2 access token:

        -   Call the `authorize` and `token` endpoints using the appropriate OAuth2 authorization flow.

            Example: [Authenticate Using the Authorization Code Grant Type](/wcp_docs/yai1528997518068.html).

        -   Alternatively, copy an access token from the API Explorer during testing on a WCP Development tenant.

            Example: On <b>API Explorer</b> &gt; <b>Get Started</b>, open `GET /workers`. Sign in to the tenant, and click <b>Copy Access Token</b>. Paste the access token into the <b>Token</b> field in Postman.





Sample request URL:

```
  POST https://api.workday.com/soap/v31.1/Human_Resources
```

Sample request body:

```
<soapenv:Envelope 
     xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
     xmlns:bsvc="urn:com.workday/bsvc">
  <soapenv:Header/>
  <soapenv:Body>
    <bsvc:Get_Workers_Request>
    <bsvc:Response_Filter>
    <bsvc:Count>1</bsvc:Count>
    </bsvc:Response_Filter>
    </bsvc:Get_Workers_Request>
  </soapenv:Body>
</soapenv:Envelope>
```

Sample response:

```
<?xml version='1.0' encoding='UTF-8'?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
 <env:Body>
  <wd:Get_Workers_Response xmlns:wd="urn:com.workday/bsvc" wd:version="v31.1">
   <wd:Response_Filter>
    <wd:Count>1</wd:Count>
   </wd:Response_Filter>
   <wd:Response_Results>
    <wd:Total_Results>469</wd:Total_Results>
    <wd:Total_Pages>469</wd:Total_Pages>
    <wd:Page_Results>1</wd:Page_Results>
    <wd:Page>1</wd:Page>
   </wd:Response_Results>
   <wd:Response_Data>
    <wd:Worker>
     <wd:Worker_Reference>
      <wd:ID wd:type="WID">3aa5550b7fe348b98d7b5741afc65534</wd:ID>
      <wd:ID wd:type="Employee_ID">21001</wd:ID>
     </wd:Worker_Reference>
     <wd:Worker_Descriptor>Logan McNeil</wd:Worker_Descriptor>
     <wd:Worker_Data>
      <wd:Worker_ID>21001</wd:Worker_ID>
      <wd:User_ID>lmcneil</wd:User_ID>
      <wd:Personal_Data>
        . . .
      </wd:Personal_Data>
      <wd:Employment_Data>
        . . .
      </wd:Employment_Data>
      <wd:Compensation_Data>
        . . .
      </wd:Compensation_Data>
     </wd:Worker_Data>
    </wd:Worker>
   </wd:Response_Data>
  </wd:Get_Workers_Response>
 </env:Body>
</env:Envelope>
```

### Related Information

[Reference: Workday Extend API Gateways and Authorization Base URLs](/wcp_docs/dlh1653340161856.html)

[SOAP Web Services API](https://community.workday.com/wws)

[SOAP API Reference](https://community.workday.com/wws/reference)

[Tutorial: Using Postman with Workday Extend APIs](https://wd5.myworkday.com/workday/learning/course/41ad519ef9c5017bed863f865e2c7b8e?record=ee836090ab2c010eefc5dfda98600000&type=9882927d138b100019b928e75843018d)

