Fivexer Stats API

The stats API from Fivexer — 23 operation(s) for stats.

Operations 23

GET /v1/stats Live workspace snapshot: counts, wait age, per-worker load, meter #
GET /v1/stats/live Live-ops overview: the queue by lane (routing tag), wait distribution, flow in… #
GET /v1/stats/live/lanes/{tag} One lane (routing tag): its oldest queued tasks, oldest first, and everyone who… #
GET /v1/stats/sla SLA attainment counters for tasks carrying an sla policy #
GET /v1/stats/queue-audit Why queued tasks are waiting, plus whether the deadline sweeps are keeping up #
GET /v1/stats/timeseries Historical task stats bucketed by hour or day #
GET /v1/stats/workers Per-worker historical productivity over a window #
GET /v1/stats/workers/{workerId}/timeseries One worker’s historical stats bucketed by hour or day, with worked/break time… #
GET /v1/team/presence Workspace team presence: each worker is working, on break, or paused. #
GET /v1/breaks/metrics Per-worker break totals for a window (defaults to today). #
GET /v1/team/time The team's shift, break and worked time for a window. Requires the control plane #
GET /v1/team/time/payroll/export The period as a vendor-shaped CSV #
GET /v1/team/time/payroll Recorded hours priced by the pay brackets, set against the published rota #
GET /v1/team/time/closures Pay periods that have been closed, and any that were reopened #
GET /v1/team/time/payroll/analysis What payroll has cost, from the ledger of closed periods #
GET /v1/team/time/closures/{closureId}/statutory The statutory figures a closed period was signed off on #
POST /v1/team/time/close Close a pay period, so its records can no longer be changed #
POST /v1/team/time/closures/{id}/reopen Reopen a closed pay period #
GET /v1/team/time/payroll/send-plan What a payroll system would be sent for this period, and anything in the way #
POST /v1/team/time/payroll/send Send a closed period's hours to the payroll system #
PUT /v1/team/time/payroll/pay-types Match each kind of hour to a payroll pay type, and choose review or automatic #
GET /v1/team/time/closures/covering The closed period covering a date, if any #
GET /v1/stats/automation Share of people-work agents took on, by skill, team, agent and week; agent time… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/5xer-com:5xer-com-stats-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

