Canonical Queues API

The Queues API from Canonical — 3 operation(s) for queues.

Operations 3

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/queues/wait_times Get queue wait times · Get wait time metrics - optionally take a list of queues #
Ask an LLM
“How long do jobs typically wait before they start on each queue?”
“Which queue has the shortest wait right now?”
Tell an agent
Show wait time metrics for all queues.
Get the job wait time statistics per queue.
GET /v1/queues/{queue_name}/jobs List jobs in a queue · Get the jobs in a specified queue along with its state #
Ask an LLM
“Which jobs are sitting in a particular queue and what state are they in?”
“Is a given queue backed up with waiting jobs?”
Tell an agent
List the jobs in queue {queue_name}.
Show the state of every job on queue {queue_name}.
GET /v1/queues/{queue_name}/agents List agents serving a queue · Get the list of all data for agents listening to a specified queue #
Ask an LLM
“Which agents are listening on a particular queue?”
“Are any devices online to run jobs from a given queue?”
Tell an agent
List the agents listening to queue {queue_name}.
Show data for all agents serving queue {queue_name}.

Documentation

Specifications

Other Resources

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/canonical:canonical-queues-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

canonical-queues-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Testflinger Queues API
  version: 1.0.0
servers:
- url: https://testflinger.ps7.canonical.com/
tags:
- name: Queues
paths:
  /v1/queues/wait_times:
    get:
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful response
      tags:
      - Queues
      summary: Get wait time metrics - optionally take a list of queues
      operationId: getV1QueuesWaitTimes
      x-operation-id-source: derived
  /v1/queues/{queue_name}/jobs:
    get:
      parameters:
      - in: path
        name: queue_name
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPError'
          description: Not found
      tags:
      - Queues
      summary: Get the jobs in a specified queue along with its state
      description: ':param queue_name

        String with the queue name where to perform the query.

        :return:

        JSON data with the jobs allocated to the specified queue.'
      operationId: getV1QueuesByQueueNameJobs
      x-operation-id-source: derived
  /v1/queues/{queue_name}/agents:
    get:
      parameters:
      - in: path
        name: queue_name
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentOut'
          description: Successful response
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPError'
          description: Not found
      tags:
      - Queues
      summary: Get the list of all data for agents listening to a specified queue
      operationId: getV1QueuesByQueueNameAgents
      x-operation-id-source: derived
components:
  schemas:
    AgentJob:
      type: object
      properties:
        job_id:
          type: string
        submitted_by:
          type:
          - string
          - 'null'
          default: null
        created_at:
          type: string
          format: date-time
        started_at:
          type: string
          format: date-time
        job_queue:
          type: string
        job_state:
          type: string
        job_priority:
          type: integer
        tags:
          type: array
          items:
            type: string
      required:
      - job_id
      additionalProperties: false
    HTTPError:
      properties:
        detail:
          type: object
        message:
          type: string
      type: object
    AgentOut:
      type: object
      properties:
        name:
          type: string
        job_id:
          type: string
        state:
          type: string
        queues:
          type: array
          items:
            type: string
        location:
          type: string
        provision_type:
          type: string
        comment:
          type: string
        restricted_to:
          type: object
          additionalProperties: {}
        job:
          anyOf:
          - type:
            - object
            - 'null'
          - $ref: '#/components/schemas/AgentJob'
      required:
      - name
      additionalProperties: false