|
| 1 | +--- |
| 2 | +name: workday-apis |
| 3 | +description: Chooses and reviews Workday REST, SOAP, Graph API, and WQL calls. Use when editing .graphquery or .wqlquery files, or when writing REST, SOAP, OAuth, or pagination handling. Do not use for .pmd layout or .orchestration step structure. |
| 4 | +--- |
| 5 | + |
| 6 | +# Workday APIs |
| 7 | + |
| 8 | +Pick the API, then review the call. Report only genuine problems. |
| 9 | + |
| 10 | +| Need | API | Open first | |
| 11 | +| --- | --- | --- | |
| 12 | +| A few fields in one round trip | Graph | `catalog/vehicleRegistration/presentation/graphQueries` | |
| 13 | +| Create or update one resource | REST | `catalog/updateWorkdayAccounts` | |
| 14 | +| Bulk XML | SOAP | `catalog/workerInboundImageUpload` | |
| 15 | +| A report or extract | WQL | `catalog/employeeRecognition/presentation/wqlQueries` and `catalog/wql` | |
| 16 | +| One Graph call that creates a record | Graph | `catalog/createSpotBonus` | |
| 17 | + |
| 18 | +## Rules |
| 19 | + |
| 20 | +- Store a Graph query as `.graphquery` JSON with `id` and `query`. The page sets `graphQuery.queryId` to that id, `baseUrlType` `workday-graph`, and `httpMethod` `POST`. |
| 21 | +- Store a WQL query in `presentation/wqlQueries/<id>.wqlquery` with `id`, `parameters`, and `query`. Every `<% name %>` token is listed in `parameters`. |
| 22 | +- Get a REST token with the client-credentials grant. Never write the client id, client secret, or access token into a source file. |
| 23 | +- Page REST results with `limit` (maximum 100) and `offset`. On 429, back off. On 401, refresh the token. |
| 24 | +- Address SOAP by the tenant service host name. Do not pin an IP. Keep the envelope in an orchestration, not in a page. |
| 25 | +- Never log a token or a body that contains pay or a government identifier. |
| 26 | + |
| 27 | +## Output format |
| 28 | + |
| 29 | +For each issue, state the file and line, name the rule, and show a short before and after. Skip clean files. |
| 30 | + |
| 31 | +## Test questions |
| 32 | + |
| 33 | +- "The page needs five worker fields. Which API do I use?" |
| 34 | +- "Where does the Graph query text live?" |
| 35 | +- "The REST call returns 429. What should the client do?" |
0 commit comments