|
2447 | 2447 | "get": { |
2448 | 2448 | "operationId": "listSecrets", |
2449 | 2449 | "summary": "List Secrets", |
2450 | | - "description": "List workspace and caller-owned personal secret metadata with opaque cursor pagination. Only names, scope, role, and timestamps are returned; secret values are never returned. A workspace API key is rejected with `403`; use a personal API key.", |
| 2450 | + "description": "List workspace and caller-owned personal secret metadata with opaque cursor pagination. Rows for workspace secrets marked visible (unredacted) include the stored value; every other row is metadata-only and no other response ever carries a value. A workspace API key is rejected with `403`; use a personal API key.", |
2451 | 2451 | "tags": ["Secrets"], |
2452 | 2452 | "parameters": [ |
2453 | 2453 | { |
|
5581 | 5581 | } |
5582 | 5582 | ] |
5583 | 5583 | }, |
5584 | | - "V2Secret": { |
| 5584 | + "V2SecretWithValue": { |
5585 | 5585 | "type": "object", |
5586 | 5586 | "properties": { |
5587 | 5587 | "name": { |
|
5627 | 5627 | "format": "date-time", |
5628 | 5628 | "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", |
5629 | 5629 | "description": "ISO 8601 timestamp when the secret was last updated." |
| 5630 | + }, |
| 5631 | + "value": { |
| 5632 | + "description": "The stored secret value. Present only when the workspace secret is marked visible (unredacted); omitted for every other secret.", |
| 5633 | + "type": "string" |
5630 | 5634 | } |
5631 | 5635 | }, |
5632 | 5636 | "required": [ |
|
5639 | 5643 | "updatedAt" |
5640 | 5644 | ], |
5641 | 5645 | "additionalProperties": false, |
5642 | | - "title": "Secret metadata", |
5643 | | - "description": "Public secret metadata without the stored secret value." |
| 5646 | + "title": "Secret metadata with visible value", |
| 5647 | + "description": "Secret metadata; the stored value is included only for a workspace secret marked visible (unredacted)." |
5644 | 5648 | }, |
5645 | 5649 | "ListSecretsResponse": { |
5646 | 5650 | "type": "object", |
5647 | 5651 | "properties": { |
5648 | 5652 | "data": { |
5649 | 5653 | "type": "array", |
5650 | 5654 | "items": { |
5651 | | - "$ref": "#/components/schemas/V2Secret" |
| 5655 | + "$ref": "#/components/schemas/V2SecretWithValue" |
5652 | 5656 | }, |
5653 | 5657 | "description": "Items in the current page." |
5654 | 5658 | }, |
|
5667 | 5671 | "required": ["data", "nextCursor"], |
5668 | 5672 | "additionalProperties": false, |
5669 | 5673 | "title": "List secrets response", |
5670 | | - "description": "Secret metadata visible to the caller without stored values.", |
| 5674 | + "description": "Secret metadata visible to the caller; visible (unredacted) workspace secrets carry their value.", |
5671 | 5675 | "examples": [ |
5672 | 5676 | { |
5673 | 5677 | "data": [ |
|
5679 | 5683 | "role": "admin", |
5680 | 5684 | "createdAt": "2026-06-01T09:14:00.000Z", |
5681 | 5685 | "updatedAt": "2026-06-20T14:02:11.000Z" |
| 5686 | + }, |
| 5687 | + { |
| 5688 | + "name": "STAGING_BASE_URL", |
| 5689 | + "scope": "workspace", |
| 5690 | + "description": "Staging environment base URL.", |
| 5691 | + "unredacted": true, |
| 5692 | + "role": "member", |
| 5693 | + "createdAt": "2026-06-03T11:30:00.000Z", |
| 5694 | + "updatedAt": "2026-06-21T08:45:09.000Z", |
| 5695 | + "value": "https://staging.example.com" |
5682 | 5696 | } |
5683 | 5697 | ], |
5684 | 5698 | "nextCursor": null |
5685 | 5699 | } |
5686 | 5700 | ] |
5687 | 5701 | }, |
| 5702 | + "V2Secret": { |
| 5703 | + "type": "object", |
| 5704 | + "properties": { |
| 5705 | + "name": { |
| 5706 | + "type": "string", |
| 5707 | + "minLength": 1, |
| 5708 | + "maxLength": 255, |
| 5709 | + "pattern": "^[A-Za-z0-9_]+$", |
| 5710 | + "description": "Secret name containing only letters, numbers, and underscores." |
| 5711 | + }, |
| 5712 | + "scope": { |
| 5713 | + "type": "string", |
| 5714 | + "enum": ["workspace", "personal"], |
| 5715 | + "description": "Whether the secret belongs to the workspace or to the caller. A personal secret belongs to the caller across every workspace, not to one workspace." |
| 5716 | + }, |
| 5717 | + "description": { |
| 5718 | + "anyOf": [ |
| 5719 | + { |
| 5720 | + "type": "string" |
| 5721 | + }, |
| 5722 | + { |
| 5723 | + "type": "null" |
| 5724 | + } |
| 5725 | + ], |
| 5726 | + "description": "What the secret is for, as set on the workspace secret. Always null for a personal secret, which has no shared audience." |
| 5727 | + }, |
| 5728 | + "unredacted": { |
| 5729 | + "type": "boolean", |
| 5730 | + "description": "Whether the workspace secret opts out of redaction, so its value appears in plaintext in run logs and model-visible content. Always false for a personal secret." |
| 5731 | + }, |
| 5732 | + "role": { |
| 5733 | + "type": "string", |
| 5734 | + "enum": ["admin", "member"], |
| 5735 | + "description": "Caller role for the secret." |
| 5736 | + }, |
| 5737 | + "createdAt": { |
| 5738 | + "type": "string", |
| 5739 | + "format": "date-time", |
| 5740 | + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", |
| 5741 | + "description": "ISO 8601 timestamp when the secret was created." |
| 5742 | + }, |
| 5743 | + "updatedAt": { |
| 5744 | + "type": "string", |
| 5745 | + "format": "date-time", |
| 5746 | + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", |
| 5747 | + "description": "ISO 8601 timestamp when the secret was last updated." |
| 5748 | + } |
| 5749 | + }, |
| 5750 | + "required": [ |
| 5751 | + "name", |
| 5752 | + "scope", |
| 5753 | + "description", |
| 5754 | + "unredacted", |
| 5755 | + "role", |
| 5756 | + "createdAt", |
| 5757 | + "updatedAt" |
| 5758 | + ], |
| 5759 | + "additionalProperties": false, |
| 5760 | + "title": "Secret metadata", |
| 5761 | + "description": "Public secret metadata without the stored secret value." |
| 5762 | + }, |
5688 | 5763 | "SetSecretResponse": { |
5689 | 5764 | "type": "object", |
5690 | 5765 | "properties": { |
|
0 commit comments