---
category: [Platform and Product Extensions, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
keyword: [Extend, Workday Graph API, Graph API, GraphQL]
nav: wcp_docs
parent_url: /wcp_docs/
title: Workday Graph API Fundamentals
layout: subsection
---

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

Workday Graph API uses GraphQL, which is a standard query language that enables you to ask for the exact data you need in a single request. Graph API provides:

-   A unified schema that defines the types of data you can read and write.
-   A single endpoint that executes any query or mutation over HTTPS.


Use Workday Graph API for interactive use cases involving small transactions, typically self-service transactions initiated by users. Examples:

-   In an Extend app, you can use the same Graph API endpoint to create model components along with worker data, and get the exact data you want to display in a grid. Example: [Vehicle Registration](https://developer.workday.com/app-catalog/vehicleRegistration) sample app.
-   In an Integration app that triggers an orchestration from a business process, you can call the Graph API endpoint to create related data. Example: [Create Spot Bonus](https://developer.workday.com/app-catalog/createSpotBonus) sample app.


Use Graph API within the [defined limits](/wcp_docs/GUID-2c1bf9a6-e073-4a5c-a631-6467554546d1.html). Don’t use Graph API for bulk data import or export, or mass operations that can indirectly trigger many Graph API requests.

For Graph API security, [Workday Graph API Authentication and Security](/wcp_docs/GUID-8b37afd9-22d7-42ba-b150-e979466f1525-enHYPHENus.html).

## <a id="section_2"></a>Graph API Schema

The Graph API schema consists of strongly typed-objects representing Workday data and business objects from different Workday services. The schema also includes model business objects that you’ve created with your Extend apps.  You can access these objects as root query or mutation fields in the schema.

The fields that you explicitly request determine the exact shape of the response JSON data. Unlike SOAP and REST services, Workday Graph API returns only the specific fields you requested. It doesn't return extraneous fields, thus reducing app resource usage.

You can view the Graph API schema in the Documentation Explorer on the [Graph API Explorer](/wcp_docs/jfi1654276754280.html).

## <a id="section_4"></a>Graph API Endpoint

To access Workday data and Extend business objects in the schema, submit queries and mutations using the Graph API endpoint, which is a REST API call using the POST method:

```
https://{apiGatewayBasePath}/graphql/{version}
```

<b>Note:</b> Your account region determines the base URL of the Graph API endpoint. See [Reference: Workday Extend API Gateways and Authorization Base URLs](/wcp_docs/dlh1653340161856.html).

The request body contains the `query` and `variables` fields. The `query` request field specifies the [Graph API Queries](/wcp_docs/qxq1671067079349.html) or [Graph API Mutations](/wcp_docs/kbu1671067116723.html).

Instead of submitting multiple requests to retrieve a complete data structure, submit only a single REST API request that selects nested objects, thus improving app performance.

For more details about the Graph API endpoint, see [Reference: Workday Graph API](/wcp_docs/flw1653707569144.html).

## <a id="section_1"></a>Error Handling

Consider these guidelines:

-   Graph API returns the 200 status code if it successfully sends the request to the server, even if the execution of the query or mutation encounters an error.

    Graph API uses the standard GraphQL response format that contains the `data` and `errors` fields. Depending on the type of error, Graph API also returns an error `extensions` object, which contains more details about the error. See the Response Schema in [Reference: Workday Graph API](/wcp_docs/flw1653707569144.html).

-   To determine any failure, check for `errors[]`in the response body.

    <b>Note:</b> In a PMD of an Extend app, if the Graph API endpoint response contains `errors[]`, the page treats it as an error, even if the response status code is 200.

-   If a Graph API mutation performs validations that return warnings, you can:

    -   Set the `wd-warning-action: updateonwarning` header value to save data even if warning-level validations fail. In this case, the response data includes the warning messages. See Warning Action Header in [Graph API Headers](/wcp_docs/GUID-c0c417b9-540c-47f0-a400-2c6ae9bbd760-enHYPHENus.html).
    -   Add business logic to bypass non-critical warnings while still enforcing strict requirements for critical errors, enabling applications to differentiate between critical blockers and informative warnings.



### Related Information

[Graph API in Extend Pages](/wcp_docs/xfa1653188971557.html)

[Introduction to GraphQL](https://graphql.org/learn/)

[Reference: Limits on Graph API](/wcp_docs/GUID-2c1bf9a6-e073-4a5c-a631-6467554546d1.html)

