Deutsche Telekom EventSpecification API
Manage EventSpecifications
Manage EventSpecifications
openapi: 3.0.1
info:
title: Controlplane Api ApiChangelog EventSpecification 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: EventSpecification
description: Manage EventSpecifications
paths:
/eventspecifications:
get:
tags:
- EventSpecification
summary: Find all EventSpecifications
description: Find all EventSpecifications of a Team
operationId: getAllEventSpecifications
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Cursor'
- $ref: '#/components/parameters/Sort'
responses:
'200':
description: OK
headers:
X-Total-Count:
$ref: '#/components/headers/XTotalCount'
X-Result-Count:
$ref: '#/components/headers/XResultCount'
content:
application/json:
schema:
$ref: '#/components/schemas/EventSpecificationListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'500':
$ref: '#/components/responses/ServerError'
security:
- OAuth2:
- tardis:admin:all
- tardis:admin:read
- tardis:admin:obfuscated
- tardis:supervisor:read
- tardis:hub:all
- tardis:hub:read
- tardis:hub:obfuscated
- tardis:team:all
- tardis:team:read
- tardis:team:obfuscated
- tardis:user:all
- tardis:user:read
- tardis:user:obfuscated
post:
tags:
- EventSpecification
summary: Create an EventSpecification
description: Create an EventSpecification. Creating and updating resources is asynchronous, which is why the status is given as an answer to a POST/PUT request, since it is possible that the resource to be created has not yet been processed at the time the response is created. If the status after creation is in state "Processing", the resource must be queried with GET to see whether it was created successfully or whether errors/warnings are written in the status. If the creation/update is incorrect, the processing status will be set to blocked. Otherwise to "failed". Status 201 means, that we accepted the request and there are no syntactic or semantic errors, but there can occur failures in the after processing. That will be shown in the status if you request the appropriate resource.
operationId: createEventSpecification
deprecated: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventSpecificationCreateRequest'
responses:
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/EventSpecificationResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'500':
$ref: '#/components/responses/ServerError'
security:
- OAuth2:
- tardis:admin:all
- tardis:hub:all
- tardis:team:all
- tardis:user:all
/eventspecifications/{eventSpecificationId}:
get:
tags:
- EventSpecification
summary: Find an existing EventSpecification
description: Find an existing EventSpecification
operationId: getEventSpecification
parameters:
- name: eventSpecificationId
description: The unique id of this resource
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EventSpecificationResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'500':
$ref: '#/components/responses/ServerError'
security:
- OAuth2:
- tardis:admin:all
- tardis:admin:read
- tardis:admin:obfuscated
- tardis:supervisor:read
- tardis:hub:all
- tardis:hub:read
- tardis:hub:obfuscated
- tardis:team:all
- tardis:team:read
- tardis:team:obfuscated
- tardis:user:all
- tardis:user:read
- tardis:user:obfuscated
put:
tags:
- EventSpecification
summary: Update an existing EventSpecification
description: Update an existing EventSpecification. Creating and updating resources is asynchronous, which is why the status is given as an answer to a POST/PUT request, since it is possible that the resource to be created has not yet been processed at the time the response is created. If the status after creation is in state "Processing", the resource must be queried with GET to see whether it was created successfully or whether errors/warnings are written in the status. If the creation/update is incorrect, the processing status will be set to blocked. Otherwise to "failed". Status 201 means, that we accepted the request and there are no syntactic or semantic errors, but there can occur failures in the after processing. That will be shown in the status if you request the appropriate resource.
operationId: updateEventSpecification
parameters:
- name: eventSpecificationId
description: The unique id of this resource
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventSpecificationUpdateRequest'
responses:
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/EventSpecificationResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'500':
$ref: '#/components/responses/ServerError'
security:
- OAuth2:
- tardis:admin:all
- tardis:hub:all
- tardis:team:all
- tardis:user:all
delete:
tags:
- EventSpecification
summary: Delete an EventSpecification
description: "**Important:** The deletion is done asynchronously to ensure that the resource was actually deleted, use this or the GET resource until you receive a 404 response. \nDelete an EventSpecification\n"
operationId: deleteEventSpecification
parameters:
- name: eventSpecificationId
description: The unique id of this resource
in: path
required: true
schema:
type: string
responses:
'204':
description: DELETED
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'500':
$ref: '#/components/responses/ServerError'
security:
- OAuth2:
- tardis:admin:all
- tardis:hub:all
- tardis:team:all
- tardis:user:all
/eventspecifications/{eventSpecificationId}/status:
get:
tags:
- EventSpecification
summary: Find an existing EventSpecification and return its status
description: Find an existing EventSpecification and return its status
operationId: getEventSpecificationStatus
parameters:
- name: eventSpecificationId
description: The unique id of this resource
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceStatusResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'500':
$ref: '#/components/responses/ServerError'
security:
- OAuth2:
- tardis:admin:all
- tardis:admin:read
- tardis:admin:obfuscated
- tardis:supervisor:read
- tardis:hub:all
- tardis:hub:read
- tardis:hub:obfuscated
- tardis:team:all
- tardis:team:read
- tardis:team:obfuscated
- tardis:user:all
- tardis:user:read
- tardis:user:obfuscated
components:
responses:
UnsupportedMediaType:
description: UNSUPPORTED_MEDIATYPE
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: BAD_REQUEST
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: NOT_FOUND
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: FORBIDDEN
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: UNAUTHORIZED
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
ServerError:
description: SERVER_ERROR
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
parameters:
Sort:
name: sort
in: query
description: list of fields to be used for sorting. Default is name
required: false
schema:
type: string
enum:
- name
Cursor:
name: cursor
in: query
description: cursor to be used for pagination. If not provided, the first page will be returned. The cursor is a string that points to a page of data.
required: false
schema:
type: string
Limit:
name: limit
description: page size requested by the consumer; must not be larger than the maximal page size
in: query
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 20
default: 20
schemas:
EventSpecification:
type: object
required:
- type
- version
- description
properties:
type:
description: Your event type (separated with dots)
type: string
example: de.telekom.eni.quickstart.v1
version:
type: string
example: 1.0.0
category:
allOf:
- $ref: '#/components/schemas/Category'
- description: Category of this EventSpecification
description:
description: A short description for your events
type: string
example: An event type for the quickstart guide
specification:
description: Optional JSON scheme
type: object
additionalProperties: true
FieldProblem:
type: object
required:
- title
properties:
title:
type: string
detail:
type: string
path:
type: string
EventSpecificationListResponse:
type: object
properties:
_links:
$ref: '#/components/schemas/Links'
items:
type: array
items:
$ref: '#/components/schemas/EventSpecificationResponse'
State:
enum:
- none
- invalid
- blocked
- complete
type: string
EventSpecificationUpdateRequest:
allOf:
- $ref: '#/components/schemas/EventSpecification'
Links:
description: HATEOAS links for pagination
type: object
required:
- self
- next
properties:
self:
type: string
format: uri
description: the URI for the current page for requested pagination
next:
type: string
format: uri
description: the URI for the next page for requested pagination, based on the requested limit value
OverallStatus:
description: Status of this resource and all its relevant sub-resources
enum:
- invalid
- processing
- failed
- blocked
- pending
- complete
- done
- none
type: string
EventSpecificationCreateRequest:
allOf:
- $ref: '#/components/schemas/EventSpecification'
- type: object
properties:
team:
type: string
example: hyperion
description: This field is only used for hub-scoped access to control the target team of the resource. For everything else, it can be ignored
ResourceStatusResponse:
description: Response resource which contains information about the status of the resource and all its relevant sub-resources
required:
- state
- processingState
- overallStatus
type: object
properties:
createdAt:
type: string
format: date-time
description: Time when the resource was created
processedAt:
type: string
format: date-time
description: Time when the resource was last processed
state:
$ref: '#/components/schemas/State'
processingState:
$ref: '#/components/schemas/ProcessingState'
overallStatus:
$ref: '#/components/schemas/OverallStatus'
errors:
description: List of errors that resulted while processing this resource
type: array
items:
$ref: '#/components/schemas/Problem'
warnings:
description: List of warnings that resulted while processing this resource
type: array
items:
$ref: '#/components/schemas/Problem'
infos:
description: List of infos that resulted while processing this resource
type: array
items:
$ref: '#/components/schemas/Problem'
Problem:
type: object
required:
- message
- cause
properties:
resource:
$ref: '#/components/schemas/ResourceRef'
context:
type: string
message:
type: string
cause:
type: string
details:
type: string
StateInfo:
type: object
readOnly: true
required:
- message
properties:
message:
type: string
cause:
type: string
Error:
description: RFC-7807 conform object sent on any error
type: object
required:
- type
- title
properties:
type:
type: string
title:
type: string
status:
type: number
detail:
type: string
instance:
type: string
errorCode:
type: string
fields:
type: array
items:
$ref: '#/components/schemas/FieldProblem'
ProcessingState:
enum:
- none
- pending
- processing
- failed
- done
type: string
Status:
type: object
readOnly: true
required:
- processingState
- state
- time
properties:
processingState:
$ref: '#/components/schemas/ProcessingState'
state:
$ref: '#/components/schemas/State'
errors:
type: array
items:
$ref: '#/components/schemas/StateInfo'
warnings:
type: array
items:
$ref: '#/components/schemas/StateInfo'
infos:
type: array
items:
$ref: '#/components/schemas/StateInfo'
ResourceRef:
type: object
readOnly: true
required:
- apiVersion
- kind
- name
- namespace
properties:
apiVersion:
type: string
kind:
type: string
name:
type: string
namespace:
type: string
path:
type: string
EventSpecificationResponse:
required:
- id
- type
- version
- category
- description
allOf:
- $ref: '#/components/schemas/EventSpecification'
- type: object
properties:
status:
$ref: '#/components/schemas/Status'
id:
readOnly: true
description: Your event type name (separated with dashes)
type: string
example: my-hub--my-team--de-telekom-eni-quickstart-v1
Category:
type: string
headers:
XResultCount:
description: Actual number of items returned in the response body for this page.
schema:
type: integer
minimum: 0
XTotalCount:
description: Total number of items matching criteria.
schema:
type: integer
minimum: 0