Skip to main content

List Requisitions

GET/requisitions

Summary

Returns a paginated list of requisitions available to the API key, with filters for company, agency, project, trade, status, and relevant dates.

URL Parameters

  • None

Query Parameters

NameTypeRequiredDescription
companystringNoFilter by company id(s). Pass a single id or comma-separated ids. If omitted, data for all companies linked to the API key is returned.
pageintegerNoPage number (default 1)
limitintegerNoRecords per page (default 50, max 200)
statusenum(open, raised, approved, filled, cancelled, rejected)NoFilter by derived requisition status. open is an alias for approved and returns approved, active, unfilled requisitions.
projectstringNoFilter by project id
sitestringNoFilter by site id
costCodestringNoFilter by cost code id
tradestringNoFilter by trade id
agencystringNoFilter by agency id
includeStageTrackingbooleanNoInclude worker recruitment stage tracking. Only returned when this is true and the company has stage tracking enabled in company config.
querystringNoCase-insensitive search against requisition reference
dateFieldenum(createdAt, updatedAt, approvedDate, startDate, endDate, dateAccepted)NoDate field that from/to apply to. Use updatedAt for incremental polling; dateAccepted filters agency accepted dates. Default: createdAt.
fromstringNoDate filter start (YYYY-MM-DD); applies to dateField
tostringNoDate filter end (YYYY-MM-DD); applies to dateField
sortByenum(createdAt, updatedAt, reqRef, approvedDate)NoSort field
sortOrderenum(asc, desc)NoSort direction
fieldsstringNoComma-separated list of response fields or dot-path nested fields to return

Agency-scoped API keys may use open, approved, filled, or cancelled. Raised and rejected requisitions are not available to agencies. The response status remains approved when the request uses the open alias.

Request Example

curl -X GET 'https://api.requidex.com/api/open/v1/requisitions' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'

Response Fields

FieldTypeDescription
activityobjectOptional. Omitted when no activity is set.
Show child attributes
  • id string - Entity id
  • name string - Entity name
agenciesarray[object]
Show child attributes
  • id string - Agency id
  • name string - Agency name
  • offered integer - Workers offered
  • assigned integer - Workers assigned
  • dateReceived string - Date received
  • dateAccepted string - Date accepted
  • submissions array - Submitted workers
    Show child attributes
    • worker object - Submitted worker id and name
      Show child attributes
      • id string - Worker id
      • name string - Worker name
    • submittedAt string or null - Submission timestamp
    • isRejected boolean - Whether rejected
    • rejectionReason string or null - Rejection reason
approvedDatestringFinal approval timestamp when approved
approvalStagesarray[object]Approval workflow stages in order. approvedAt is an ISO 8601 timestamp for approvals recorded after stage timestamps were introduced; completed historical stages may return null.
Show child attributes
  • stage integer - Stage number
  • name string - Stage name
  • approved boolean - Whether the stage is complete
  • approvedAt string or null - Stage approval timestamp
  • approver object or null - Approver name and email
approverobject
Show child attributes
  • name string - User name
  • email string - User email address
autoAssignbooleanWhether auto-assignment is enabled for the requisition
cancellationobjectOptional. Cancellation details for a currently cancelled requisition. Omitted when unavailable.
Show child attributes
  • reason string - Cancellation reason
  • date string or null - Cancellation timestamp
  • comments string - Cancellation comments
companyobject
Show child attributes
  • id string - Entity id
  • name string - Entity name
createdAtstringCreation timestamp
endDatestringPlanned end date
idstringRequisition id
projectobject
Show child attributes
  • id string - Entity id
  • name string - Entity name
quantitynumberRequested worker quantity
referencestringRequisition reference
regionobject
Show child attributes
  • id string - Entity id
  • name string - Entity name
requestorobject
Show child attributes
  • name string - User name
  • email string - User email address
sectorobject
Show child attributes
  • id string - Entity id
  • name string - Entity name
siteobject
Show child attributes
  • id string - Entity id
  • name string - Entity name
stageTrackingarray[object]Optional. Returned only when includeStageTracking=true and the company has stage tracking enabled in company config. Agency-scoped keys only receive records for their scoped agency.
Show child attributes
  • worker object - Worker id and name
  • agency object - Agency id and name
  • submittedAt string - Worker submission timestamp
  • isRejected boolean - Whether the submitted worker was rejected
  • stage enum - Current stage (submitted, cvReviewed, interviewRequested, interviewed, offerMade, offerAccepted, offerRejected, assigned, missingCompliance)
  • stageLabel string - Human-readable current stage
  • history array[object] - Stage history entries (stage, stageLabel, at, byUserId, byName, comments)
startDatestringPlanned start date
statusenum(raised, approved, filled, cancelled, rejected)Derived requisition status
tradeobject
Show child attributes
  • id string - Entity id
  • name string - Entity name
updatedAtstringLast update timestamp

