---
title: "Retrieve an access"
description: "Retrieve an access. Needs the admin scope. Request and response shapes come from the OpenAPI description."
canonical: "https://lookio.app/docs/api/accesses/get-access"
updated: "2026-10-29"
---

# Retrieve an access



```http
GET https://api.lookio.app/v1/accesses/{access_id}
```

## Authorizations

- `Authorization` (bearer, in header, required)

## Path parameters

- `access_id` (`string`, required)

## Response

**200**: Retrieve an access

- `data` (`object`, required)
- `data.id` (`string`, required, pattern: `^acc_[abcdefghjkmnpqrstuvwxyz23456789]{12}$`)
- `data.name` (`string`, required)
- `data.description` (`string`, required): What callers read about the access as a whole.
- `data.protection` (`enum<string>`, required, one of: `public, keys`): `public`: anyone with the address may call it. `keys`: every call needs one of its access keys (Pro plan).
- `data.status` (`enum<string>`, required, one of: `live, paused`)
- `data.capabilities` (`object`, required)
- `data.capabilities.modes` (`enum<string>[]`, required): The query modes callers may ask in, at their usual prices. Empty turns answers off.
- `data.capabilities.passages` (`boolean`, required): Whether callers may search the passages without an answer (1 credit a search).
- `data.daily_credits` (`integer | null`, required): Credits the whole access, per UTC day, may spend; null is no ceiling. A call whose price does not fit is refused with `rate_limited` until the window resets.
- `data.monthly_credits` (`integer | null`, required): Credits the whole access, per UTC month, may spend; null is no ceiling. A call whose price does not fit is refused with `rate_limited` until the window resets.
- `data.assistants` (`object[]`, required)
- `data.assistants.id` (`string`, required, pattern: `^ast_[abcdefghjkmnpqrstuvwxyz23456789]{12}$`)
- `data.assistants.name` (`string`, required)
- `data.assistants.description` (`string`, required): What callers read about it. Its context, guidelines and resources are never shown to them.
- `data.assistants.reads_nothing` (`boolean`, required): It reads no searchable resource, so callers asking it are refused (for free).
- `data.key_count` (`integer`, required)
- `data.stats` (`object`, required)
- `data.stats.today_credits` (`integer`, required)
- `data.stats.month_credits` (`integer`, required)
- `data.stats.month_requests` (`integer`, required)
- `data.blocked` (`enum<string> | null`, required): Why it does not answer, when it does not: `paused`; `keys_need_plan` (protected, and the plan has no keys); `no_keys` (protected, no key yet); `no_assistants` (none of its assistants reads anything). Null: it answers.
- `data.urls` (`object`, required)
- `data.urls.help` (`string`, required): Its help, for people and agents: what it holds and how to call it (`GET`).
- `data.urls.mcp` (`string`, required): Its MCP server (Streamable HTTP).
- `data.urls.assistants` (`string`, required)
- `data.urls.ask` (`string`, required)
- `data.urls.search` (`string`, required)
- `data.keys` (`object[]`): Its access keys, on a single access (not in the list).
- `data.keys.id` (`string`, required, pattern: `^aky_[abcdefghjkmnpqrstuvwxyz23456789]{12}$`)
- `data.keys.name` (`string`, required): Who the key is for.
- `data.keys.prefix` (`string`, required): The start of the key (`ak_live_<key id>`), to recognise it. The whole key is shown once, at creation.
- `data.keys.daily_credits` (`integer | null`, required)
- `data.keys.monthly_credits` (`integer | null`, required)
- `data.keys.spent` (`object`, required): Credits spent with this key, this UTC day and month.
- `data.keys.spent.today` (`integer`, required)
- `data.keys.spent.month` (`integer`, required)
- `data.keys.last_used_at` (`string,null`, required)
- `data.keys.created_at` (`string`, required)
- `data.created_at` (`string`, required)
- `data.updated_at` (`string`, required)
- `request_id` (`string`, required)

```json
{
  "data": {
    "id": "acc_k7m3x9p2w8qr",
    "name": "Acme docs",
    "description": "Acme's product documentation, changelog and support answers.",
    "protection": "keys",
    "status": "live",
    "capabilities": {
      "modes": [
        "flash",
        "deep"
      ],
      "passages": true
    },
    "daily_credits": null,
    "monthly_credits": 200000,
    "assistants": [
      {
        "id": "ast_66xcnwtzj8vt",
        "name": "Acme docs",
        "description": "Answers from the product documentation and the changelog.",
        "reads_nothing": false
      }
    ],
    "key_count": 2,
    "stats": {
      "today_credits": 120,
      "month_credits": 5400,
      "month_requests": 180
    },
    "blocked": null,
    "urls": {
      "help": "https://api.lookio.app/a/acc_k7m3x9p2w8qr",
      "mcp": "https://mcp.lookio.app/a/acc_k7m3x9p2w8qr/mcp",
      "assistants": "https://api.lookio.app/a/acc_k7m3x9p2w8qr/assistants",
      "ask": "https://api.lookio.app/a/acc_k7m3x9p2w8qr/ask",
      "search": "https://api.lookio.app/a/acc_k7m3x9p2w8qr/search"
    },
    "created_at": "2026-10-29T10:00:00.000Z",
    "updated_at": "2026-10-29T10:00:00.000Z",
    "keys": [
      {
        "id": "aky_h4n8c2v6y9tk",
        "name": "Globex",
        "prefix": "ak_live_k7f2p9x4m1c8",
        "daily_credits": 3000,
        "monthly_credits": null,
        "spent": {
          "today": 60,
          "month": 1800
        },
        "last_used_at": "2026-10-29T10:00:00.000Z",
        "created_at": "2026-10-20T10:00:00.000Z"
      }
    ]
  },
  "request_id": "req_01K9X7M2Q4"
}
```

**401**: Possible codes: authentication_required, invalid_api_key, api_key_expired, api_key_revoked, invalid_access_key

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**403**: Possible codes: insufficient_scope, feature_not_available, admin_required, permission_denied

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**404**: Possible codes: resource_not_found

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**429**: Possible codes: rate_limited

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**500**: Possible codes: internal_error

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**Example request**

```bash
curl --request GET \
  --url 'https://api.lookio.app/v1/accesses/<access_id>' \
  --header 'Authorization: <api-key>'
```
