wallets

Operations of the Project Registry API. Paths are relative to your deployment's API host.

GET /api/project-registry-api/projects/{projectId}/wallets

List wallets visible to a project (project-scoped + inherited org-scoped)

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
projectIdpathstringyes
StatusDescriptionBody
200application/json WalletResponseDtoDataArrayEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/project-registry-api/projects/{projectId}/wallets

Create a project-scoped wallet

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
projectIdpathstringyes

Request body: application/json CreateWalletDto

StatusDescriptionBody
201application/json WalletResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/project-registry-api/projects/{projectId}/wallets/resolve

Resolve a set of wallet names for a project (decrypts secrets). Admits only a member or delegated context forwarded by workflow-engine-api (dispatch) or agent-session-api (session create); secrets are read under that forwarded authority.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
projectIdpathstringyes

Request body: application/json ResolveWalletsRequestDto

StatusDescriptionBody
200application/json ResolvedWalletsResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

GET /api/project-registry-api/wallets

List org-scoped wallets

Authentication: bearer token (Authorization: Bearer <token>)

StatusDescriptionBody
200application/json WalletResponseDtoDataArrayEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/project-registry-api/wallets

Create an org-scoped wallet (inherited by every project)

Authentication: bearer token (Authorization: Bearer <token>)

Request body: application/json CreateWalletDto

StatusDescriptionBody
201application/json WalletResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/project-registry-api/wallets/resolve

Resolve a set of ORGANIZATION wallet names for org-scope work (decrypts secrets). Admits only a member or delegated context forwarded by agent-session-api; secrets are read under that forwarded authority. Project wallets are never returned.

Authentication: bearer token (Authorization: Bearer <token>)

Request body: application/json ResolveWalletsRequestDto

StatusDescriptionBody
200application/json ResolvedWalletsResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

GET /api/project-registry-api/wallets/{walletId}

Get a wallet with its entries (variable keys + isSecret flags, no values)

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
walletIdpathstringyes
StatusDescriptionBody
200application/json WalletWithEntriesResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

PATCH /api/project-registry-api/wallets/{walletId}

Update a wallet (description only — name is immutable)

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
walletIdpathstringyes

Request body: application/json UpdateWalletDto

StatusDescriptionBody
200application/json WalletResponseDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

DELETE /api/project-registry-api/wallets/{walletId}

Delete a wallet (cascades to its variables)

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
walletIdpathstringyes
StatusDescriptionBody
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto