---
title: "One API key (never its value)"
method: GET
path: "/api/keys/{id}"
tags: ["auth"]
---

# One API key (never its value)

`GET /api/keys/{id}`

## Request

- Base URL: `https://www.orgo.ai`
- URL: `https://www.orgo.ai/api/keys/{id}`
- Auth: HTTP bearer

## Response `200`

ApiKey.

- ApiKey
  - `id` string, uuid
  - `name` string, nullable
  - `scope` 'account' | 'workspace' | 'computer': Where it reaches.
  - `workspace_id` string, uuid, nullable: The one workspace it reaches (a key for one computer: that computer’s); null for every workspace.
  - `key_prefix` string, nullable
  - `created_at` string, date-time
  - `last_used` string, date-time, nullable
  - `permissions` ApiKeyPermissions: A restricted key’s level per group: none, read or write (write includes read). A group left out is none. The API key permissions page lists every endpoint of each group.
    - `computers` 'none' | 'read' | 'write'
    - `control` 'none' | 'read' | 'write'
    - `files` 'none' | 'read' | 'write'
    - `templates` 'none' | 'read' | 'write'
    - `workspaces` 'none' | 'read' | 'write'
    - `members` 'none' | 'read' | 'write'
    - `secrets` 'none' | 'read' | 'write'
    - `ai` 'none' | 'read' | 'write'
    - `bops` 'none' | 'read' | 'write'
    - `billing` 'none' | 'read' | 'write'
    - `keys` 'none' | 'read' | 'write'
  - `access` 'full' | 'read_only' | 'custom'
  - `expires_at` string, date-time, nullable: null: never.
  - `expired` boolean: Past expires_at: listed until deleted, signs in nowhere (401 key_expired).
  - `computer_key` boolean: A computer’s own key, made and rotated by Orgo.
  - `computer` object, nullable: The computer a computer’s own key or a key for one computer is for.
    - `id` string
    - `name` string, nullable
  - `rotated_at` string, date-time, nullable: A computer’s own key: when its secret last changed.

## Other responses

- `404`: Not a key of the caller’s, or outside its scope.
- `429`: Over one of the account's rate limits (rate_limited): `limit` names it, `retry_after` and Retry-After say how many seconds to wait. Limits are per account (the workspace owner when the request acts on a computer or a workspace) and set by its plan (x-rate-limits).

## Changes

- **2026-10-30** `afb6f0ee1aac`: 1 info
  - added the non-success response with the status `429`
- **2026-10-22** `8797b380fe7d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/orgo/apis/orgo-api/changes/api/keys/:id/get.md)

---

[API](https://skmtc.dev/orgo/apis/orgo-api.md) - [All operations](https://skmtc.dev/orgo/apis/orgo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/orgo/apis/orgo-api/revisions/e4c1e7379fa5?raw)
