openapi: 3.2.0 info: title: DN TM Authorization TM Authorization API description: Public TM Authorization API of Diebold Nixdorf to access the Transaction Middleware. version: 1.8.1 contact: email: thorsten.brinkmann@dieboldnixdorf.com servers: - url: http://localhost:8080/oauth-api/v1 - url: https://localhost:8080/oauth-api/v1 tags: - name: TM Authorization API paths: /tm-authorization/authenticate: post: tags: - TM Authorization API summary: An endpoint to authenticate a user description: 'An endpoint to authenticates an user and returns on success a JWT token for all further requests. The access token is valid for 1 hour, if not set to a different value in the TM configuration. The user will be logged in and his initial hierarchy will be loaded. ATTENTION: The delivered access token has to be used in the Authorization header attribute of all further requests. Moreover, a header attribute nodeID must be set with the value of the desired node in all further requests! Please see: $ref: ''#/components/parameters/nodeID-Param'' Moreover, together with the access token some other information are returned in the response such as the root node hierarchy, granted rights etc..' operationId: tm-authenticate requestBody: content: application/json: schema: $ref: '#/components/schemas/TmAuthenticationRequest' responses: '200': description: 'Th user has been authenticated. ' content: application/json: schema: $ref: '#/components/schemas/TmAuthenticationResponse' example: state: OK jwt: ey..5c '400': $ref: '#/components/responses/BadRequest400' '401': $ref: '#/components/responses/Unauthorized401' '500': $ref: '#/components/responses/InternalServerError500' /tm-authorization/logout: delete: tags: - TM Authorization API operationId: tm-logout security: - bearerAuth: [] summary: An endpoint to logout an already authenticated user description: An endpoint to logout an already authenticated user. responses: '200': description: OK '400': $ref: '#/components/responses/BadRequest400' '401': $ref: '#/components/responses/Unauthorized401' '500': $ref: '#/components/responses/InternalServerError500' /tm-authorization/keys: get: tags: - TM Authorization API summary: An endpoint to get the public keys to verify the JWT token description: An endpoint to get the public keys to verify the JWT token. operationId: tm-get-keys responses: '200': description: 'Th user has been authenticated. ' content: application/json: schema: $ref: '#/components/schemas/TmGetKeysResponse' '400': $ref: '#/components/responses/BadRequest400' '500': $ref: '#/components/responses/InternalServerError500' components: responses: BadRequest400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' InternalServerError500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' schemas: TmRight: type: object description: 'Describes a right as integer values as well as in a readable form. ' required: - rightId - rightName properties: rightId: type: string description: 'The id of the right. ' rightName: type: string description: 'The right in a human readable form. ' rightDescription: type: string description: 'The description of the right in a human readable form. ' Error: description: "The error property is optional.