---
title: "Get a secret"
method: GET
path: "/v1/orgs/{orgId}/projects/{projectId}/secrets/{secretName}"
tags: ["Secrets"]
---

# Get a secret

`GET /v1/orgs/{orgId}/projects/{projectId}/secrets/{secretName}`

## Request

- Base URL: `https://api.spice.ai`
- URL: `https://api.spice.ai/v1/orgs/{orgId}/projects/{projectId}/secrets/{secretName}`
- Auth: HTTP bearer

The org is `orgId` in the path. Returns a specific secret by name. The secret value is always masked.

## Path parameters

- `orgId` integer, required
- `projectId` integer, required
- `secretName` string, required

## Headers

- `X-Org-Name` string

## Response `200`

Secret details (value is masked)

- Secret
  - `id` integer: Unique identifier for the secret
  - `name` string: Name of the secret
  - `value` string: Always masked with asterisks
  - `created_at` string, date-time: Timestamp when the secret was created
  - `updated_at` string, date-time: Timestamp when the secret was last updated

## Other responses

- `400`: Invalid project ID. orgId is not a valid org id (`invalid_org_id`), or X-Org-Name does not name that org (`org_path_mismatch`).
- `401`: Unauthorized
- `403`: Insufficient scope or admin or owner role required. The caller is not a member of the org (`org_forbidden`). A machine credential named a different org (`org_assertion_mismatch`). The org is deleted (`org_deleted`).
- `404`: Project or secret not found
- `500`: Internal server error

---

[API](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api.md) - [All operations](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api/revisions/5f3b75dd847d?raw)
