openapi: 3.0.0
info:
  version: '1.0.0-alpha'
  title: Zustelldienst - API Spezifikation
  description: Übergreifende API Schnittstelle des Zustelldienstes.
  contact:
    name: FITKO
    url: 'https://www.fitko.de/'
  license:
    url: 'https://creativecommons.org/licenses/by-sa/4.0/'
    name: Creative Commons Attribution Share Alike 4.0 (CC BY-SA 4.0)
  termsOfService: https://www.fitko.de/
servers:
  - url: 'https://sender-test.fiep-poc.de/beta8'
    description: Testsystem
tags:
  - name: Destination Management
  - name: Application Transfer
  - name: Application Retrieval
  - name: Technical
paths:
  /destinations:
    $ref: './endpoints/destinations/index.yml'

  /destinations/{destinationId}:
    $ref: './endpoints/destinations/uuid.yml'

  /applications:
    $ref: './endpoints/applications/index.yml'

  /applications/{applicationId}:
    $ref: './endpoints/applications/uuid.yml'

  /applications/{applicationId}/documents/{documentId}:
    $ref: './endpoints/documents/uuid.yml'

  /info:
    $ref: './endpoints/info/get-info.yml'

  /status:
    $ref: './endpoints/status.yml'

components:
  securitySchemes:
    OAuth20:
      $ref: './security/oauth2.yml'
  parameters:
    applicationId:
      $ref: './parameters/applicationId.yml'
    destinationId:
      $ref: './parameters/destinationId.yml'
    documentId:
      $ref: './parameters/documentId.yml'
  schemas:
    ApplicationCreatedResponse:
      $ref: './schemas/application-created-response.yml'
    ApplicationSchema:
      $ref: './schemas/application-schema.yml'
    ApplicationState:
      $ref: './schemas/application-state.yml'
    CreateApplicationRequest:
      $ref: './schemas/create-application-request.yml'
    CreateDestinationRequest:
      $ref: './schemas/create-destination-request.yml'
    CreateDocumentRequest:
      $ref: './schemas/create-document-request.yml'
    EmptyBody:
      $ref: './schemas/empty-body.yml'
    ErrorResponse:
      $ref: './schemas/error-response.yml'
    GetAllDestinationsResponse:
      $ref: './schemas/get-all-destinations-response.yml'
    GetApplicationResponse:
      $ref: './schemas/get-application-response.yml'
    GetDestinationResponse:
      $ref: './schemas/destination.yml'
    GetDocumentResponse:
      $ref: './schemas/get-document-response.yml'
    Info:
      $ref: './schemas/info.yml'
    JWK:
      $ref: './schemas/jwk.yml'
    ListOfApplicationIds:
      $ref: './schemas/list-of-application-ids.yml'
    StateTransition:
      $ref: './schemas/state-transition.yml'
    Status:
      $ref: './schemas/status.yml'
    SubmitApplicationRequest:
      $ref: './schemas/submit-application-request.yml'
    TechnicalContact:
      $ref: './schemas/technical-contact.yml'
    UpdateDestinationRequest:
      $ref: './schemas/update-destination-request.yml'
    Version:
      $ref: './schemas/version.yml'

  examples:
    ApplicationCreatedResponse:
      $ref: './examples/application-created-response.yml'
    ApplicationResponse:
      $ref: './examples/application-response.yml'
    CreateApplicationRequest:
      $ref: './examples/create-application-request.yml'
    DestinationList:
      $ref: './examples/destination-list.yml'
    DestinationRequest:
      $ref: './examples/destination-request.yml'
    DestinationResponse:
      $ref: './examples/destination-response.yml'
    EmptyBody:
      $ref: './examples/empty-body.yml'
    EncryptedMessage:
      $ref: './examples/encrypted-message.yml'
    Info:
      $ref: './examples/info.yml'
