openapi: 3.0.1
info:
title: Controlplane Api ApiChangelog secrets API
description: API of the TARDIS control plane. With this API configuration connectivity between different Tardis instances in ensured
contact:
name: TARDIS
url: https://developer.telekom.de/docs/src/tardis_customer_handbook/support/
email: FMB_TARDIS_Support@telekom.de
version: 1.0.0
x-api-category: TARDIS
x-vendor: false
servers:
- url: https://api.telekom.de/controlplane/v1
tags:
- name: secrets
description: Everything regarding storing and resolving secrets
paths:
/v1/secrets:
get:
operationId: listSecrets
summary: Get one or multiple secrets
description: Get a list of secrets that are identified by the provided references in the request body
tags:
- secrets
parameters:
- $ref: '#/components/parameters/QuerySecretId'
responses:
'200':
$ref: '#/components/responses/SecretListReponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
/v1/secrets/{secretId}:
get:
operationId: getSecret
summary: Get a specific secret
description: Get a specific secret identified by its reference or ID
tags:
- secrets
parameters:
- $ref: '#/components/parameters/SecretId'
responses:
'200':
$ref: '#/components/responses/SecretResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
put:
operationId: putSecret
summary: Create or update a secret
description: Create or update a secret that is identified by its reference in the request body
tags:
- secrets
parameters:
- $ref: '#/components/parameters/SecretId'
requestBody:
$ref: '#/components/requestBodies/SecretWriteRequest'
responses:
'200':
$ref: '#/components/responses/SecretWriteResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
components:
parameters:
QuerySecretId:
name: secretId
in: query
description: The id or reference to a secret
schema:
type: array
items:
$ref: '#/components/schemas/SecretRef'
SecretId:
name: secretId
in: path
description: The id or reference to a secret
allowEmptyValue: false
required: true
schema:
$ref: '#/components/schemas/SecretRef'
responses:
ErrorResponse:
description: In case of any error, this object is returned
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ApiProblem'
SecretWriteResponse:
description: Successful creation or update of a secret
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
$ref: '#/components/schemas/SecretRef'
SecretResponse:
description: Successful retrieval of secrets
content:
application/json:
schema:
$ref: '#/components/schemas/Secret'
SecretListReponse:
description: Successful retrieval of secrets
content:
application/json:
schema:
type: object
required:
- items
properties:
items:
type: array
description: A list of secrets
minItems: 1
maxItems: 10
items:
$ref: '#/components/schemas/Secret'
schemas:
ApiProblem:
description: Based on https://www.rfc-editor.org/rfc/rfc9457.html
type: object
required:
- type
- status
- title
- detail
properties:
type:
type: string
status:
type: integer
title:
type: string
detail:
type: string
instance:
type: string
SecretRef:
description: A reference to a secret
type: string
Secret:
type: object
required:
- id
- value
properties:
id:
$ref: '#/components/schemas/SecretRef'
value:
type: string
description: If empty, a random secret will be generated
requestBodies:
SecretWriteRequest:
content:
application/json:
schema:
type: object
required:
- value
properties:
value:
description: "This is the value of the secret.\nIf set to `{{rotate}}`, the secret will be randomly generated\nand rotated. \nOtherwise, you can set any string value.\n"
example: '{{rotate}}'
type: string