> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ClickHouse Cloud: Clickhouse Openapi Key Get

> Get one ClickHouse Cloud API key's details, such as its roles, state and expiry. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Get one ClickHouse Cloud API key's details, such as its roles, state and expiry.

> [!NOTE]
>
> Tool ID: `clickhouse_openapi_key_get`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'clickhouse_openapi_key_get',
  {
    "organizationId": "123e4567-e89b-42d3-a456-426614174000",
    "keyId": "123e4567-e89b-42d3-a456-426614174000"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute clickhouse_openapi_key_get --input '{
  "organizationId": "123e4567-e89b-42d3-a456-426614174000",
  "keyId": "123e4567-e89b-42d3-a456-426614174000"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "status": 123,
    "requestId": "123e4567-e89b-42d3-a456-426614174000",
    "result": {
      "id": "123e4567-e89b-42d3-a456-426614174000",
      "name": "Example",
      "state": "enabled"
    }
  }
}
```

Use `deepline describe clickhouse_openapi_key_get --json` for the latest machine-readable contract.

## Input reference

Returns a single key details.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.organizationId` | `string` | Yes | — | ID of the requested organization. Format: `uuid`. |
| `payload.keyId` | `string` | Yes | — | ID of the requested key. Format: `uuid`. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Returns a single key details.",
    "properties": {
      "organizationId": {
        "type": "string",
        "description": "ID of the requested organization.",
        "format": "uuid"
      },
      "keyId": {
        "type": "string",
        "description": "ID of the requested key.",
        "format": "uuid"
      }
    },
    "required": [
      "organizationId",
      "keyId"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.status` | `number` | No | — | HTTP status code. |
| `result.data.requestId` | `string` | No | — | Unique id assigned to every request. UUIDv4 Format: `uuid`. |
| `result.data.result` | `object` | No | — | — |
| `result.data.result.id` | `string` | No | — | Unique API key ID. Format: `uuid`. |
| `result.data.result.name` | `string` | No | — | Name of the key |
| `result.data.result.state` | `"enabled" \| "disabled"` | No | — | State of the key: 'enabled', 'disabled'. Allowed: `enabled`, `disabled`. |
| `result.data.result.roles` | `array` | No | — | DEPRECATED. Use `assignedRoles` instead. List of roles assigned to the key. For organizations that have migrated to custom roles, this field is frozen at the pre-migration value and does not reflect current role assignments. |
| `result.data.result.assignedRoles` | `array` | No | — | Custom roles and System roles assigned to this API key |
| `result.data.result.assignedRoles[].roleId` | `string` | No | — | Unique identifier of the role Format: `uuid`. |
| `result.data.result.assignedRoles[].roleName` | `string` | No | — | Human-readable name of the role |
| `result.data.result.assignedRoles[].roleType` | `"system" \| "custom"` | No | — | Type of role: system (predefined) or custom (organization-defined) Allowed: `system`, `custom`. |
| `result.data.result.keySuffix` | `string` | No | — | Last 4 letters of the key. |
| `result.data.result.createdAt` | `string` | No | — | Timestamp the key was created. ISO-8601. Format: `date-time`. |
| `result.data.result.expireAt` | `string \| null` | No | — | Timestamp the key expires. If not present, `null` or is empty the key never expires. ISO-8601. Format: `date-time`. |
| `result.data.result.usedAt` | `string` | No | — | Timestamp the key was used last time, with one-minute precision. If not present the key was never used. ISO-8601. Format: `date-time`. |
| `result.data.result.ipAccessList` | `array` | No | — | List of IP addresses allowed to access the API using this key |
| `result.data.result.ipAccessList[].source` | `string` | No | — | IP or CIDR |
| `result.data.result.ipAccessList[].description` | `string` | No | — | Optional description of IPv4 address or IPv4 CIDR to allow access from |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "status": {
            "type": "number",
            "description": "HTTP status code."
          },
          "requestId": {
            "type": "string",
            "description": "Unique id assigned to every request. UUIDv4",
            "format": "uuid"
          },
          "result": {
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique API key ID.",
                "format": "uuid"
              },
              "name": {
                "type": "string",
                "description": "Name of the key"
              },
              "state": {
                "type": "string",
                "description": "State of the key: 'enabled', 'disabled'.",
                "enum": [
                  "enabled",
                  "disabled"
                ]
              },
              "roles": {
                "type": "array",
                "description": "DEPRECATED. Use `assignedRoles` instead. List of roles assigned to the key. For organizations that have migrated to custom roles, this field is frozen at the pre-migration value and does not reflect current role assignments.",
                "items": {
                  "type": "string",
                  "enum": [
                    "admin",
                    "developer",
                    "query_endpoints"
                  ]
                }
              },
              "assignedRoles": {
                "type": "array",
                "description": "Custom roles and System roles assigned to this API key",
                "items": {
                  "properties": {
                    "roleId": {
                      "type": "string",
                      "description": "Unique identifier of the role",
                      "format": "uuid"
                    },
                    "roleName": {
                      "type": "string",
                      "description": "Human-readable name of the role"
                    },
                    "roleType": {
                      "type": "string",
                      "description": "Type of role: system (predefined) or custom (organization-defined)",
                      "enum": [
                        "system",
                        "custom"
                      ]
                    }
                  },
                  "additionalProperties": false
                }
              },
              "keySuffix": {
                "type": "string",
                "description": "Last 4 letters of the key."
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp the key was created. ISO-8601.",
                "format": "date-time"
              },
              "expireAt": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Timestamp the key expires. If not present, `null` or is empty the key never expires. ISO-8601.",
                "format": "date-time"
              },
              "usedAt": {
                "type": "string",
                "description": "Timestamp the key was used last time, with one-minute precision. If not present the key was never used. ISO-8601.",
                "format": "date-time"
              },
              "ipAccessList": {
                "type": "array",
                "description": "List of IP addresses allowed to access the API using this key",
                "items": {
                  "properties": {
                    "source": {
                      "type": "string",
                      "description": "IP or CIDR"
                    },
                    "description": {
                      "type": "string",
                      "description": "Optional description of IPv4 address or IPv4 CIDR to allow access from"
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [ClickHouse Cloud provider guide](https://deepline.com/docs/providers/clickhouse/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.