Fivexer Workers API
The workers API from Fivexer — 21 operation(s) for workers.
The workers API from Fivexer — 21 operation(s) for workers.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/5xer-com:5xer-com-workers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fivexer Platform Workers API
description: 'Routing-as-a-service: create workers and tasks, the platform matches continuously. `/v1` authenticates with a workspace API key (`Authorization: Bearer sk_...`); `/console` with a session token from `/auth`; `/admin` with the operator token.'
version: 0.1.0
servers:
- url: https://5xer.com
description: This deployment
tags:
- name: Workers
paths:
/portal/photos/{file}:
get:
summary: A worker profile photo (no authentication; the URL is the credential)
tags:
- Workers
parameters:
- schema:
type: string
pattern: ^wph_[A-Za-z0-9_-]{12}\.jpg$
in: path
name: file
required: true
security: []
responses:
'200':
description: Default Response
operationId: getPortalPhotosByFile
x-operation-id-source: derived
/v1/workers/approvals:
get:
summary: People waiting for approval to join, oldest first
tags:
- Workers
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1WorkersApprovals
x-operation-id-source: derived
post:
summary: Approve or reject people waiting to join, many at once
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- workerIds
- decision
properties:
workerIds:
type: array
minItems: 1
maxItems: 200
uniqueItems: true
items:
type: string
minLength: 1
maxLength: 128
decision:
type: string
enum:
- approve
- reject
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: postV1WorkersApprovals
x-operation-id-source: derived
/v1/workers:
post:
summary: Create or update a worker
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
id:
type: string
maxLength: 128
tags:
type: array
items:
type: string
minLength: 1
maxLength: 64
maxItems: 64
routingWeights:
type: object
additionalProperties:
type: number
minimum: 0
maxProperties: 128
skills:
type: array
maxItems: 128
items:
type: object
additionalProperties: false
required:
- skillId
- level
properties:
skillId:
type: string
maxLength: 64
level:
type: number
minimum: 1
maximum: 5
weightOverride:
type: number
minimum: 0
maximum: 100
validFrom:
type:
- string
- 'null'
pattern: ^\d{4}-\d{2}-\d{2}$
validUntil:
type:
- string
- 'null'
pattern: ^\d{4}-\d{2}-\d{2}$
teamIds:
type: array
items:
type: string
maxLength: 64
maxItems: 32
ip:
type: string
maxLength: 45
latitude:
type: number
minimum: -90
maximum: 90
longitude:
type: number
minimum: -180
maximum: 180
maxTravelDistanceKm:
type: number
minimum: 0
maxBacklogSize:
type: number
minimum: 0
available:
type: boolean
locale:
type:
- string
- 'null'
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: postV1Workers
x-operation-id-source: derived
get:
summary: List worker ids
tags:
- Workers
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1Workers
x-operation-id-source: derived
/v1/workers/{id}:
get:
summary: 'Worker detail: routing profile, availability, load'
tags:
- Workers
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: getV1WorkersById
x-operation-id-source: derived
patch:
summary: Update a worker in place (partial)
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
tags:
type: array
items:
type: string
minLength: 1
maxLength: 64
maxItems: 64
routingWeights:
type: object
additionalProperties:
type: number
minimum: 0
maxProperties: 128
skills:
type: array
maxItems: 128
items:
type: object
additionalProperties: false
required:
- skillId
- level
properties:
skillId:
type: string
maxLength: 64
level:
type: number
minimum: 1
maximum: 5
weightOverride:
type: number
minimum: 0
maximum: 100
validFrom:
type:
- string
- 'null'
pattern: ^\d{4}-\d{2}-\d{2}$
validUntil:
type:
- string
- 'null'
pattern: ^\d{4}-\d{2}-\d{2}$
teamIds:
type: array
items:
type: string
maxLength: 64
maxItems: 32
ip:
type: string
maxLength: 45
latitude:
type: number
minimum: -90
maximum: 90
longitude:
type: number
minimum: -180
maximum: 180
maxTravelDistanceKm:
type: number
minimum: 0
maxBacklogSize:
type: number
minimum: 0
available:
type: boolean
locale:
type:
- string
- 'null'
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: patchV1WorkersById
x-operation-id-source: derived
delete:
summary: Remove (offboard) a worker
tags:
- Workers
parameters:
- schema:
type: string
pattern: ^\d{4}-\d{2}-\d{2}$
in: query
name: lastDay
required: false
- schema:
type: string
in: path
name: id
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: deleteV1WorkersById
x-operation-id-source: derived
/v1/workers/{id}/availability:
post:
summary: Pause or resume a worker (backlog preserved unless releaseBacklog)
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- available
properties:
available:
type: boolean
releaseBacklog:
type: boolean
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: postV1WorkersByIdAvailability
x-operation-id-source: derived
/v1/workers/{id}/queue:
get:
summary: A worker's current task queue
tags:
- Workers
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: getV1WorkersByIdQueue
x-operation-id-source: derived
/v1/workers/{id}/metrics:
get:
summary: Worked time, breaks and throughput for one worker
tags:
- Workers
parameters:
- schema:
type: string
default: 7d
in: query
name: window
required: false
- schema:
type: string
in: path
name: id
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1WorkersByIdMetrics
x-operation-id-source: derived
/v1/workers/{id}/task-time:
get:
summary: What one worker spent time on, measured from task transitions
tags:
- Workers
parameters:
- schema:
type: string
in: query
name: from
required: false
- schema:
type: string
in: query
name: to
required: false
- schema:
type: string
in: path
name: id
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1WorkersByIdTaskTime
x-operation-id-source: derived
/v1/workers/{id}/time/day:
get:
summary: One worker's day as a timeline
tags:
- Workers
parameters:
- schema:
type: string
pattern: ^\d{4}-\d{2}-\d{2}$
in: query
name: date
required: false
- schema:
type: string
in: path
name: id
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1WorkersByIdTimeDay
x-operation-id-source: derived
/v1/workers/{id}/time-entries:
get:
summary: The shift and break log for one worker over a window
tags:
- Workers
parameters:
- schema:
type: string
in: query
name: from
required: false
- schema:
type: string
in: query
name: to
required: false
- schema:
type: string
enum:
- json
- csv
in: query
name: format
required: false
- schema:
type: string
in: path
name: id
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1WorkersByIdTimeEntries
x-operation-id-source: derived
post:
summary: Record a shift that was worked but never logged
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- startedAt
- endedAt
- note
properties:
startedAt:
type: string
format: date-time
endedAt:
type: string
format: date-time
note:
type: string
minLength: 3
maxLength: 500
breaks:
type: array
maxItems: 24
items:
type: object
additionalProperties: false
required:
- startedAt
- endedAt
properties:
startedAt:
type: string
format: date-time
endedAt:
type: string
format: date-time
description:
type:
- string
- 'null'
maxLength: 1000
taskId:
type:
- string
- 'null'
maxLength: 200
roles:
type: array
maxItems: 50
items:
type: object
additionalProperties: false
required:
- positionId
- startedAt
- endedAt
properties:
positionId:
type:
- string
- 'null'
maxLength: 64
startedAt:
type: string
format: date-time
endedAt:
type:
- string
- 'null'
format: date-time
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: postV1WorkersByIdTimeEntries
x-operation-id-source: derived
/v1/workers/{id}/time-entries/{entryId}:
patch:
summary: Correct one recorded shift or break, keeping what it said before
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- note
properties:
startedAt:
type: string
format: date-time
endedAt:
type:
- string
- 'null'
format: date-time
note:
type: string
minLength: 3
maxLength: 500
type:
type: string
enum:
- shift
- break
breaks:
type: array
maxItems: 24
items:
type: object
additionalProperties: false
required:
- startedAt
- endedAt
properties:
id:
type: string
maxLength: 64
startedAt:
type: string
format: date-time
endedAt:
type:
- string
- 'null'
format: date-time
description:
type:
- string
- 'null'
maxLength: 1000
taskId:
type:
- string
- 'null'
maxLength: 200
roles:
type: array
maxItems: 50
items:
type: object
additionalProperties: false
required:
- positionId
- startedAt
- endedAt
properties:
positionId:
type:
- string
- 'null'
maxLength: 64
startedAt:
type: string
format: date-time
endedAt:
type:
- string
- 'null'
format: date-time
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
- schema:
type: string
in: path
name: entryId
required: true
responses:
'200':
description: Default Response
operationId: patchV1WorkersByIdTimeEntriesByEntryId
x-operation-id-source: derived
/v1/workers/{id}/time-entries/{entryId}/metadata:
patch:
summary: Add a description or task link to a recorded shift or break
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- type
properties:
type:
type: string
enum:
- shift
- break
description:
type:
- string
- 'null'
maxLength: 1000
taskId:
type:
- string
- 'null'
maxLength: 200
anyOf:
- required:
- description
- required:
- taskId
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
- schema:
type: string
in: path
name: entryId
required: true
responses:
'200':
description: Default Response
operationId: patchV1WorkersByIdTimeEntriesByEntryIdMetadata
x-operation-id-source: derived
/v1/workers/{id}/time-entries/{entryId}/roles:
put:
summary: State the roles a recorded shift was worked in
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- roles
- note
properties:
roles:
type: array
maxItems: 50
items:
type: object
additionalProperties: false
required:
- positionId
- startedAt
- endedAt
properties:
positionId:
type:
- string
- 'null'
maxLength: 64
startedAt:
type: string
format: date-time
endedAt:
type:
- string
- 'null'
format: date-time
note:
type: string
minLength: 3
maxLength: 500
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
- schema:
type: string
in: path
name: entryId
required: true
responses:
'200':
description: Default Response
operationId: putV1WorkersByIdTimeEntriesByEntryIdRoles
x-operation-id-source: derived
/v1/workers/{id}/role:
post:
summary: Change the role a worker on shift is doing
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- positionId
properties:
positionId:
type:
- string
- 'null'
maxLength: 64
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: postV1WorkersByIdRole
x-operation-id-source: derived
/v1/workers/{id}/time-corrections:
get:
summary: Changes made to one worker's time records
tags:
- Workers
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: getV1WorkersByIdTimeCorrections
x-operation-id-source: derived
/v1/workers/{id}/offboarding:
get:
summary: Preview what removing a worker hands back and frees
tags:
- Workers
parameters:
- schema:
type: string
pattern: ^\d{4}-\d{2}-\d{2}$
in: query
name: lastDay
required: false
- schema:
type: string
in: path
name: id
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1WorkersByIdOffboarding
x-operation-id-source: derived
/v1/workers/links:
get:
summary: List worker ↔ connector user links
tags:
- Workers
parameters:
- schema:
type: string
pattern: ^[a-z0-9][a-z0-9-]{0,63}$
in: query
name: connector
required: false
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1WorkersLinks
x-operation-id-source: derived
/v1/workers/{id}/links/{connector}:
put:
summary: Link a worker to their user in a connected system
tags:
- Workers
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- vendorUserId
properties:
vendorUserId:
type: string
minLength: 1
maxLength: 256
tags:
type: array
items:
type: string
minLength: 1
maxLength: 64
maxItems: 64
parameters:
- schema:
type: string
maxLength: 128
in: path
name: id
required: true
- schema:
type: string
pattern: ^[a-z0-9][a-z0-9-]{0,63}$
in: path
name: connector
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: putV1WorkersByIdLinksByConnector
x-operation-id-source: derived
delete:
summary: Remove a worker’s link to a connected system
tags:
- Workers
parameters:
- schema:
type: string
maxLength: 128
in: path
name: id
required: true
- schema:
type: string
pattern: ^[a-z0-9][a-z0-9-]{0,63}$
in: path
name: connector
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: deleteV1WorkersByIdLinksByConnector
x-operation-id-source: derived
/v1/workers/{id}/photo:
delete:
summary: Remove a worker’s profile photo
tags:
- Workers
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: deleteV1WorkersByIdPhoto
x-operation-id-source: derived
/v1/workers/leave-settlements:
get:
summary: List removed workers whose leave is not yet settled
tags:
- Workers
security:
- apiKey: []
responses:
'200':
description: Default Response
operationId: getV1WorkersLeaveSettlements
x-operation-id-source: derived
/v1/workers/{id}/settle-leave:
post:
summary: Settle a removed worker’s leave
tags:
- Workers
security:
- apiKey: []
parameters:
- schema:
type: string
in: path
name: id
required: true
responses:
'200':
description: Default Response
operationId: postV1WorkersByIdSettleLeave
x-operation-id-source: derived
components:
securitySchemes:
apiKey:
type: http
scheme: bearer
description: Workspace API key (sk_test_/sk_live_)
session:
type: http
scheme: bearer
description: Console session token (st_...)
adminToken:
type: http
scheme: bearer
description: Operator ADMIN_TOKEN
workerToken:
type: http
scheme: bearer
description: Worker session token (wt_...)
supervisorToken:
type: http
scheme: bearer
description: Supervisor session token (sv_...), scoped to one workspace and optionally one team