Each agencies[].submissions[] item can also include submittedBy and assignedBy objects with the responsible user's id and name. These fields are omitted when attribution is unavailable for a historical record.

Response Example (200)

{
"success": true,
"data": [
{
"id": "67bc36db80a1616ec3f48123",
"reference": "REQ-R1002",
"status": "cancelled",
"cancellation": {
"reason": "Project no longer proceeding",
"date": "2026-02-24T09:15:00.000Z",
"comments": "Client withdrew the requirement"
},
"quantity": 4,
"autoAssign": true,
"requestor": {
"name": "Riley Requestor",
"email": "riley.requestor@example.com"
},
"approver": {
"name": "Avery Approver",
"email": "avery.approver@example.com"
},
"approvalStages": [
{
"stage": 1,
"name": "Commercial approval",
"approved": true,
"approvedAt": "2026-02-10T10:00:00.000Z",
"approver": {
"name": "Avery Approver",
"email": "avery.approver@example.com"
}
},
{
"stage": 2,
"name": "Project approval",
"approved": false,
"approvedAt": null,
"approver": null
}
],
"company": {
"id": "67bc36db80a1616ec3f47001",
"name": "Requidex Construction Ltd"
},
"project": {
"id": "67bc36db80a1616ec3f47011",
"name": "Northern Rail Electrification"
},
"region": {
"id": "67bc36db80a1616ec3f47002",
"name": "North West"
},
"sector": {
"id": "67bc36db80a1616ec3f47003",
"name": "Rail"
},
"site": {
"id": "67bc36db80a1616ec3f47055",
"name": "Manchester Central"
},
"agencies": [
{
"id": "67bc36db80a1616ec3f47101",
"name": "Northline Labour Desk",
"offered": 1,
"assigned": 1,
"dateReceived": "2026-02-21T09:00:00.000Z",
"dateAccepted": "2026-02-21T10:00:00.000Z",
"submissions": [
{
"worker": {
"id": "67bc36db80a1616ec3f47201",
"name": "Jordan Taylor"
},
"submittedAt": "2026-02-21T11:00:00.000Z",
"isRejected": true,
"rejectionReason": "Required qualification not held",
"submittedBy": {
"id": "67bc36db80a1616ec3f47301",
"name": "Sam Recruiter"
},
"assignedBy": {
"id": "67bc36db80a1616ec3f47302",
"name": "Alex Manager"
}
}
]
},
{
"id": "67bc36db80a1616ec3f47102",
"name": "Summit Trades",
"offered": 2,
"assigned": 1,
"dateReceived": "2026-02-22T09:00:00.000Z",
"dateAccepted": "2026-02-22T10:00:00.000Z",
"submissions": [
{
"worker": {
"id": "67bc36db80a1616ec3f47202",
"name": "Alex Morgan"
},
"submittedAt": "2026-02-22T11:00:00.000Z",
"isRejected": false,
"rejectionReason": null
}
]
}
],
"trade": {
"id": "67bc36db80a1616ec3f47077",
"name": "Electrician"
},
"activity": {
"id": "67bc36db80a1616ec3f47099",
"name": "Install containment"
},
"startDate": "2026-03-01T00:00:00.000Z",
"endDate": "2026-03-31T23:59:59.999Z",
"createdAt": "2026-02-20T11:10:00.000Z",
"updatedAt": "2026-02-24T09:15:00.000Z"
}
],
"meta": {
"page": 1,
"limit": 50,
"total": 1
}
}

MCP Tool

The MCP server exposes this operation as open_api_list_requisitions with the inputs company, page, limit, status, project, site, costCode, trade, agency, query, dateField, from, to, sortBy, sortOrder, includeStageTracking, and fields.

Errors

HTTP StatusDescription
401Missing, invalid, revoked, or expired API key
403Forbidden due to scope or IP restrictions
405Method not allowed on Open API routes
429Rate limit exceeded
500Unexpected internal error

Submission answers

Each returned record includes submissionAnswers (an empty array when there are no applicable answers), unless omitted by list response fields selection. It contains only answers configured to display on this entity. Requisitions expose the saved submission answers, including amendments made while pending; assignments and timesheets expose the saved assignment snapshot.

Agency-scoped callers receive only answers belonging to agencies in their authenticated API key scope, even when another agency submitted the same worker. Query filters and fields selection cannot expand that scope. Company-scoped callers receive answers within their existing company and project access. Existing endpoint read scopes apply; this is read-only access.

Each answer includes:

FieldDescription
fieldId, label, fieldType, valueField identifier, captured question and type, and answer value (text, date string, selected option array, or null)
answerScopesubmission for a whole-submission answer or worker for a per-worker answer
submissionId, workerIdsSubmission batch identifier and the workers covered by the answer
agency, workerIdentifier and name objects; worker is null for whole-submission answers
displayLocationsConfigured display locations captured with the answer
submittedAt, submittedByOriginal submission timestamp and submitter identifier/name
updatedAt, updatedByLatest amendment timestamp and editor identifier/name, or null