openapi: 3.0.1
info:
  description: The Peppol Connector API
  title: Peppol Connector API
  version: 0.0.244
servers:
- description: Generated server url
  url: https://api.btx.fr.banqup.com/connectors/peppol
- description: Generated server url
  url: https://api.btx.eu.banqup.com/connectors/peppol
security:
- peppol-connector-shared-oauth2: []
paths:
  /v1/spaces/connectors/peppol/configurationUI:
    post:
      description: "\tRetrieves a list of Peppol participant IDs that can be registered
        on the Peppol network\n\tbased on the configured identifiers within a given
        space.\n\n\t- The UI should display this information in the Peppol Connector
        configuration screen.\n\t- A participant ID is eligible for registration/un-registration
        if it is registered on another platform.\n <br/> Scope: []"
      operationId: configurationUI
      parameters:
      - in: query
        name: spaceId
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PeppolParticipantInformation'
          description: Success - List of address lines.
        '400':
          content:
            application/json: {}
          description: Bad Request - Invalid input data.
      summary: Retrieve Peppol participant registration eligibility
      tags:
      - Peppol Connector API
components:
  schemas:
    AdvancedSettingEntry:
      type: object
      properties:
        endDate:
          type: string
          format: date
        masked:
          type: boolean
        startDate:
          type: string
          format: date
      required:
      - masked
      - startDate
    ConfigureExtensionRequest:
      type: object
      properties:
        entityId:
          type: string
          format: uuid
        extensionId:
          type: string
          format: uuid
        name:
          type: string
        namespace:
          type: string
        settings:
          $ref: '#/components/schemas/PeppolConfigurationSettings'
        spaceId:
          type: string
          format: uuid
      required:
      - entityId
      - extensionId
      - name
      - namespace
      - spaceId
    DocumentValidationRequest:
      type: object
      properties:
        documentId:
          type: string
          format: uuid
        spaceId:
          type: string
          format: uuid
        validationId:
          type: string
          format: uuid
      required:
      - documentId
      - spaceId
      - validationId
    ExtensionActivateRequest:
      type: object
      properties:
        entityId:
          type: string
          format: uuid
        extensionId:
          type: string
          format: uuid
        name:
          type: string
        namespace:
          type: string
        spaceId:
          type: string
          format: uuid
      required:
      - entityId
      - extensionId
      - name
      - namespace
      - spaceId
    ExtensionAddRequest:
      type: object
      properties:
        entityId:
          type: string
          format: uuid
        spaceId:
          type: string
          format: uuid
      required:
      - entityId
      - spaceId
    ExtensionDeactivateRequest:
      type: object
      properties:
        entityId:
          type: string
          format: uuid
        extensionId:
          type: string
          format: uuid
        name:
          type: string
        namespace:
          type: string
        spaceId:
          type: string
          format: uuid
      required:
      - entityId
      - extensionId
      - name
      - namespace
      - spaceId
    ExtensionUpdateConfigureDetailResult:
      type: object
      properties:
        enabled:
          type: boolean
        identifier:
          type: string
        results:
          type: array
          items:
            $ref: '#/components/schemas/ExtensionUpdateConfigureSettingDetailResult'
        success:
          type: boolean
    ExtensionUpdateConfigureResult:
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ExtensionUpdateConfigureDetailResult'
        totalFailure:
          type: integer
          format: int64
        totalSuccess:
          type: integer
          format: int64
    ExtensionUpdateConfigureSettingDetailResult:
      type: object
      properties:
        endDate:
          type: string
          format: date
        masked:
          type: boolean
        message:
          type: string
        startDate:
          type: string
          format: date
        success:
          type: boolean
      required:
      - startDate
    PeppolConfigurationSettings:
      type: object
      properties:
        advanced:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/AdvancedSettingEntry'
        identifiers:
          type: object
          additionalProperties:
            type: boolean
        pdpEnabled:
          type: boolean
    PeppolDirectorySearchRequest:
      type: object
      properties:
        connectionId:
          type: string
          format: uuid
        spaceId:
          type: string
          format: uuid
      required:
      - connectionId
      - spaceId
    PeppolDocumentAddRequest:
      type: object
      properties:
        deliveryId:
          type: string
        entityId:
          type: string
          format: uuid
        spaceId:
          type: string
          format: uuid
        ublFile:
          type: string
          format: binary
      required:
      - deliveryId
      - entityId
      - spaceId
      - ublFile
    PeppolDocumentAddResult:
      type: object
      properties:
        entityId:
          type: string
          format: uuid
        fileId:
          type: string
        message:
          type: string
        spaceId:
          type: string
          format: uuid
        status:
          type: boolean
    PeppolDocumentSendRequest:
      type: object
      properties:
        documentIds:
          type: array
          items:
            type: string
            format: uuid
        spaceId:
          type: string
          format: uuid
      required:
      - documentIds
      - spaceId
    PeppolMessageResult:
      type: object
      properties:
        message:
          type: string
        messageId:
          type: string
    PeppolParticipantInformation:
      type: object
      properties:
        participantId:
          type: string
          description: The Peppol participant ID
          example: 0208:0417497106
        platform:
          type: string
          description: The platform name (optional)
          example: banqup
        registrable:
          type: boolean
          description: Indicates if the participant can be registered/unregistered
          example: true
        schemaId:
          type: string
          description: The scheme identifier for the participant
          example: '0208'
      required:
      - participantId
      - registrable
      - schemaId
    PeppolSearchDocumentType:
      type: object
      properties:
        scheme:
          type: string
        value:
          type: string
    PeppolSearchParticipantId:
      type: object
      properties:
        scheme:
          type: string
        value:
          type: string
    PeppolSearchResponse:
      type: object
      properties:
        name:
          type: string
        settings:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PeppolSearchSetting'
    PeppolSearchSetting:
      type: object
      properties:
        docTypes:
          type: array
          items:
            $ref: '#/components/schemas/PeppolSearchDocumentType'
        participantId:
          $ref: '#/components/schemas/PeppolSearchParticipantId'
    ProblemDetail:
      type: object
      properties:
        detail:
          type: string
        instance:
          type: string
          format: uri
        properties:
          type: object
          additionalProperties:
            type: object
        status:
          type: integer
          format: int32
        title:
          type: string
        type:
          type: string
          format: uri
  securitySchemes:
    peppol-connector-shared-oauth2:
      scheme: bearer
      type: http
