Skip to content
RecipesDoc

Use Certyn's REST API from Your Own Scripts

Create an API key with only the scopes a script needs, then read issues, runs and test cases or start a suite with plain HTTP calls.

For developers who want Certyn data in their own scripts, dashboards or internal tools.

Your setup

  • A script or a scheduled job in Python, Node, curl or any HTTP client.
  • You want to read issues, runs and test cases, or start a suite, without the web app.

Say this to Certyn

I want a Python script that pulls our open Certyn issues every morning into our internal dashboard. How do I call your API, and what key do I need?

What Certyn does

  1. Tells you to create the key in Settings → API Keys → New key, with only the scopes the script needs. For reading, the QA Triage preset (testcase:read, ticket:read, execution:read) is enough. The key is shown once.
  2. Writes the script: base URL https://api.certyn.io, header X-API-Key: <key>, project id from GET /api/projects/overview.
  3. To try it, opens a secret form for the key (for example CERTYN_API_KEY), restarts the Machine, and runs the script there. You never paste the key in the chat.

Common calls:

WhatCallScope
Projects and their idsGET /api/projects/overviewany key
EnvironmentsGET /api/projects/{projectId}/environmentsany key
Set an environment's versionPUT /api/projects/{projectId}/environments/{id}platform:manage
Test casesGET, POST /api/projects/{projectId}/testcasestestcase:read, testcase:write
Issues (filter status, severity, environmentKey)GET /api/projects/{projectId}/ticketsticket:read
RunsGET /api/projects/{projectId}/executionsexecution:read
Processes (suites)GET /api/projects/{projectId}/processesexecution:read
Start a suitePOST /api/projects/{projectId}/processes/{processSlug}/execute?environmentId=...process:execute
CI run and its statusPOST /api/ci/runs, GET /api/ci/runs/{runId}ci:trigger, ci:status
Push your test resultsPOST /api/ci/resultsci:results

What you get

  • A script on your side that uses one key.
  • Paged lists (items, page, pageSize, hasNextPage) and errors as { "error": "...", "details": "..." }.

Limits

  • A key works for the whole account, not one project. Make one key per script, so you can delete one without breaking others.
  • API keys cannot manage keys or webhooks, or read variable values. Do that in the web app.
  • platform:manage also lets a key delete projects. Give it only to scripts that change environments or projects.
  • Rate limit: about 100 requests a minute per account. Poll a run every 10 to 30 seconds.
  • The chat's CI form makes a key with CI scopes only. For other scopes, use Settings → API Keys.