Canonical Test Executions API

The test-executions API from Canonical — 10 operation(s) for test-executions.

Operations 16

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

PUT /v1/test-executions/end-test Finish a test execution and submit its results · End Test Execution #
Ask an LLM
“How do I close out a test run and report its results to Test Observer?”
“Can I attach the CI job link when marking a test execution as ended?”
Tell an agent
End the test execution for CI job {ci_link} and submit results {test_results}.
Mark the run at {ci_link} finished with results {test_results} and C3 link {c3_link}.
GET /v1/test-executions/{id}/test-results Get the test results of a test execution · Get Test Results #
Ask an LLM
“Which individual test cases passed or failed in a given test execution?”
“Can I pull all results recorded for one test run?”
Tell an agent
Show the test results for test execution {id}.
List every test case outcome recorded under execution {id}.
POST /v1/test-executions/{id}/test-results Add test results to a test execution · Post Results #
Ask an LLM
“How do I upload test case results to a test execution that is still running?”
“Can I post results to a run before ending it?”
Tell an agent
Post these test results to test execution {id}.
Upload a batch of test case outcomes to execution {id}.
POST /v1/test-executions/{id}/links Attach a labelled link to a test execution · Post Link #
Ask an LLM
“How do I add a link, like a log or dashboard URL, to a test execution?”
“Can each link on a test run carry its own label?”
Tell an agent
Add link {url} labelled {label} to test execution {id}.
Attach the logs at {url} to execution {id} as {label}.
POST /v1/test-executions/reruns Request reruns of test executions · Create Rerun Requests #
Ask an LLM
“How do I ask for failed test executions to be run again?”
“Can I request reruns quietly, without notifying anyone, and set a priority?”
Tell an agent
Request a rerun of test executions {test_execution_ids}.
Queue reruns for executions {test_execution_ids} at priority {priority}, silently.
GET /v1/test-executions/reruns List pending test execution rerun requests · Get Rerun Requests #
Ask an LLM
“Which test executions have been asked to run again?”
“Can I see rerun requests only for a given environment or architecture?”
Tell an agent
List rerun requests for the {family} family.
Show pending reruns on environment {environment} for architecture {environment_architecture}.
DELETE /v1/test-executions/reruns Cancel rerun requests for test executions · Delete Rerun Requests #
Ask an LLM
“How do I withdraw a rerun I requested by mistake?”
“Can I cancel reruns in bulk using result filters?”
Tell an agent destructive · confirm first
Cancel the rerun requests for executions {test_execution_ids}.
Delete rerun requests matching execution filters {test_executions_filters}.
GET /v1/test-executions/reruns/details Get detailed rerun requests for a family · Get Rerun Details #
Ask an LLM
“What detail is available on reruns requested for a snap or deb family?”
“Can I page through rerun details filtered by priority?”
Tell an agent
Show detailed rerun requests for family {family}.
Get rerun details for {family} at priority {priority}, {limit} per page.
GET /v1/test-executions/{id} Get a test execution · Get Test Execution #
Ask an LLM
“What is the status and CI link of a particular test execution?”
“Can I retrieve one test run's details by its id?”
Tell an agent
Show test execution {id}.
Get the status, environment and links of run {id}.
PATCH /v1/test-executions/{id} Update a test execution's status or links · Patch Test Execution #
Ask an LLM
“How do I change the status of a test execution after it started?”
“Can I update the CI or C3 link on an existing test run?”
Tell an agent
Set the status of test execution {id} to {status}.
Update execution {id} with CI link {ci_link} and C3 link {c3_link}.
GET /v1/test-executions Search test executions with filters · Search Test Executions #
Ask an LLM
“How do I find all failed test executions for an artefact in a given environment?”
“Can I search only the latest executions within a date range?”
Tell an agent
Search test executions for artefacts {artefacts} in environments {environments}.
Find executions with status {test_execution_statuses} between {from_date} and {until_date}.
PUT /v1/test-executions/start-test Start a new test execution · Start Test Execution #
Ask an LLM
“How do I register that a test run has begun in Test Observer?”
“What happens when a CI job signals the start of a test execution?”
Tell an agent
Start a new test execution for this artefact build.
Register the beginning of a test run from my CI job.
PUT /v1/test-executions/{id}/status_update Replace the status events of a test execution · Put Status Update #
Ask an LLM
“How do I overwrite the whole list of status events on a test run?”
“Can I reset a test execution's event log with a new set of events?”
Tell an agent
Replace all status events on test execution {id} with {events}.
Overwrite the event log of run {id} using events {events}.
GET /v1/test-executions/{id}/status_update Get status events of a test execution · Get Status Update #
Ask an LLM
“What progress events has a running test execution reported?”
“Can I see the event timeline of a test run?”
Tell an agent
Show the status update events for test execution {id}.
Get the progress timeline of run {id}.
POST /v1/test-executions/{id}/status_update Report new status events for a test execution · Post Status Update #
Ask an LLM
“How does a test agent post progress events while a run is underway?”
“Can I append status events to a test execution without replacing earlier ones?”
Tell an agent
Post status events {events} to test execution {id}.
Append progress events {events} to the timeline of run {id}.

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-test-executions-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-test-executions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Test Observer Test Executions API
  description: Test Observer API (see https://github.com/canonical/test_observer)
  license:
    name: GNU Affero General Public License v3
    url: https://raw.githubusercontent.com/canonical/test_observer/refs/heads/main/backend/LICENSE
  version: 0.1.0
tags:


# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canonical/refs/heads/main/openapi/canonical-test-executions-api-openapi.yml