Skip to main content
GET
Queue Pending Mobility Survey Export
← Employees API Queues an asynchronous export listing every employee who has not yet responded to a mobility survey, across the header organization plus every accepted, enabled descendant in its organization tree (recursively). Intended for a holding organization checking on outstanding responses across all of its subsidiaries at once — the group scope is always applied and cannot be narrowed to a single organization. Each row is a person: the employee records of an organization that share an email (case-insensitively) are one person, so someone uploaded again for a new survey appears once and counts as responded when any of their records responded. “Pending” is judged per survey period: an enabled employee is pending when none of their responses overlaps the period, even if they answered a previous period. A response that started earlier and still covers the period (for example a manual one from 2020 to 2026) counts as a response. Pass the period with start_date/end_date; when omitted, the calendar year of the group’s latest survey-form response is used, by its start date (for example, a latest response starting on 2025-12-29 means 2025-01-01 to 2025-12-31). Only when the group has no survey response at all does the export fall back to employees with status = loading. Employees without an email are excluded, since there is no way to follow up with them. Survey sendings are not recorded, so a person who did not respond is left out when they were most likely never asked about the period:
  • Left before the period: their latest response marked terminated ended before start_date, and no other response starts after it (someone rehired is surveyed again). Appearing in a list uploaded after leaving does not count as coming back.
  • Uploaded for another period: they were first uploaded after end_date, in a list (the organization’s employees created that day) that was answered by survey for other periods only. A list uploaded after the period that nobody has answered yet keeps its people, since surveying a past period afterwards is common.
With include_responded, everyone who responded is listed. This endpoint only enqueues the export — it creates a PENDING processing job, fires an event for a background worker to build the .xlsx and upload it, and returns immediately with processing_job_id. Poll the processing job (or wait for the in-app notification / email) to retrieve the download link once it completes. The file has an Estado / Status column (pending or responded), the date of the person’s latest survey sending and a Periodo evaluado / Period checked column with the period the status was judged on. If there are no employees to list, the export still completes with a file containing just the header row.

Request

Headers

string
required
Your API key for authenticationExample: sk_live_1234567890abcdef
string
required
UUID of the holding (or any) organization. The export always spans this organization plus its whole descendant tree.Example: a8315ef3-dd50-43f8-b7ce-d839e68d51fa

Query Parameters

string
Survey period start date (YYYY-MM-DD). Defaults to January 1st of the year of the group’s latest survey response.Example: 2025-01-01
string
Survey period end date (YYYY-MM-DD). Omit for an open-ended period. Ignored without start_date: the default period then ends on December 31st of its year.Example: 2025-12-31
boolean
default:"false"
List every employee of the group, not only the pending ones. The Estado / Status column then marks each one as pending or responded for the period.

Response

string
UUID of the created processing job. Poll GET /processing_jobs/{processing_job_id}/download-url until the job completes to retrieve a presigned download URL for the .xlsx file.
The completed workbook has a sheet per survey period, named after its year (Pendientes 2025 / Pending 2025, or Estado encuestas 2025 / Survey status 2025 with include_responded). A period of up to a year is one sheet (a July-June period is named 2024-2025); a longer one is split into 12-month periods from start_date, latest first (a January 1st start gives calendar years, a July 1st start July-June years), so a person who missed two years’ surveys appears on both sheets. Without end_date the sheets run up to the 12-month period that contains today. When the group has no survey response at all (the status = loading fallback), the single sheet has no year in its name. Each sheet has the columns: Column headers and the worksheet name are localized to the requesting user’s stored language (Spanish or English currently; Spanish is the fallback).

Example

Successful Response

Common Errors

401 Unauthorized

Cause: Missing or invalid API key

403 Forbidden

Cause: The authenticated user is not a member of the organization

404 Not Found

Cause: Organization not found

List Employees (V2)

List employees with group-view filtering, including by status

Bulk Delete by Filters

Bulk-delete employees matching the same group-view filters