ThisCalculator

Everyday

Workday Job API Returns No Postings? Check Page Size

Updated · Standard formula, shown below

Workday Job API Returns No Postings? Check Page Size

If the Workday Job API returns no postings, the most common cause is a page size that is too small or set to zero, which can make the API return an empty Job_Requisition list even when jobs exist. You can fix this by setting the page and count query parameters to valid values (e.g., ?page=1&count=20) and verifying that your API client is not overriding them. This article explains why the page size causes empty results, how to troubleshoot it, and how to avoid related pitfalls.

Background: How the Workday Job API Works

The Workday Job API (part of the Workday REST API suite) exposes job requisitions and postings to external systems, such as career sites, applicant tracking systems, and analytics tools. It uses standard HTTP methods and returns JSON or XML. The API is paginated: you request a specific page and a number of records per page. If you omit these parameters, Workday applies server-side defaults, which may be zero or a very small number depending on the API version and tenant configuration.

When you call the endpoint /jobPostings or /jobRequisitions (the exact path varies by API version), the response includes a Total field indicating how many records match your filters. If that total is greater than zero but the returned list is empty, you are almost certainly dealing with a pagination issue.

Why Page Size Causes Empty Results

The API uses two query parameters: page (the page number, starting at 1) and count (the number of records per page). If you set count=0, or if you set a page number beyond the last page, the API returns an empty list. Similarly, if the default count is zero in your tenant’s configuration, a request without explicit parameters will return no postings.

Another subtle cause: some API clients send a default limit or offset parameter that Workday interprets differently. For example, if you use a generic REST client that adds ?limit=10, Workday may ignore it and use its own default, which could be zero. Always use the exact parameter names documented for your API version.

How to Fix It: Step-by-Step

  1. Check the response’s Total field. If it is 0, then no postings match your filters—pagination is not the issue. If it is greater than 0, proceed.
  2. Explicitly set page and count. For example: GET /jobPostings?page=1&count=20. Use a count between 1 and the maximum allowed (often 100 or 500, depending on the API).
  3. Verify the count is not zero. Some clients default to 0; change it to a positive integer.
  4. Check for conflicting parameters. Remove any limit, offset, or pagesize parameters that might override the correct ones.
  5. Test with a simple request. Remove all filters (e.g., jobPostingStatus) to see if any postings appear. If they do, add filters back one by one.
  6. Check API version documentation. The parameter names and defaults changed across versions; ensure you are using the correct ones for your endpoint.

Common Problems and Misconceptions

Misconception: “The API is broken.” Usually it’s a client-side issue. The API returns an empty list because the request is malformed or the pagination is wrong.

Misconception: “Setting count to a large number returns all jobs.” Workday caps the count. If you set count=10000, it will likely return an error or cap it to the maximum. You must paginate through multiple pages.

Problem: Authentication works, but the list is empty. This often happens when the API user lacks permission to view certain job requisitions. The API may return a 200 OK with an empty list instead of a 403 error. Check the Total field—if it is 0, permissions or filters are the cause.

Problem: The page parameter is ignored. Some API versions use offset instead of page. Consult the documentation for your specific API version.

How to Choose the Right Page Size

Choosing a page size is a trade-off between response size and number of requests. A count of 20–50 is common for interactive applications. For bulk data extraction, use the maximum allowed (often 100 or 500) to reduce the number of calls. However, be aware that very large pages can time out or be truncated. Workday recommends using the next URL provided in the response to navigate pages, rather than constructing URLs manually.

If you are pulling thousands of jobs, consider using the Workday Report-as-a-Service or the Integration API, which are designed for bulk data transfers. The Job API is best for on-demand queries.

Alternatives and Related APIs

If the Job API continues to return no postings, consider these alternatives:

  • Workday Report-as-a-Service (RaaS): Use a pre-built or custom report to export job postings. This is more reliable for large datasets.
  • Workday Integration API: Use the Get_Job_Requisitions operation in the SOAP API, which has its own pagination controls.
  • Check the Workday Community: Search for known issues with your specific API version. Sometimes Workday changes default behavior in a release.

Frequently Asked Questions

Why does the API return an empty list even though I see jobs in Workday?

Most likely the request is paginated incorrectly or the API user lacks permission to view those specific job requisitions. Check the Total field in the response. If it is 0, permissions or filters are the issue; if it is greater than 0, fix the pagination parameters.

What is the default page size in the Workday Job API?

The default varies by API version and tenant configuration. In many versions, the default count is 20, but some tenants configure it to 0. Always specify count explicitly to avoid surprises.

Can I set count to a very large number to get all results at once?

No. Workday caps the count (often at 100 or 500). Exceeding the cap returns an error or truncates the list. You must paginate using the next URL or increment the page parameter.

Does the API use page and count or offset and limit?

It depends on the API version. Newer REST APIs use page and count. Older versions or SOAP APIs may use offset and limit. Check the documentation for your specific endpoint.

Why do I get a 200 OK but an empty list when I use filters?

Filters like jobPostingStatus or location may be case-sensitive or use specific codes. If the filter value is invalid, the API may return an empty list instead of an error. Test without filters to confirm.

Is there a way to get the total number of job postings without fetching them all?

Yes, the response includes a Total field. You can make a request with page=1&count=1 to get the total without downloading all records.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.