Vault

Copy workspace secrets to an intern

Copies the named workspace secrets into one intern's scope, replacing any intern secret with the same name. Each copy keeps the source value and host bindings. Every name must exist in the workspace scope or the request fails with 404 and nothing is copied. A workspace secret whose hosts is null cannot be copied: the request fails with 409 and nothing is copied until that secret is stored again with hosts. The response carries metadata only. Writes return 503 while vault writes are disabled for the caller. The scope is selected by the API key: workspace routes act on the key's active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as eu.openrouter.ai are refused. API key required.

post/vault/interns/{internId}/secrets/copy

Path parameters

internIdstring uuid required

UUID of an intern in the workspace selected by the API key.

Example:7c9e6679-7425-40de-944b-e07fc1f90ae7

UUID of an intern in the workspace selected by the API key.

Request body

namesstring[] required

Names of workspace secrets to copy, 1 to 100 unique entries. Every name must exist in the workspace scope.

Example request

{
  "names": [
    "github_token"
  ]
}

Response

Metadata for the copied secrets.

Example response

{
  "data": [
    {
      "created_at": "2026-09-15T17:44:00.000Z",
      "fingerprint": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
      "hosts": [
        "api.github.com"
      ],
      "name": "github_token"
    }
  ]
}

Changes