openapi: 3.0.1 info: title: Decodable Control Plane Connections Secrets API description: 'REST API for the Decodable managed stream-processing platform (built on Apache Flink and Debezium). The control-plane API manages connections, streams, pipelines, secrets, and account-level resources. The control-plane base URL is account-scoped: https://.api.decodable.co. All requests are authenticated with a Bearer access token (the token issued after CLI login, found in ~/.decodable/auth). Endpoints and schemas in this document reflect publicly documented Decodable API behavior; fields not confirmed in public documentation are intentionally omitted rather than fabricated.' termsOfService: https://www.decodable.co/terms-of-service contact: name: Decodable Support url: https://docs.decodable.co version: v1alpha2 servers: - url: https://{account}.api.decodable.co description: Decodable control-plane API (account-scoped) variables: account: default: acme-01 description: Your Decodable account name security: - bearerAuth: [] tags: - name: Secrets description: Securely stored credentials referenced by connections. paths: /v1alpha2/secrets/: get: operationId: listSecrets tags: - Secrets summary: List secrets responses: '200': description: A list of secrets (metadata only; values are not returned). content: application/json: schema: $ref: '#/components/schemas/SecretList' post: operationId: createSecret tags: - Secrets summary: Create a secret requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Secret' responses: '201': description: The created secret. content: application/json: schema: $ref: '#/components/schemas/Secret' /v1alpha2/secrets/{secret_id}: parameters: - $ref: '#/components/parameters/SecretId' get: operationId: getSecret tags: - Secrets summary: Get a secret description: Returns secret metadata; the secret value is not returned. responses: '200': description: The requested secret. content: application/json: schema: $ref: '#/components/schemas/Secret' put: operationId: updateSecret tags: - Secrets summary: Update a secret requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Secret' responses: '200': description: The updated secret. content: application/json: schema: $ref: '#/components/schemas/Secret' delete: operationId: deleteSecret tags: - Secrets summary: Delete a secret responses: '204': description: The secret was deleted. components: schemas: SecretList: type: object properties: items: type: array items: $ref: '#/components/schemas/Secret' Secret: type: object properties: id: type: string readOnly: true name: type: string description: type: string value: type: string writeOnly: true description: The secret value; write-only and never returned in responses. parameters: SecretId: name: secret_id in: path required: true schema: type: string securitySchemes: bearerAuth: type: http scheme: bearer description: 'Decodable access token issued after CLI login (stored in ~/.decodable/auth), sent as an Authorization: Bearer header.'