Fivexer Admin API

The admin API from Fivexer — 17 operation(s) for admin.

Operations 21

GET /admin/audit-events Access log across workspaces #
GET /admin/statutory-figures List statutory figures, proposals and alerts #
POST /admin/statutory-figures Propose a statutory figure by hand #
POST /admin/statutory-figures/{id}/publish Publish a statutory figure #
POST /admin/statutory-figures/{id}/reject Reject a proposed statutory figure #
POST /admin/statutory-figures/alerts/dismiss Dismiss a paid-with-superseded-figure alert #
POST /admin/organizations Create an organization #
GET /admin/organizations/{id}/workspaces List org workspaces #
POST /admin/workspaces Provision a workspace + first key #
GET /admin/workspaces List every workspace (+ optional current-month usage and sign-up activation) #
GET /admin/workspaces/{id} Workspace + current-month usage #
PATCH /admin/workspaces/{id} Update plan/webhook/overrides/BYO data plane #
POST /admin/workspaces/{id}/suspend Withdraw a workspace from the data plane #
POST /admin/workspaces/{id}/resume Restore a suspended workspace #
POST /admin/workspaces/{id}/api-keys Issue an API key (shown once) #
GET /admin/workspaces/{id}/api-keys Key metadata (never secrets) #
DELETE /admin/api-keys/{id} Revoke an API key #
POST /admin/usage/sync Snapshot Redis meters into usage_periods (optionally for an explicit period) #
POST /admin/workspaces/{id}/usage/reset Reset the running month's usage meter for a workspace (operator goodwill) #
GET /admin/workspaces/{id}/usage Monthly usage for a workspace, newest first (current month is live) #
POST /admin/workspaces/reproject Re-project every active workspace descriptor (descriptor-shape migrations) #

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-admin-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-admin-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fivexer Platform Admin 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: Admin
paths:
  /admin/audit-events:
    get:
      summary: Access log across workspaces
      tags:
      - Admin
      parameters:
      - schema:
          type: string
          maxLength: 128
        in: query
        name: action
        required: false
      - schema:
          type: string
          maxLength: 128
        in: query
        name: actorId
        required: false
      - schema:
          type: string
          enum:
          - success
          - failure
          - denied
        in: query
        name: outcome
        required: false
      - schema:
          type: string
          enum:
          - '0'
          - '1'
        in: query
        name: contentAccess
        required: false
      - schema:
          type: string
          maxLength: 64
        in: query
        name: from
        required: false
        description: ISO 8601 timestamp
      - schema:
          type: string
          maxLength: 64
        in: query
        name: to
        required: false
        description: ISO 8601 timestamp
      - schema:
          type: integer
          minimum: 1
          maximum: 200
        in: query
        name: limit
        required: false
      - schema:
          type: string
          maxLength: 256
        in: query
        name: cursor
        required: false
      - schema:
          type: string
          maxLength: 64
        in: query
        name: workspaceId
        required: false
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: getAdminAuditEvents
      x-operation-id-source: derived
  /admin/statutory-figures:
    get:
      summary: List statutory figures, proposals and alerts
      tags:
      - Admin
      description: 'Proposals waiting for an operator, the figures in force per pack, the published history, and the alerts: a figure ending within 60 days with nothing published after it, and a source the watcher could not read. `asOf` reads the alerts as on another day.'
      parameters:
      - schema:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        in: query
        name: asOf
        required: false
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: getAdminStatutoryFigures
      x-operation-id-source: derived
    post:
      summary: Propose a statutory figure by hand
      tags:
      - Admin
      description: For a figure the watcher cannot read. It waits for Publish like a watcher proposal. Only a pack, field and currency the packs already state are taken.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - packId
              - field
              - amount
              - fromDate
              - sourceUrl
              - sourceSection
              - actorLabel
              properties:
                packId:
                  type: string
                  minLength: 1
                  maxLength: 64
                field:
                  type: string
                  minLength: 1
                  maxLength: 128
                amount:
                  type: integer
                  minimum: 0
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                fromDate:
                  type: string
                  pattern: ^\d{4}-\d{2}-\d{2}$
                untilDate:
                  type:
                  - string
                  - 'null'
                  pattern: ^\d{4}-\d{2}-\d{2}$
                sourceUrl:
                  type: string
                  minLength: 8
                  maxLength: 2048
                  pattern: ^https://
                sourceSection:
                  type: string
                  minLength: 1
                  maxLength: 1000
                note:
                  type:
                  - string
                  - 'null'
                  maxLength: 1000
                actorLabel:
                  type: string
                  minLength: 1
                  maxLength: 254
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: postAdminStatutoryFigures
      x-operation-id-source: derived
  /admin/statutory-figures/{id}/publish:
    post:
      summary: Publish a statutory figure
      tags:
      - Admin
      description: 'Makes a proposal live for every workspace on its pack, retiring any figure published for the same day, and bumps the feed version so every replica reads it at once. Owed held sick pay is paid with it by the next close. Days already paid are never re-priced: when this figure changes any, a `paid_with_superseded_figure` alert lists them.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - actorLabel
              properties:
                actorLabel:
                  type: string
                  minLength: 1
                  maxLength: 254
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: postAdminStatutoryFiguresByIdPublish
      x-operation-id-source: derived
  /admin/statutory-figures/{id}/reject:
    post:
      summary: Reject a proposed statutory figure
      tags:
      - Admin
      description: The watcher never proposes that amount for that day again.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - actorLabel
              properties:
                actorLabel:
                  type: string
                  minLength: 1
                  maxLength: 254
                note:
                  type:
                  - string
                  - 'null'
                  maxLength: 1000
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: postAdminStatutoryFiguresByIdReject
      x-operation-id-source: derived
  /admin/statutory-figures/alerts/dismiss:
    post:
      summary: Dismiss a paid-with-superseded-figure alert
      tags:
      - Admin
      description: Once ops has settled by hand the days a publish changed after they were paid. Only `paid_with_superseded_figure` alerts are dismissed; every other alert clears itself.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - sourceId
              - actorLabel
              properties:
                sourceId:
                  type: string
                  minLength: 1
                  maxLength: 300
                actorLabel:
                  type: string
                  minLength: 1
                  maxLength: 254
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: postAdminStatutoryFiguresAlertsDismiss
      x-operation-id-source: derived
  /admin/organizations:
    post:
      summary: Create an organization
      tags:
      - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - name
              - email
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 128
                email:
                  type: string
                  minLength: 3
                  maxLength: 254
                  pattern: ^\S+@\S+\.\S+$
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: postAdminOrganizations
      x-operation-id-source: derived
  /admin/organizations/{id}/workspaces:
    get:
      summary: List org workspaces
      tags:
      - Admin
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: getAdminOrganizationsByIdWorkspaces
      x-operation-id-source: derived
  /admin/workspaces:
    post:
      summary: Provision a workspace + first key
      tags:
      - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - organizationId
              - name
              - plan
              properties:
                organizationId:
                  type: string
                  maxLength: 64
                name:
                  type: string
                  minLength: 1
                  maxLength: 128
                plan:
                  type: string
                  enum:
                  - free
                  - payg
                  - pro
                  - scale
                  - enterprise
                region:
                  type: string
                  minLength: 1
                  maxLength: 64
                env:
                  type: string
                  enum:
                  - test
                  - live
                webhook:
                  type: object
                  additionalProperties: false
                  required:
                  - url
                  - secret
                  properties:
                    url:
                      type: string
                      maxLength: 2048
                    secret:
                      type: string
                      minLength: 16
                      maxLength: 256
                limitOverrides:
                  type: object
                  additionalProperties: false
                  properties:
                    maxWorkers:
                      type: number
                      minimum: 1
                    includedWorkers:
                      type: number
                      minimum: 0
                    maxQueuedTasks:
                      type: number
                      minimum: 1
                    taskRatePerMin:
                      type: number
                      minimum: 1
                    includedTasksPerMonth:
                      type: number
                      minimum: 0
                    maxTaskDataBytes:
                      type: number
                      minimum: 0
                    maxTaskReferences:
                      type: number
                      minimum: 0
                    maxTaskAttachments:
                      type: number
                      minimum: 0
                    maxAttachmentBytes:
                      type: number
                      minimum: 0
                    maxTaskComments:
                      type: number
                      minimum: 0
                    maxStudioSessions:
                      type: number
                      minimum: 1
                featureOverrides:
                  type: object
                  additionalProperties: false
                  properties:
                    ai:
                      type: boolean
                    traceRetentionDays:
                      type: number
                      minimum: 1
                    pauseMatchingOverQuota:
                      type: boolean
                    workerPortal:
                      type: boolean
                    aiUiBuilder:
                      type: boolean
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: postAdminWorkspaces
      x-operation-id-source: derived
    get:
      summary: List every workspace (+ optional current-month usage and sign-up activation)
      tags:
      - Admin
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: getAdminWorkspaces
      x-operation-id-source: derived
  /admin/workspaces/{id}:
    get:
      summary: Workspace + current-month usage
      tags:
      - Admin
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: getAdminWorkspacesById
      x-operation-id-source: derived
    patch:
      summary: Update plan/webhook/overrides/BYO data plane
      tags:
      - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              minProperties: 1
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 128
                plan:
                  type: string
                  enum:
                  - free
                  - payg
                  - pro
                  - scale
                  - enterprise
                region:
                  type: string
                  minLength: 1
                  maxLength: 64
                webhook:
                  oneOf:
                  - type: object
                    additionalProperties: false
                    required:
                    - url
                    - secret
                    properties:
                      url:
                        type: string
                        maxLength: 2048
                      secret:
                        type: string
                        minLength: 16
                        maxLength: 256
                  - type: 'null'
                learning:
                  oneOf:
                  - type: object
                    additionalProperties: false
                    required:
                    - enabled
                    - shadowMode
                    - autoWeights
                    properties:
                      enabled:
                        type: boolean
                      shadowMode:
                        type: boolean
                      autoWeights:
                        type: boolean
                      signalWeights:
                        type: object
                        additionalProperties:
                          type: number
                      rewards:
                        type: object
                        additionalProperties: false
                        properties:
                          accept:
                            type: number
                          complete:
                            type: number
                          reject:
                            type: number
                          expire:
                            type: number
                          fail:
                            type: number
                  - type: 'null'
                limitOverrides:
                  oneOf:
                  - type: object
                    additionalProperties: false
                    properties:
                      maxWorkers:
                        type: number
                        minimum: 1
                      includedWorkers:
                        type: number
                        minimum: 0
                      maxQueuedTasks:
                        type: number
                        minimum: 1
                      taskRatePerMin:
                        type: number
                        minimum: 1
                      includedTasksPerMonth:
                        type: number
                        minimum: 0
                      maxTaskDataBytes:
                        type: number
                        minimum: 0
                      maxTaskReferences:
                        type: number
                        minimum: 0
                      maxTaskAttachments:
                        type: number
                        minimum: 0
                      maxAttachmentBytes:
                        type: number
                        minimum: 0
                      maxTaskComments:
                        type: number
                        minimum: 0
                      maxStudioSessions:
                        type: number
                        minimum: 1
                  - type: 'null'
                featureOverrides:
                  oneOf:
                  - type: object
                    additionalProperties: false
                    properties:
                      ai:
                        type: boolean
                      traceRetentionDays:
                        type: number
                        minimum: 1
                      pauseMatchingOverQuota:
                        type: boolean
                      workerPortal:
                        type: boolean
                      aiUiBuilder:
                        type: boolean
                  - type: 'null'
                dataPlaneRedisUrl:
                  oneOf:
                  - type: string
                    minLength: 8
                    maxLength: 2048
                  - type: 'null'
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: patchAdminWorkspacesById
      x-operation-id-source: derived
  /admin/workspaces/{id}/suspend:
    post:
      summary: Withdraw a workspace from the data plane
      tags:
      - Admin
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: postAdminWorkspacesByIdSuspend
      x-operation-id-source: derived
  /admin/workspaces/{id}/resume:
    post:
      summary: Restore a suspended workspace
      tags:
      - Admin
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: postAdminWorkspacesByIdResume
      x-operation-id-source: derived
  /admin/workspaces/{id}/api-keys:
    post:
      summary: Issue an API key (shown once)
      tags:
      - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                env:
                  type: string
                  enum:
                  - test
                  - live
                name:
                  type: string
                  minLength: 1
                  maxLength: 128
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: postAdminWorkspacesByIdApiKeys
      x-operation-id-source: derived
    get:
      summary: Key metadata (never secrets)
      tags:
      - Admin
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: getAdminWorkspacesByIdApiKeys
      x-operation-id-source: derived
  /admin/api-keys/{id}:
    delete:
      summary: Revoke an API key
      tags:
      - Admin
      security:
      - adminToken: []
      parameters:
      - schema:
          type: string
        in: path
        name: id
        required: true
      responses:
        '200':
          description: Default Response
      operationId: deleteAdminApiKeysById
      x-operation-id-source: derived
  /admin/usage/sync:
    post:
      summary: Snapshot Redis meters into usage_periods (optionally for an explicit period)
      tags:
      - Admin
      parameters:
      - schema:
          type: string
          pattern: ^[0-9]{6}$
        in: query
        name: period
        required: false
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: postAdminUsageSync
      x-operation-id-source: derived
  /admin/workspaces/{id}/usage/reset:
    post:
      summary: Reset the running month's usage meter for a workspace (operator goodwill)
      tags:
      - Admin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - reason
              properties:
                reason:
                  type: string
                  minLength: 10
                  maxLength: 500
                actorLabel:
                  type: string
                  maxLength: 200
                force:
                  type: boolean
      parameters:
      - schema:
          type: string
          pattern: ^[0-9]{6}$
        in: query
        name: period
        required: false
      - schema:
          type: string
        in: path
        name: id
        required: true
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: postAdminWorkspacesByIdUsageReset
      x-operation-id-source: derived
  /admin/workspaces/{id}/usage:
    get:
      summary: Monthly usage for a workspace, newest first (current month is live)
      tags:
      - Admin
      parameters:
      - schema:
          type: integer
          minimum: 1
          maximum: 36
        in: query
        name: months
        required: false
      - schema:
          type: integer
          minimum: 1
          maximum: 92
        in: query
        name: days
        required: false
      - schema:
          type: string
        in: path
        name: id
        required: true
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: getAdminWorkspacesByIdUsage
      x-operation-id-source: derived
  /admin/workspaces/reproject:
    post:
      summary: Re-project every active workspace descriptor (descriptor-shape migrations)
      tags:
      - Admin
      security:
      - adminToken: []
      responses:
        '200':
          description: Default Response
      operationId: postAdminWorkspacesReproject
      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