Secret
Create Secrets
Endpoint
POST /passportsvc/api/v1/secrets
Request
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Namespace to scope the operation to. | Required |
Body
Pass an array of Secret objects.
[
{
"_name": "OPENAI_API_KEY",
"_value": "sk-proj-0wKwWVuf2d2h77SuDy.....",
"_namespaces": ["testproject_Lik2UwIN"],
"_description": "Secret for the namespace",
"_userType": "system_secrets"
}
]
Response
Codes
| Code | Description |
|---|---|
201 | CREATED |
Response body
{
"_offset": 0,
"_pageSize": 1,
"_total": 1,
"_list": [
{
"_id": "30a1f532-63f5-442d-8f15-09add7acf102",
"_name": "OPENAI_API_KEY",
"_value": "ENCRYPTED_SECRET_VALUE",
"_description": "OpenAI API Key for the namespace",
"_userType": "system_secrets",
"_namespaces": [
"testproject_Lik2UwIN"
],
"_metadata": {
"_createdAt": 1757758379179,
"_updatedAt": 1757758379179,
"_createdById": "df24e92d-17f5-484d-b7e6-b4581fde4038",
"_updatedById": "df24e92d-17f5-484d-b7e6-b4581fde4038"
}
}
]
}
Get Secrets
Endpoint
GET /passportsvc/api/v1/secrets
Request
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Namespace to filter secrets by. | Required |
Response
Body example
{
"_offset": 0,
"_pageSize": 1,
"_total": 1,
"_list": [
{
"_id": "ae9edb87-f830-4457-9ceb-a9151e59675b",
"_name": "OPENAI_API_KEY",
"_value": "ENCRYPTED_SECRET_VALUE",
"_description": "OpenAI API Key for the namespace",
"_userType": "system_secrets",
"_namespaces": [
"testproject_Lik2UwIN"
],
"_metadata": {
"_createdAt": 1757581505531,
"_updatedAt": 1757588864330,
"_createdById": "df24e92d-17f5-484d-b7e6-b4581fde4038",
"_updatedById": "df24e92d-17f5-484d-b7e6-b4581fde4038"
}
}
]
}
Get Secret by Id
Endpoint
GET /passportsvc/api/v1/secrets/{id}
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | The secret's id | Required |
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Namespace to filter secrets by. | Required |
Response
Body example
{
"_id": "30a1f532-63f5-442d-8f15-09add7acf102",
"_name": "OPENAI_API_KEY",
"_value": "ENCRYPTED_SECRET_VALUE",
"_description": "OpenAI API Key for the namespace",
"_userType": "system_secrets",
"_namespaces": [
"testproject_Lik2UwIN"
],
"_metadata": {
"_createdAt": 1757758379179,
"_updatedAt": 1757758379179,
"_createdById": "df24e92d-17f5-484d-b7e6-b4581fde4038",
"_updatedById": "df24e92d-17f5-484d-b7e6-b4581fde4038"
}
}
Update Secret
Endpoint
PUT /passportsvc/api/v1/secrets/{id}
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | The secret's id | Required |
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Namespace to scope the operation to. | Required |
Body
{
"_id": "bf5a8437-01f1-4a87-9093-675a339735a7",
"_name": "OPENAI_API_KEY",
"_value": "sk-proj-0wKwWVuf2d2h77SuDy1k.....",
"_description": "OpenAI API Key for the namespace",
"_userType": "system_secrets",
"_namespaces":["{{nsfilter}}"]
}
Response
Codes
| Code | Description |
|---|---|
200 | Success |
Response body
{
"_offset": 0,
"_pageSize": 1,
"_total": 1,
"_list": [
{
"_id": "30a1f532-63f5-442d-8f15-09add7acf102",
"_name": "OPENAI_API_KEY",
"_value": "ENCRYPTED_SECRET_VALUE",
"_description": "OpenAI API Key for the namespace",
"_userType": "system_secrets",
"_namespaces": [
"testproject_Lik2UwIN"
],
"_metadata": {
"_createdAt": 1757758379179,
"_updatedAt": 1757758379179,
"_createdById": "df24e92d-17f5-484d-b7e6-b4581fde4038",
"_updatedById": "df24e92d-17f5-484d-b7e6-b4581fde4038"
}
}
]
}
Delete Secret
Endpoint
DELETE /passportsvc/api/v1/secrets/{id}
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | The secret's id | Required |
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Namespace to scope the operation to. | Required |
Response
Codes
| Code | Description |
|---|---|
204 | No Content |
Download Secret by Name
Downloads a secret by its name. Requires client credentials with scope download-secrets, only the trusted clients such as aisvc has access
Endpoint
GET /passportsvc/api/v1/secrets/{name}/download
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
name | String | The secret's name | Required |
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
nsfilter | String | Namespace to filter secrets by. | Required |
Response
Body example
{
"_id": "ae9edb87-f830-4457-9ceb-a9151e59675b",
"_name": "OPENAI_API_KEY",
"_value": "YOUR_SECRET_VALUE",
"_description": "Secret for the namespace",
"_userType": "system_secrets",
"_namespaces": ["testproject_Lik2UwIN"],
"_metadata": {
"_createdAt": 1710000000000,
"_updatedAt": 1710000000000,
"_createdById": "df24e92d-17f5-484d-b7e6-b4581fde4038",
"_updatedById": "df24e92d-17f5-484d-b7e6-b4581fde4038"
}
}