temprhq-io API

temprhq-io API as documented publicly: 14 operations. Contract generated from the documentation by API Evangelist (2026-10-30); not the provider's own document.

Operations 14

POST /v1/chat/completions POST /v1/chat/completions #
POST /v1/embeddings POST /v1/embeddings #
POST /v1/management/agent-config/rules POST /v1/management/agent-config/rules #
PATCH /v1/management/agent-config/settings PATCH /v1/management/agent-config/settings #
POST /v1/management/agent-config/skills POST /v1/management/agent-config/skills #
PATCH /v1/management/agent-config/skills/release-hotfix PATCH /v1/management/agent-config/skills/release-hotfix #
POST /v1/management/agent-config/skills/release-hotfix/assignments POST /v1/management/agent-config/skills/release-hotfix/assignments #
GET /v1/management/keys GET /v1/management/keys #
POST /v1/management/keys POST /v1/management/keys #
PATCH /v1/management/keys/6f1c2b0e-… PATCH /v1/management/keys/6f1c2b0e-… #
PUT /v1/management/keys/6f1c2b0e-…/end-users/customer-4821/limits PUT /v1/management/keys/6f1c2b0e-…/end-users/customer-4821/limits #
POST /v1/management/tool-packs POST /v1/management/tool-packs #
POST /v1/management/tool-packs/0b7d6c55-…/assignments POST /v1/management/tool-packs/0b7d6c55-…/assignments #
GET /v1/models GET /v1/models #

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/temprhq-io:temprhq-io-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

temprhq-io-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: temprhq-io API
  version: '2026-10-30'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-30: 14 operation(s) read from 40 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; temprhq-io has published no machine-readable contract
    that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 14
    documentation: 0
    pages-with-code: 21
    pages-read: 40
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-30'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://temprhq.io/docs/gateway-management-api
  - https://temprhq.io/docs/gateway-reference
  - https://temprhq.io/docs/cli-scripts
  - https://temprhq.io/docs/guide-cline
  - https://temprhq.io/docs/coding-plans
  - https://temprhq.io/docs/quickstart-cli
  - https://temprhq.io/docs/guide-codex-cli
  - https://www.nuget.org/packages/Tempr.Cli
  - https://temprhq.io/docs/gateway-embeddings
  - https://temprhq.io/docs/quickstart-gateway
  - https://temprhq.io/docs/gateway-chat-completions
  - https://temprhq.io/cli
  - https://www.npmjs.com/package/@tempr/cli
  - https://temprhq.io/docs/providers
  - https://temprhq.io/docs/custom-models
  - https://temprhq.io/docs/ai-plans
  - https://temprhq.io/docs/gateway-errors
  - https://temprhq.io/docs/guide-claude-code
  - https://temprhq.io/docs/guide-claude-desktop
  - https://temprhq.io/docs/guide-cursor
  - https://temprhq.io/docs/guide-roo-code
  - https://temprhq.io/docs/guide-kilo-code
  - https://temprhq.io/docs/guide-continue
  - https://temprhq.io/docs/guide-zed
  - https://temprhq.io/docs/guide-aider
  - https://temprhq.io/docs/guide-crush
  - https://temprhq.io/docs/guide-opencode
  - https://temprhq.io/docs/guide-n8n
  - https://temprhq.io/docs/guide-github-copilot
  - https://temprhq.io/gateway
  - https://temprhq.io/plans
  - https://temprhq.io/docs
  - https://www.nuget.org/packages/Tempr.Cli/0.9.22
  - https://www.nuget.org/packages/Tempr.Cli/0.9.21
  - https://www.nuget.org/packages/Tempr.Cli/0.9.20
  - https://www.nuget.org/packages/Tempr.Cli/0.9.19
  - https://www.nuget.org/packages/Tempr.Cli/0.9.18
  - https://www.nuget.org/packages/Tempr.Cli/0.9.17
  - https://www.nuget.org/packages/Tempr.Cli/0.9.16
  - https://www.nuget.org/packages/Tempr.Cli/0.9.15
