tenzro-xyz API keys API

The API keys API from tenzro-xyz — 2 operation(s) for api keys.

Operations 3

GET /keys List API keys #
POST /keys Create an API key #
DELETE /keys/{id} Revoke an API key #

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/tenzro-xyz:tenzro-xyz-api-keys-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

tenzro-xyz-api-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tenzro Labs Platform API keys API
  version: 1.0.0
  description: Browse the curated catalogue; manage credits, billing, keys, plans and rentals; place and pay orders; run Datasets, Fieldwork, Voices and Forecasts. Chat, embeddings, images, speech and the model list keep the OpenAI-compatible /v1 paths.
servers:
- url: https://api.tenzro.xyz
security:
- apiKey: []
tags:
- name: API Keys
paths:
  /keys:
    get:
      tags:
      - API Keys
      summary: List API keys
      description: Needs a key with the `read` permission.
      operationId: getKeys
      x-tenzro-scope: read
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                data:
                - id: key_Zb81Qm0sP4aT
                  name: ci
                  prefix: tzl_3kQ9aZ1x
                  permissions:
                  - inference
                  - read
                  scope: null
                  subscription_id: null
                  rental_id: null
                  created_at: '2026-09-26T08:00:00.000Z'
                  last_used_at: null
                  revoked_at: null
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      tags:
      - API Keys
      summary: Create an API key
      description: 'The secret is returned once. A key can only grant permissions it holds. Scope with machine_id, subscription_id or rental_id; otherwise the key reaches every machine.


        Needs a key with the `manage` permission.'
      operationId: postKeys
      x-tenzro-scope: manage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                permissions:
                  type: array
                  items:
                    enum:
                    - inference
                    - read
                    - manage
                    - datasets:read
                    - datasets:write
                    - fieldwork:read
                    - fieldwork:write
                    - voices:speak
                    - voices:batch
                    - voices:train
                    - voices:admin
                    - vision:analyse
                    - vision:generate
                    - vision:batch
                    - wallets:read
                    - wallets:write
                  default:
                  - inference
                machine_id:
                  type: string
                subscription_id:
                  type: string
                rental_id:
                  type: string
            example:
              name: ci
              permissions:
              - inference
              - read
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                id: key_Zb81Qm0sP4aT
                name: ci
                prefix: tzl_3kQ9aZ1x
                permissions:
                - inference
                - read
                scope: null
                subscription_id: null
                rental_id: null
                created_at: '2026-09-26T08:00:00.000Z'
                last_used_at: null
                revoked_at: null
                secret: tzl_3kQ9aZ1x…
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /keys/{id}:
    delete:
      tags:
      - API Keys
      summary: Revoke an API key
      description: Needs a key with the `manage` permission.
      operationId: deleteKeysById
      x-tenzro-scope: manage
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                id: key_Zb81Qm0sP4aT
                revoked: true
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            scope:
              type: string
              description: 'On a 403: the permission the key lacks.'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: A Tenzro Labs API key (tzl_…).
    ingestKey:
      type: http
      scheme: bearer
      description: 'A Fieldwork ingest key (tzi_…): bound to one project and the origins listed on it, able only to run the participant flow. Safe in a browser. Create it with POST /fieldwork/projects/{id}/ingest-keys.'
    serviceAssertion:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'A Tenzro Labs service''s ES256 assertion: header kid = the RFC 7638 thumbprint of a key in the service''s published JWKS; iss = sub = the service; aud = this endpoint; exp at most 60 s after iat; jti used once.'