5xer-com-stats-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fivexer Platform Stats 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: Stats
paths:
  /v1/stats:
    get:
      summary: 'Live workspace snapshot: counts, wait age, per-worker load, meter'
      tags:
      - Stats
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1Stats
      x-operation-id-source: derived
  /v1/stats/live:
    get:
      summary: 'Live-ops overview: the queue by lane (routing tag), wait distribution, flow in…'
      tags:
      - Stats
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1StatsLive
      x-operation-id-source: derived
  /v1/stats/live/lanes/{tag}:
    get:
      summary: 'One lane (routing tag): its oldest queued tasks, oldest first, and everyone who…'
      tags:
      - Stats
      parameters:
      - schema:
          type: integer
          minimum: 1
          maximum: 50
        in: query
        name: limit
        required: false
      - schema:
          type: string
          minLength: 1
          maxLength: 128
        in: path
        name: tag
        required: true
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1StatsLiveLanesByTag
      x-operation-id-source: derived
  /v1/stats/sla:
    get:
      summary: SLA attainment counters for tasks carrying an sla policy
      tags:
      - Stats
      parameters:
      - schema:
          type: string
          maxLength: 128
        in: query
        name: tag
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1StatsSla
      x-operation-id-source: derived
  /v1/stats/queue-audit:
    get:
      summary: Why queued tasks are waiting, plus whether the deadline sweeps are keeping up
      tags:
      - Stats
      parameters:
      - schema:
          type: number
          minimum: 1
          maximum: 200
        in: query
        name: limit
        required: false
      - schema:
          type: number
          minimum: 0
        in: query
        name: minWaitingMs
        required: false
      - schema:
          type: boolean
        in: query
        name: includeHealthy
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1StatsQueueAudit
      x-operation-id-source: derived
  /v1/stats/timeseries:
    get:
      summary: Historical task stats bucketed by hour or day
      tags:
      - Stats
      parameters:
      - schema:
          type: string
        in: query
        name: from
        required: false
      - schema:
          type: string
        in: query
        name: to
        required: false
      - schema:
          type: string
          enum:
          - hour
          - day
        in: query
        name: bucket
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1StatsTimeseries
      x-operation-id-source: derived
  /v1/stats/workers:
    get:
      summary: Per-worker historical productivity over a window
      tags:
      - Stats
      parameters:
      - schema:
          type: string
        in: query
        name: from
        required: false
      - schema:
          type: string
        in: query
        name: to
        required: false
      - schema:
          type: string
          enum:
          - hour
          - day
        in: query
        name: bucket
        required: false
      - schema:
          type: string
          maxLength: 64
        in: query
        name: teamId
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1StatsWorkers
      x-operation-id-source: derived
  /v1/stats/workers/{workerId}/timeseries:
    get:
      summary: One worker’s historical stats bucketed by hour or day, with worked/break time…
      tags:
      - Stats
      parameters:
      - schema:
          type: string
        in: query
        name: from
        required: false
      - schema:
          type: string
        in: query
        name: to
        required: false
      - schema:
          type: string
          enum:
          - hour
          - day
        in: query
        name: bucket
        required: false
      - schema:
          type: string
        in: path
        name: workerId
        required: true
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1StatsWorkersByWorkerIdTimeseries
      x-operation-id-source: derived
  /v1/team/presence:
    get:
      summary: 'Workspace team presence: each worker is working, on break, or paused.'
      tags:
      - Stats
      parameters:
      - schema:
          type: string
          maxLength: 64
        in: query
        name: teamId
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamPresence
      x-operation-id-source: derived
  /v1/breaks/metrics:
    get:
      summary: Per-worker break totals for a window (defaults to today).
      tags:
      - Stats
      parameters:
      - schema:
          type: string
        in: query
        name: from
        required: false
      - schema:
          type: string
        in: query
        name: to
        required: false
      - schema:
          type: string
          maxLength: 64
        in: query
        name: teamId
        required: false
      - schema:
          type: string
          maxLength: 128
        in: query
        name: workerId
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1BreaksMetrics
      x-operation-id-source: derived
  /v1/team/time:
    get:
      summary: The team's shift, break and worked time for a window. Requires the control plane
      tags:
      - Stats
      parameters:
      - schema:
          type: string
        in: query
        name: from
        required: false
      - schema:
          type: string
        in: query
        name: to
        required: false
      - schema:
          type: string
          maxLength: 64
        in: query
        name: teamId
        required: false
      - schema:
          type: string
          maxLength: 128
        in: query
        name: workerId
        required: false
      - schema:
          type: boolean
          default: false
        in: query
        name: entries
        required: false
      - schema:
          type: string
          enum:
          - json
          - csv
        in: query
        name: format
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamTime
      x-operation-id-source: derived
  /v1/team/time/payroll/export:
    get:
      summary: The period as a vendor-shaped CSV
      tags:
      - Stats
      parameters:
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: from
        required: true
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: to
        required: true
      - schema:
          type: string
          maxLength: 64
        in: query
        name: profile
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamTimePayrollExport
      x-operation-id-source: derived
  /v1/team/time/payroll:
    get:
      summary: Recorded hours priced by the pay brackets, set against the published rota
      tags:
      - Stats
      parameters:
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: from
        required: true
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: to
        required: true
      - schema:
          type: string
          maxLength: 64
        in: query
        name: teamId
        required: false
      - schema:
          type: string
          maxLength: 128
        in: query
        name: workerId
        required: false
      - schema:
          type: string
          enum:
          - json
          - csv
        in: query
        name: format
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamTimePayroll
      x-operation-id-source: derived
  /v1/team/time/closures:
    get:
      summary: Pay periods that have been closed, and any that were reopened
      tags:
      - Stats
      parameters:
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: from
        required: false
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: to
        required: false
      - schema:
          type: boolean
          default: false
        in: query
        name: activeOnly
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamTimeClosures
      x-operation-id-source: derived
  /v1/team/time/payroll/analysis:
    get:
      summary: What payroll has cost, from the ledger of closed periods
      tags:
      - Stats
      parameters:
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: from
        required: false
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: to
        required: false
      - schema:
          type: string
          enum:
          - period
          - jurisdiction
          - worker
          - component
          - taxYear
          - currency
          default: period
        in: query
        name: groupBy
        required: false
      - schema:
          type: string
          maxLength: 128
        in: query
        name: workerId
        required: false
      - schema:
          type: string
          maxLength: 6
        in: query
        name: jurisdiction
        required: false
      - schema:
          type: string
          maxLength: 8
        in: query
        name: taxYearId
        required: false
      - schema:
          type: string
          enum:
          - gross
          - employee
          - employer
        in: query
        name: side
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamTimePayrollAnalysis
      x-operation-id-source: derived
  /v1/team/time/closures/{closureId}/statutory:
    get:
      summary: The statutory figures a closed period was signed off on
      tags:
      - Stats
      security:
      - apiKey: []
      parameters:
      - schema:
          type: string
        in: path
        name: closureId
        required: true
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamTimeClosuresByClosureIdStatutory
      x-operation-id-source: derived
  /v1/team/time/close:
    post:
      summary: Close a pay period, so its records can no longer be changed
      tags:
      - Stats
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - from
              - to
              properties:
                from:
                  type: string
                  pattern: ^\d{4}-\d{2}-\d{2}$
                to:
                  type: string
                  pattern: ^\d{4}-\d{2}-\d{2}$
                note:
                  type: string
                  maxLength: 500
                force:
                  type: boolean
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: postV1TeamTimeClose
      x-operation-id-source: derived
  /v1/team/time/closures/{id}/reopen:
    post:
      summary: Reopen a closed pay period
      tags:
      - Stats
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                note:
                  type: string
                  maxLength: 500
      security:
      - apiKey: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: postV1TeamTimeClosuresByIdReopen
      x-operation-id-source: derived
  /v1/team/time/payroll/send-plan:
    get:
      summary: What a payroll system would be sent for this period, and anything in the way
      tags:
      - Stats
      parameters:
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: from
        required: true
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: to
        required: true
      - schema:
          type: string
          maxLength: 8000
        in: query
        name: exclude
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamTimePayrollSendPlan
      x-operation-id-source: derived
  /v1/team/time/payroll/send:
    post:
      summary: Send a closed period's hours to the payroll system
      tags:
      - Stats
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - from
              - to
              properties:
                from:
                  type: string
                  pattern: ^\d{4}-\d{2}-\d{2}$
                to:
                  type: string
                  pattern: ^\d{4}-\d{2}-\d{2}$
                exclude:
                  type: array
                  items:
                    type: string
                    maxLength: 128
                  maxItems: 500
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: postV1TeamTimePayrollSend
      x-operation-id-source: derived
  /v1/team/time/payroll/pay-types:
    put:
      summary: Match each kind of hour to a payroll pay type, and choose review or automatic
      tags:
      - Stats
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                payTypes:
                  type: object
                  additionalProperties:
                    anyOf:
                    - type: object
                      additionalProperties: false
                      required:
                      - code
                      properties:
                        code:
                          type: string
                          minLength: 1
                          maxLength: 32
                        label:
                          type: string
                          maxLength: 120
                    - type: 'null'
                sendMode:
                  type: string
                  enum:
                  - review
                  - auto
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: putV1TeamTimePayrollPayTypes
      x-operation-id-source: derived
  /v1/team/time/closures/covering:
    get:
      summary: The closed period covering a date, if any
      tags:
      - Stats
      parameters:
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: date
        required: true
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1TeamTimeClosuresCovering
      x-operation-id-source: derived
  /v1/stats/automation:
    get:
      summary: Share of people-work agents took on, by skill, team, agent and week; agent time…
      tags:
      - Stats
      parameters:
      - schema:
          type: string
        in: query
        name: from
        required: false
      - schema:
          type: string
        in: query
        name: to
        required: false
      - schema:
          type: string
          maxLength: 128
        in: query
        name: workerId
        required: false
      security:
      - apiKey: []
      responses:
        '200':
          description: Default Response
      operationId: getV1StatsAutomation
      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