Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/deutsche-telekom-rover-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Api Rover API
description: API of the TARDIS control plane. With this API, you can manage your Rovers, ApiSpecifications, ApiRoadmaps, FileSpecifications and EventSpecifications.
contact:
name: TARDIS
url: https://developer.telekom.de/docs/src/tardis_customer_handbook/support/
email: FMB_TARDIS_Support@telekom.de
version: 3.0.0
x-api-category: Infrastructure
servers:
- url: https://{host}/rover/v3
description: API where access must be approved. Supports more access-scopes.
variables:
host:
default: api.telekom.de
description: The Stargate host, see [docs](https://developer.telekom.de/docs/src/tardis_customer_handbook/StarGate_Environment_Overview/#stargate-and-iris)
- url: https://{host}/rover/api
description: Team-API that every team may use automatically, but supports only team-access. This API is also used by rover-ctl.
variables:
host:
default: api.telekom.de
description: The Stargate host, see [docs](https://developer.telekom.de/docs/src/tardis_customer_handbook/StarGate_Environment_Overview/#stargate-and-iris)
security:
- OAuth2:
- tardis:admin:all
tags:
- name: Rover
description: Manage Rovers
paths:
/rovers:
get:
tags:
- Rover
summary: Find all Rovers
description: Find all Rovers of a Team
operationId: getAllRovers
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/RoverListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'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:
- Rover
summary: Create a Rover
description: Create a Rover. 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: createRover
deprecated: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RoverCreateRequest'
responses:
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/RoverResponse'
'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
/rovers/info:
get:
tags:
- Rover
summary: Read info of all applications of a Team
description: Read info of all applications of a Team
operationId: getApplicationsInfo
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Cursor'
- $ref: '#/components/parameters/Sort'
- name: names
description: Filter by application names
in: query
required: false
schema:
type: array
items:
type: string
- $ref: '#/components/parameters/ShallowInfo'
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/RoverInfoResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'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
/rovers/{roverId}:
get:
tags:
- Rover
summary: Find an existing Rover
description: Find an existing Rover
operationId: getRover
parameters:
- $ref: '#/components/parameters/RoverId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RoverResponse'
'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:
- Rover
summary: Update an existing Rover
description: Update an existing Rover. 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: updateRover
parameters:
- $ref: '#/components/parameters/RoverId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RoverUpdateRequest'
responses:
'202':
description: ACCEPTED
content:
application/json:
schema:
$ref: '#/components/schemas/RoverResponse'
'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:
- Rover
summary: Delete a Rover
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 Rover - will remove your API / Subscriptions / Exposures\n"
operationId: deleteRover
parameters:
- $ref: '#/components/parameters/RoverId'
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
/rovers/{roverId}/info:
get:
tags:
- Rover
summary: Read info of a specific application
description: Read info of a specific application
operationId: getApplicationInfo
parameters:
- $ref: '#/components/parameters/RoverId'
- $ref: '#/components/parameters/ShallowInfo'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RoverInfoResponse'
'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
/rovers/{roverId}/secret:
patch:
tags:
- Rover
summary: Rotate the clientSecret for an Application
description: 'Initiates a secret rotation for the Application. The rotation is handled by the admission webhook which decides whether to perform a graceful rotation (old secret remains valid during a grace period) or a non-graceful rotation based on the zone configuration.
'
operationId: resetRoverSecret
parameters:
- $ref: '#/components/parameters/RoverId'
responses:
'202':
description: Accepted - secret rotation initiated
content:
application/json:
schema:
$ref: '#/components/schemas/RoverSecretRotationAcceptedResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Conflict - a secret rotation is already in progress
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'415':
$ref: '#/components/responses/UnsupportedMediaType'
'500':
$ref: '#/components/responses/ServerError'
security:
- OAuth2:
- tardis:admin:all
- tardis:hub:all
- tardis:team:all
- tardis:user:all
/rovers/{roverId}/secret/status:
get:
tags:
- Rover
summary: Get the secret rotation status for an Application
description: 'Returns the current secret rotation status for an Application, including whether a graceful rotation is in progress, whether it has converged, and the relevant expiry timestamps.
'
operationId: getRoverSecretRotationStatus
parameters:
- $ref: '#/components/parameters/RoverId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RoverSecretRotationStatusResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
security:
- OAuth2:
- tardis:admin:all
- tardis:hub:all
- tardis:team:all
- tardis:user:all
- tardis:user:read
/rovers/{roverId}/status:
get:
tags:
- Rover
summary: Find an existing Rover and return its status
description: Find an existing Rover and return its status
operationId: getRoverStatus
parameters:
- $ref: '#/components/parameters/RoverId'
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:
schemas:
AuthorizationInfo:
type: object
properties:
resource:
type: string
role:
type: string
actions:
type: array
items:
type: string
permissions:
type: array
items:
$ref: '#/components/schemas/AuthorizationPermissionInfo'
EventExposure:
type: object
required:
- type
- approval
- visibility
- eventType
properties:
type:
type: string
approval:
$ref: '#/components/schemas/ApprovalStrategy'
trustedTeams:
type: array
items:
$ref: '#/components/schemas/TrustedTeam'
visibility:
$ref: '#/components/schemas/Visibility'
eventType:
type: string
eventCategory:
$ref: '#/components/schemas/Category'
additionalPublisherIds:
uniqueItems: true
type: array
items:
type: string
scopes:
type: array
items:
$ref: '#/components/schemas/EventScope'
ApiExposure:
type: object
required:
- type
- approval
- visibility
- basePath
properties:
type:
type: string
approval:
$ref: '#/components/schemas/ApprovalStrategy'
trustedTeams:
type: array
items:
$ref: '#/components/schemas/TrustedTeam'
visibility:
$ref: '#/components/schemas/Visibility'
basePath:
type: string
upstream:
type: string
security:
$ref: '#/components/schemas/Security'
rateLimit:
$ref: '#/components/schemas/RateLimitContainer'
failover:
$ref: '#/components/schemas/Failover'
loadBalancing:
$ref: '#/components/schemas/LoadBalancing'
removeHeaders:
type: array
items:
type: string
description: Allows you to specify a list of header names that will be removed before forwarding the request to the provider
circuitBreaker:
$ref: '#/components/schemas/CircuitBreaker'
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'
Failover:
type: object
required:
- zones
properties:
zones:
description: Provide a list of zones which you are able to use for failover
type: array
items:
type: string
minItems: 1
uniqueItems: true
FailoverInfo:
type: object
readOnly: true
properties:
zone:
type: string
readOnly: true
stargateApiEndpointUrl:
type: string
readOnly: true
irisTokenEndpointUrl:
type: string
readOnly: true
AuthorizationPermissionInfo:
type: object
properties:
resource:
type: string
role:
type: string
actions:
type: array
items:
type: string
RoverUpdateRequest:
allOf:
- $ref: '#/components/schemas/Rover'
- properties:
clientSecret:
type: string
description: 'This field is only used for migration purposes and will be ignored otherwise.
'
RoverResponse:
allOf:
- $ref: '#/components/schemas/Rover'
- properties:
name:
type: string
example: myapp
LoadBalancing:
type: object
required:
- servers
properties:
servers:
description: Provide a list of servers to use for loadBalancing
type: array
items:
$ref: '#/components/schemas/Server'
health:
$ref: '#/components/schemas/Health'
ConsumerRateLimit:
type: object
required:
- id
allOf:
- $ref: '#/components/schemas/RateLimit'
- properties:
id:
type: string
description: The unique ID of this consumer (their clientId)
RoverCreateRequest:
required:
- zone
- name
type: object
allOf:
- $ref: '#/components/schemas/Rover'
- properties:
name:
type: string
example: myapp
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
StateInfo:
type: object
readOnly: true
required:
- message
properties:
message:
type: string
cause:
type: string
RoverSecretRotationStatusResponse:
type: object
readOnly: true
required:
- clientId
- processingState
- overallStatus
properties:
clientId:
type: string
description: The clientId of the application
processingState:
$ref: '#/components/schemas/ProcessingState'
overallStatus:
$ref: '#/components/schemas/OverallStatus'
rotatedExpiresAt:
type: string
format: date-time
description: When the rotated (old) secret stops being accepted
currentExpiresAt:
type: string
format: date-time
description: When the current secret will expire and should be rotated
clientSecret:
type: string
description: The current (new) client secret value
rotatedClientSecret:
type: string
description: The previous (rotated) client secret value, valid until rotatedExpiresAt
RateLimit:
type: object
properties:
second:
format: int32
type: integer
minute:
format: int32
type: integer
hour:
format: int32
type: integer
faultTolerant:
type: boolean
hideClientHeaders:
type: boolean
Problem:
type: object
required:
- message
- cause
properties:
resource:
$ref: '#/components/schemas/ResourceRef'
context:
type: string
message:
type: string
cause:
type: string
details:
type: string
ApprovalStrategy:
enum:
- AUTO
- SIMPLE
- FOUREYES
type: string
Authentication:
type: object
properties:
publicClient:
type: boolean
clientAuthMethod:
type: string
enum:
- NONE
- POST
- BASIC
description: Configures client authentication method, according to RFC 6749.
redirectUrls:
type: array
items:
type: string
postLogoutRedirectUrls:
type: array
items:
type: string
applicationScope:
type: string
Security:
type: object
discriminator:
propertyName: type
mapping:
oauth2: '#/components/schemas/Oauth2'
basicAuth: '#/components/schemas/BasicAuth'
oneOf:
- $ref: '#/components/schemas/Oauth2'
- $ref: '#/components/schemas/BasicAuth'
Server:
type: object
required:
- upstream
properties:
upstream:
type: string
weight:
type: integer
BasicAuth:
type: object
required:
- type
- username
- password
properties:
type:
type: string
enum:
- basicAuth
username:
type: string
password:
type: string
ApiExposureInfo:
type: object
allOf:
- $ref: '#/components/schemas/ApiExposure'
- properties:
type:
type: string
enum:
- api
EventTrigger:
type: object
properties:
responseFilter:
type: array
items:
type: string
responseFilterMode:
type: string
default: include
enum:
- include
- exclude
selectionFilter:
type: object
additionalProperties:
type: string
advancedSelectionFilter:
type: object
OverallStatus:
description: Status of this resource and all its relevant sub-resources
enum:
- invalid
- processing
- failed
- blocked
- pending
- complete
- done
- none
type: string
EventSubscriptionInfo:
type: object
allOf:
- $ref: '#/components/schemas/EventSubscription'
- properties:
type:
type: string
enum:
- event
horizonSubscriptionId:
type: string
horizonSubscriptionUrl:
type: string
SecretInfo:
type: object
properties:
clientSecret:
type: string
description: The current client secret value
currentExpiresAt:
type: string
format: date-time
description: When the current secret will expire and should be rotated
rotatedClientSecret:
type: string
description: The previous (rotated) client secret value, valid until rotatedExpiresAt
rotatedExpiresAt:
type: string
format: date-time
description: When the rotated (old) secret stops being accepted
ApiSubscription:
type: object
required:
- type
- basePath
properties:
type:
type: string
basePath:
type: string
failover:
$ref: '#/components/schemas/Failover'
security:
$ref: '#/components/schemas/Security'
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'
ProcessingState:
enum:
- none
- pending
- processing
- failed
- done
type: string
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
Category:
type: string
ApiSubscriptionInfo:
type: object
allOf:
- $ref: '#/components/schemas/ApiSubscription'
- properties:
type:
type: string
enum:
- api
failoverInfos:
type: array
items:
$ref: '#/components/schemas/FailoverInfo'
FieldProblem:
type: object
required:
- title
properties:
title:
type: string
detail:
type: string
path:
type: string
ConsumerRateLimitContainer:
type: object
properties:
consumerDefault:
$ref: '#/components/schemas/RateLimit'
consumers:
type: array
description: 'Rate limits for specific consumers. This will be merged with the default rate limit. This will take precedence over the default rate limit.
'
items:
$ref: '#/components/schemas/ConsumerRateLimit'
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
TrustedTeam:
description: A trusted team is a team that is allowed to access the resource without explicit approval
type: object
properties:
team:
type: string
required:
- team
Exposure:
type: object
discriminator:
propertyName: type
mapping:
api: '#/components/schemas/ApiExposure'
event: '#/components/schemas/EventExposure'
oneOf:
- $ref: '#/components/schemas/ApiExposure'
- $ref: '#/components/schemas/EventExposure'
IpRestrictions:
type: object
properties:
allow:
type: array
items:
type: string
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'
RateLimitContainer:
type: object
allOf:
- $ref: '#/components/schemas/ConsumerRateLimitContainer'
- properties:
provider:
$ref: '#/components/schemas/RateLimit'
Visibility:
enum:
- ENTERPRISE
- WORLD
- ZONE
type: string
Health:
type: object
properties:
httpPath:
type: string
RoverInfoResponse:
type: object
readOnly: true
required:
- environment
- hub
- team
- applications
properties:
environment:
type: string
hub:
type: string
team:
type: string
applications:
type: array
items:
$ref: '#/components/schemas/ApplicationInfo'
ApplicationInfo:
type: object
readOnly: true
required:
- name
- zone
- status
- irisClientId
- irisClientSecret
- irisIssuerUrl
- irisTokenEndpointUrl
- subscriptions
- exposures
- variables
- errors
- warnings
- infos
properties:
name:
type: string
zone:
type: string
irisClientId:
type: string
irisClientSecret:
type: string
description: 'Deprecated: Use secretInfo.clientSecret instead. This field will be removed in a future version.'
deprecated: true
irisIssuerUrl:
type: string
irisTokenEndpointUrl:
type: string
stargateUrl:
type: string
stargateIssuerUrl:
type: string
stargatePublishEventUrl:
type: string
observerUrl:
type: string
psiid:
type: string
pattern: ^PSI-[0-9]{6}$
example: PSI-103596
description: PSI system number identifier attached to this application
exposures:
type: array
items:
$ref: '#/components/schemas/ExposureInfo'
subscriptions:
type: array
items:
$ref: '#/components/schemas/SubscriptionInfo'
variables:
type: array
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/deutsche-telekom/refs/heads/main/openapi/deutsche-telekom-rover-api-openapi.yml