openapi: 3.2.0 info: title: Testflinger Secrets API version: 1.0.0 servers: - url: https://testflinger.ps7.canonical.com/ tags: - name: Secrets paths: /v1/secrets/{client_id}/{path}: put: parameters: - in: path name: client_id schema: type: string required: true - in: path name: path schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SecretOut' description: Successful response '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found tags: - Secrets summary: Store a secret value for the specified client_id and path requestBody: content: application/json: schema: $ref: '#/components/schemas/SecretIn' operationId: putV1SecretsByClientIdByPath x-operation-id-source: derived delete: parameters: - in: path name: client_id schema: type: string required: true - in: path name: path schema: type: string required: true responses: '200': content: application/json: schema: {} description: Successful response '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found tags: - Secrets summary: Remove a secret value for the specified client_id and path operationId: deleteV1SecretsByClientIdByPath x-operation-id-source: derived components: schemas: SecretIn: type: object properties: value: type: string minLength: 1 expire_after: type: - integer - 'null' minimum: 1 ephemeral: type: boolean default: false required: - value additionalProperties: false SecretOut: type: object properties: expires_at: type: - string - 'null' format: date-time description: UTC datetime for secret expiration if TTL is set. additionalProperties: false ValidationError: properties: detail: type: object properties: : type: object properties: : type: array items: type: string message: type: string type: object HTTPError: properties: detail: type: object message: type: string type: object