---
title: "Create a secret grant"
method: POST
path: "/api/orgs/{org}/secret-grants"
tags: ["SecretGrants"]
---

# Create a secret grant

`POST /api/orgs/{org}/secret-grants`

Creates an AgentSecretGrant resource granting a specific agent access
to a named secret with the specified permissions.

## Path parameters

- `org` string, required

## Request body

- object
  - `name` string — Grant resource name (auto-generated if omitted)
  - `secretName` string, required — Name of the secret to grant access to
  - `grantedTo` string, required — Agent stack or system receiving the grant
  - `permissions` string[]

## Response `201`

Secret grant created

- ApplyResult
  - `resource` KradleResource — A Kradle (Kubernetes-style) resource object
    - `apiVersion` string, required
    - `kind` string, required — Resource kind (e.g. Repository, AgentStack)
    - `metadata` object, required
      - `name` string, required
      - `namespace` string
      - `labels` object
      - `annotations` object
      - `creationTimestamp` string, date-time
    - `spec` object — Resource spec (kind-specific fields)
    - `status` object — Resource status (set by controller)
  - `created` boolean — True if created, false if updated
  - `name` string — Resource name

## Other responses

- `400` — Bad request — invalid input or malformed JSON
- `500` — Internal server error

---

[API](https://skmtc.dev/a5c-ai/apis/kradle-api.md) · [All operations](https://skmtc.dev/a5c-ai/apis/kradle-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/a5c-ai/kradle-api/revisions/b5eadb2ecd8b/schema)