servers:
- url: https://api.temprhq.io
paths:
  /v1/chat/completions:
    post:
      operationId: post_v1_chat_completions
      tags:
      - Chat
      summary: POST /v1/chat/completions
      x-source: https://temprhq.io/docs/gateway-reference
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ChatCompletionsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/chat/completions -H \"Authorization: Bearer $TEMPR_KEY\" -H \"x-tempr-end-user: customer-4821\"\
          \ -d '{\"model\": \"openai/gpt-4o-mini\", \"messages\": [{\"role\": \"user\", \"content\": \"Hi\"}]}' \n Limits per key \n Limits belong\
          \ to a key, so two apps' end users never share them. On a key, set a monthly budget in US dollars and a requests-per-minute limit that\
          \ apply to each end user: i"
  /v1/embeddings:
    post:
      operationId: post_v1_embeddings
      tags:
      - Embeddings
      summary: POST /v1/embeddings
      x-source: https://temprhq.io/docs/gateway-embeddings
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1EmbeddingsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1EmbeddingsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/embeddings  -H \"Authorization: Bearer $TEMPR_KEY\"  -H \"Content-Type: application/json\"  -d\
          \ '{\"model\": \"openai/text-embedding-3-small\", \"input\": [\"def add(a, b):\", \"return a + b\"]}' \n Response \n OpenAI's shape\
          \ on every provider, one item per input, in input order: \n { \n \"object\": \"list\", \n \"data\": [ \n { \"object\": \"embedding\"\
          , \"index\": 0, \"embedding\": [0.0023064255, -0"
  /v1/management/agent-config/rules:
    post:
      operationId: post_v1_management_agent_config_rules
      tags:
      - Management
      summary: POST /v1/management/agent-config/rules
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ManagementAgentConfigRulesRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1ManagementAgentConfigRulesResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/management/agent-config/rules  -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"  -H\
          \ \"Content-Type: application/json\"  -d '{ \"title\": \"Spelling\", \"body\": \"Always write in British English.\", \"required\": true\
          \ }' \n Skills \n A skill is named by the name in its SKILL.md frontmatter: up to 64 lowercase letters, digits and single hyphens, unique\
          \ in the organization. T"
  /v1/management/agent-config/settings:
    patch:
      operationId: patch_v1_management_agent_config_settings
      tags:
      - Management
      summary: PATCH /v1/management/agent-config/settings
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchV1ManagementAgentConfigSettingsRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X PATCH https://api.temprhq.io/v1/management/agent-config/settings -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"\
          \ -H \"Content-Type: application/json\" -d '{ \"local_models_allowed\": false }' \n Errors \n Errors use the same shape as the rest\
          \ of the Gateway API, and param names the field at fault when there is one: \n { \n \"error\": { \n \"message\": \"The RPM limit can't\
          \ be negative.\", \n \"type"
  /v1/management/agent-config/skills:
    post:
      operationId: post_v1_management_agent_config_skills
      tags:
      - Management
      summary: POST /v1/management/agent-config/skills
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ManagementAgentConfigSkillsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1ManagementAgentConfigSkillsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/management/agent-config/skills  -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"  -H\
          \ \"Content-Type: application/json\"  -d '{ \n \"skill_md\": \"---\\nname: release-hotfix\\ndescription: Cut a hotfix release. Use when\
          \ asked to ship a fix outside the release train.\\n---\\n\\n1. Read references/checklist.md first.\\n\", \n \"files\": [ { \"path\"\
          : \"references/checklist.md\", \"co"
  /v1/management/agent-config/skills/release-hotfix:
    patch:
      operationId: patch_v1_management_agent_config_skills_release_hotfix
      tags:
      - Management
      summary: PATCH /v1/management/agent-config/skills/release-hotfix
      x-source: https://temprhq.io/docs/gateway-management-api
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchV1ManagementAgentConfigSkillsReleaseHotfixResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X PATCH https://api.temprhq.io/v1/management/agent-config/skills/release-hotfix  -H \"Authorization: Bearer $TEMPR_MANAGEMENT_KEY\"\
          \  -F \"file=@release-hotfix.zip\" \n A 404 skill_not_found from that PATCH means the skill is new: send the same upload with POST /v1/management/agent-config/skills\
          \ . \n Give or take away a rule or skill \n POST /v1/management/agent-config/rules/{id}/assignments and POS"
  /v1/management/agent-config/skills/release-hotfix/assignments:
    post:
      operationId: post_v1_management_agent_config_skills_release_hotfix_assignments
      tags:
      - Management
      summary: POST /v1/management/agent-config/skills/release-hotfix/assignments
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ManagementAgentConfigSkillsReleaseHotfixAssignmentsReq'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1ManagementAgentConfigSkillsReleaseHotfixAssignmentsRes'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/management/agent-config/skills/release-hotfix/assignments  -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"\
          \  -H \"Content-Type: application/json\"  -d '{ \"group_ids\": [\"5e2f9a10-…\"] }' \n Agent settings \n An organization's settings for\
          \ its members' Tempr Code and CLI, as on the Portal's Agent playbook page. local_models_allowed says whether they may use local mod"
  /v1/management/keys:
    get:
      operationId: get_v1_management_keys
      tags:
      - Management
      summary: GET /v1/management/keys
      x-source: https://temprhq.io/docs/gateway-management-api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/management/keys  -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\" \n Request and response\
          \ bodies are JSON with snake_case field names. Response timestamps are Unix seconds. expires_at in a request is an ISO 8601 date and\
          \ time, for example 2027-01-31T00:00:00Z . \n Each management key can make 300 requests a minute. Over that, the API answers 429 until\
          \ the next m"
    post:
      operationId: post_v1_management_keys
      tags:
      - Management
      summary: POST /v1/management/keys
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ManagementKeysRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/management/keys  -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"  -H \"Content-Type:\
          \ application/json\"  -d '{ \n \"label\": \"ci\", \n \"allowed_models\": [\"anthropic/claude-sonnet-4-5\"], \n \"max_budget_usd\": 25,\
          \ \n \"rpm_limit\": 60, \n \"expires_at\": \"2027-01-31T00:00:00Z\" \n }' \n { \n \"id\": \"6f1c2b0e-…\", \n \"object\": \"virtual_key\"\
          , \n \"label\": \"ci\", \n \"masked_key\": \"tvk_...a"
  /v1/management/keys/6f1c2b0e-…:
    patch:
      operationId: patch_v1_management_keys_6f1c2b0e
      tags:
      - Management
      summary: PATCH /v1/management/keys/6f1c2b0e-…
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchV1ManagementKeys6F1C2B0ERequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X PATCH https://api.temprhq.io/v1/management/keys/6f1c2b0e-…  -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"\
          \  -H \"Content-Type: application/json\"  -d '{ \"rpm_limit\": 120, \"max_budget_usd\": null }' \n Revoke a key \n POST /v1/management/keys/{id}/revoke\
          \ (scope keys:write ) revokes a key and returns it. Requests with the key stop authenticating at once. Revoking a key that's already\
          \ rev"
  /v1/management/keys/6f1c2b0e-…/end-users/customer-4821/limits:
    put:
      operationId: put_v1_management_keys_6f1c2b0e_end_users_customer_4821_limits
      tags:
      - Management
      summary: PUT /v1/management/keys/6f1c2b0e-…/end-users/customer-4821/limits
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutV1ManagementKeys6F1C2B0EEndUsersCustomer4821LimitsRequest'
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutV1ManagementKeys6F1C2B0EEndUsersCustomer4821LimitsRespons'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X PUT https://api.temprhq.io/v1/management/keys/6f1c2b0e-…/end-users/customer-4821/limits -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"\
          \ -H \"Content-Type: application/json\" -d '{ \"monthly_budget_usd\": 20, \"rpm_limit\": 60, \"blocked\": false }' \n { \n \"id\": \"\
          customer-4821\", \n \"object\": \"end_user\", \n \"key_id\": \"6f1c2b0e-…\", \n \"spend_this_month_usd\": 3.4125, \n \"requests_this_month\"\
          : 212, "
  /v1/management/tool-packs:
    post:
      operationId: post_v1_management_tool_packs
      tags:
      - Management
      summary: POST /v1/management/tool-packs
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ManagementToolPacksRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/management/tool-packs  -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"  -H \"Content-Type:\
          \ application/json\"  -d '{ \n \"name\": \"GitHub read-only\", \n \"entries\": [ { \"server\": \"github\", \"tool\": \"*\", \"except\"\
          : [\"delete_repository\"] } ], \n \"assignments\": { \"group_ids\": [\"5e2f9a10-…\"] } \n }' \n Change or delete a pack \n PATCH /v1/management/tool-packs/{id}\
          \ (scope too"
  /v1/management/tool-packs/0b7d6c55-…/assignments:
    post:
      operationId: post_v1_management_tool_packs_0b7d6c55_assignments
      tags:
      - Management
      summary: POST /v1/management/tool-packs/0b7d6c55-…/assignments
      x-source: https://temprhq.io/docs/gateway-management-api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1ManagementToolPacks0B7D6C55AssignmentsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/management/tool-packs/0b7d6c55-…/assignments  -H \"Authorization: Bearer tmk_xxxxxxxxxxxxxxxxxxxxxxxx\"\
          \  -H \"Content-Type: application/json\"  -d '{ \"user_ids\": [\"c41e7a2b-…\"] }' \n Tool Packs settings \n GET /v1/management/tool-packs/settings\
          \ (scope tool_packs:read ) and PATCH /v1/management/tool-packs/settings (scope tool_packs:write ) read and change the organization's"
  /v1/models:
    get:
      operationId: get_v1_models
      tags:
      - Models
      summary: GET /v1/models
      x-source: https://temprhq.io/docs/quickstart-gateway
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1ModelsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.temprhq.io/v1/models  -H \"Authorization: Bearer tvk_...\" \n Try it with curl "
components:
  schemas:
    PostV1ChatCompletionsRequest:
      type: object
      properties:
        model:
          type: string
        messages:
          type: array
          items:
            type: object
            properties:
              role:
                type: string
              content:
                type: string
    PostV1EmbeddingsRequest:
      type: object
      properties:
        model:
          type: string
        input:
          type: array
          items:
            type: string
    PostV1EmbeddingsResponse:
      type: object
      properties:
        object:
          type: string
        data:
          type: array
          items:
            type: object
            properties:
              object:
                type: string
              index:
                type: integer
              embedding:
                type: array
                items:
                  type: number
        model:
          type: string
        usage:
          type: object
          properties:
            prompt_tokens:
              type: integer
            total_tokens:
              type: integer
    PostV1ManagementAgentConfigRulesRequest:
      type: object
      properties:
        title:
          type: string
        body:
          type: string
        required:
          type: boolean
    PostV1ManagementAgentConfigRulesResponse:
      type: object
      properties:
        name:
          type: string
        object:
          type: string
        skill_md:
          type: string
        content_hash:
          type: string
        files:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
              content:
                type: string
    PatchV1ManagementAgentConfigSettingsRequest:
      type: object
      properties:
        local_models_allowed:
          type: boolean
    PostV1ManagementAgentConfigSkillsRequest:
      type: object
      properties:
        skill_md:
          type: string
        files:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
              content:
                type: string
        required:
          type: boolean
    PostV1ManagementAgentConfigSkillsResponse:
      type: object
      properties:
        object:
          type: string
        local_models_allowed:
          type: boolean
    PatchV1ManagementAgentConfigSkillsReleaseHotfixResponse:
      type: object
      properties:
        object:
          type: string
        local_models_allowed:
          type: boolean
    PostV1ManagementAgentConfigSkillsReleaseHotfixAssignmentsReq:
      type: object
      properties:
        group_ids:
          type: array
          items:
            type: string
    PostV1ManagementAgentConfigSkillsReleaseHotfixAssignmentsRes:
      type: object
      properties:
        object:
          type: string
        local_models_allowed:
          type: boolean
    PostV1ManagementKeysRequest:
      type: object
      properties:
        label:
          type: string
        allowed_models:
          type: array
          items:
            type: string
        max_budget_usd:
          type: integer
        rpm_limit:
          type: integer
        expires_at:
          type: string
          format: date-time
    PatchV1ManagementKeys6F1C2B0ERequest:
      type: object
      properties:
        rpm_limit:
          type: integer
        max_budget_usd:
          type:
          - string
          - 'null'
    PutV1ManagementKeys6F1C2B0EEndUsersCustomer4821LimitsRequest:
      type: object
      properties:
        monthly_budget_usd:
          type: integer
        rpm_limit:
          type: integer
        blocked:
          type: boolean
    PutV1ManagementKeys6F1C2B0EEndUsersCustomer4821LimitsRespons:
      type: object
      properties:
        object:
          type: string
        verdict:
          type: string
        summary:
          type: string
        matches:
          type: array
          items:
            type: object
            properties:
              category:
                type: string
              start:
                type: integer
              length:
                type: integer
              masked:
                type: string
        categories:
          type: array
          items:
            type: string
        redacted_text:
          type: string
        settings:
          type: object
          properties:
            guardrail_mode:
              type: string
            mcp_argument_mode:
              type: string
            mcp_result_mode:
              type: string
            mcp_injection_mode:
              type: string
    PostV1ManagementToolPacksRequest:
      type: object
      properties:
        name:
          type: string
        entries:
          type: array
          items:
            type: object
            properties:
              server:
                type: string
              tool:
                type: string
              except:
                type: array
                items:
                  type: string
        assignments:
          type: object
          properties:
            group_ids:
              type: array
              items:
                type: string
    PostV1ManagementToolPacks0B7D6C55AssignmentsRequest:
      type: object
      properties:
        user_ids:
          type: array
          items:
            type: string
    GetV1ModelsResponse:
      type: object
      properties:
        role:
          type: string
        content:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Chat
- name: Embeddings
- name: Management
- name: Models