openapi: 3.0.1
info:
  title: Service Store Management API
  description: The app's APIs allow you to build a digital distribution platform where
    users can browse, download, and install apps. Apps can be standalone applications,
    connectors, and services. These apps offer a wide range of functionality from
    invoicing and payments to user management and networking. Users can use the APIs
    to discover, download, and manage these applications.
  version: 2.2.0
servers:
- description: The Service Store Management API REST endpoint
  url: https://api.uat.btx.fr.banqup.com/servicemngmt
- description: The Service Store Management API REST endpoint
  url: https://api.uat.btx.eu.banqup.com/servicemngmt
tags:
- name: Application categories
  description: Application category API
- name: Application languages
  description: |
    Application Translations API is designed to make applications more accessible by providing translations for various languages.
    This functionality helps developers ensure their applications cater to a diverse audience, improving user experience across different countries.
- name: Application locations
  description: Application location API
- name: Application media
  description: Application media API
- name: Application permission
  description: Application permission API
- name: Application versions
  description: Versions simplify application updates and ensure that each version
    is correctly set up. The Version object contains essential details about the new
    version, including a manifest, copyright, and release information.
- name: Application brands
  description: Application brand API
- name: Applications
  description: |
    The app object represents a software package that allows users to perform specific tasks. They can cater to diverse business needs within the Banqup platform. There can be various apps, ranging from industry-specific tools to general-purpose applications. Apps can typically be pre-installed on a platform or distributed via a proprietary app store.

    Apps can be targeted to 2 types of audiences: the Banqup consumer and third-party developers who want to integrate with particular applications.
- name: Application space types
  description: Application space type API
- name: Application info localizations
  description: |
    Manage the app metadata that is localized and appears on the Banqup Store.
- name: Application space segments
  description: Application space segment API
- name: Categories
  description: Categories serve as organizational structures grouping similar applications
    based on functionality or use case, making it simpler for users to explore and
    find the kind of apps they are looking for. Categories help in organizing the
    available apps into specific genres or themes.
- name: Sub-categories
  description: Subcategories are used to refine further and narrow down the types
    of apps within a particular main category. While categories group applications
    based on overarching themes or functionalities, sub-categories further segment
    these applications into more specialized niches or user needs. They provide users
    with more specific options based on their preferences or requirements.
paths:
  /v1/applications/{applicationId}/categories:
    get:
      tags:
      - Application categories
      summary: List application categories
      description: 'List all the categories for an application <br/> Scope: store_read'
      operationId: listAppCategories
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Listed application categories
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAppCategoryResponse'
              example:
                applicationCategories:
                - id: 00000001-0000-0000-0000-000000000000
                  categoryId: 00000003-0000-0000-0000-000000000000
      security:
      - oauth2:
        - store_read
  /v1/applications/{applicationId}/languages:
    get:
      tags:
      - Application languages
      summary: List application languages
      description: 'List all the languages for an application <br/> Scope: store_read'
      operationId: listAppLanguages
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Listed application languages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAppLanguageResponse'
              example:
                languages:
                - id: 00000001-0000-0000-0000-000000000000
                  language: fr-FR
                  translation:
                    i18n_key: fr_value
      security:
      - oauth2:
        - store_read
    post:
      tags:
      - Application languages
      summary: Create application language
      description: 'Assign a language to an application <br/> Scope: store_write,
        store_admin'
      operationId: createAppLanguage
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Application language to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppLanguageRequest'
            example:
              language: fr-FR
              translation:
                description: Les factures de vente simplifient votre processus de
                  facturation. Créez, envoyez et gérez vos factures de vente sans
                  effort grâce à leur interface conviviale. Suivez les paiements,
                  soyez informé des factures en souffrance et conservez un aperçu
                  clair de vos transactions de vente. Cette application prend en charge
                  différentes devises et taux de taxe, garantissant ainsi la conformité
                  aux réglementations locales. Améliorez l'efficacité de votre facturation
                  avec l'application Factures de vente.
                display_name: Factures de vente
                short_description: Créez, envoyez et gérez facilement vos factures
                  de vente. Suivez les paiements, automatisez les mises à jour et
                  obtenez des informations sur vos ventes.
        required: true
      responses:
        '201':
          description: Created application language
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppLanguageResponse'
              example:
                id: 00000001-0000-0000-0000-000000000000
                language: fr-FR
                translation:
                  description: Les factures de vente simplifient votre processus de
                    facturation. Créez, envoyez et gérez vos factures de vente sans
                    effort grâce à leur interface conviviale. Suivez les paiements,
                    soyez informé des factures en souffrance et conservez un aperçu
                    clair de vos transactions de vente. Cette application prend en
                    charge différentes devises et taux de taxe, garantissant ainsi
                    la conformité aux réglementations locales. Améliorez l'efficacité
                    de votre facturation avec l'application Factures de vente.
                  display_name: Factures de vente
                  short_description: Créez, envoyez et gérez facilement vos factures
                    de vente. Suivez les paiements, automatisez les mises à jour et
                    obtenez des informations sur vos ventes.
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v1/applications/{applicationId}/locations:
    get:
      tags:
      - Application locations
      summary: List application locations
      description: 'List all the locations for an application <br/> Scope: store_read'
      operationId: listAppLocations
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Listed application locations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAppLocationResponse'
              example:
                locations:
                - id: 00000001-0000-0000-0000-000000000000
                  countryCode: BE
                  status: ACTIVE
      security:
      - oauth2:
        - store_read
    post:
      tags:
      - Application locations
      summary: Create application location
      description: 'Assign a location to an application <br/> Scope: store_write,
        store_admin'
      operationId: createAppLocation
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Application location to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppLocationRequest'
            example:
              countryCode: BE
              status: ACTIVE
        required: true
      responses:
        '201':
          description: Created application location
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppLocationResponse'
              example:
                id: 00000001-0000-0000-0000-000000000000
                countryCode: BE
                status: ACTIVE
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v1/applications/{applicationId}/medias:
    get:
      tags:
      - Application media
      summary: List application medias
      description: 'List all the media for an application <br/> Scope: store_read'
      operationId: listAppMedias
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Listed application media
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAppMediaResponse'
              example:
                medias:
                - id: 00000001-0000-0000-0000-000000000000
                  mediaType: LOGO
                  displayOrder: '1'
      security:
      - oauth2:
        - store_read
    post:
      tags:
      - Application media
      summary: Create application media
      description: 'Assign a media to an application <br/> Scope: store_write, store_admin'
      operationId: createAppMedia
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - displayOrder
              type: object
              properties:
                mediaFile:
                  type: object
                  description: 'The media file (supported types: image/jpeg,image/png,image/gif,image/svg+xml,video/mp4,video/mpeg,video/quicktime,video/x-ms-wmv)'
                  format: binary
                mediaType:
                  type: string
                  description: 'The type of the media. Possible values: IMAGE, VIDEO'
                displayOrder:
                  type: integer
                  description: The order of the media (UI level)
                  format: int32
      responses:
        '201':
          description: Created application media
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppMediaResponse'
              example:
                id: 00000001-0000-0000-0000-000000000000
                mediaType: IMAGE
                displayOrder: '1'
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v1/applications/{applicationId}/versions:
    get:
      tags:
      - Application versions
      summary: List application versions
      description: 'List application versions <br/> Scope: store_read, store_admin'
      operationId: listApplicationVersions
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAppVersionInfoResponse'
              example: "\t{\n\t\t\"versions\": [\n\t\t\t{\n\t\t\t  \"id\" : \"1fcf1b7c-747a-4a20-b781-d918271fbd5a\"\
                ,\n\t\t\t  \"version\" : \"1.0\",\n\t\t\t  \"releaseDate\": \"2023-06-16T13:03:36Z\"\
                ,\n\t\t\t  \"status\" : \"INVALID\"\n\t\t\t},\n\t\t\t{\n\t\t\t  \"\
                id\" : \"2fcf1b7c-747a-4a20-b781-d918271fbd5b\",\n\t\t\t  \"version\"\
                \ : \"2.0\",\n\t\t\t  \"releaseDate\": \"2023-07-16T13:03:36Z\",\n\
                \t\t\t  \"status\" : \"VALID\"\n\t\t]\n\t}\n"
      security:
      - oauth2:
        - store_read
        - store_admin
  /v1/applications/{applicationId}/brands:
    get:
      tags:
      - Application brands
      summary: List application brands
      description: 'List all the brands for an application <br/> Scope: store_read'
      operationId: listApplicationBrands
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Listed application brand
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationBrandResponse'
              example:
                brands:
                - id: 00000001-0000-0000-0000-000000000000
                  brandName: Bamqup
      security:
      - oauth2:
        - store_read
    post:
      tags:
      - Application brands
      summary: Create application brand
      description: 'Assign a brand to an application <br/> Scope: store_write, store_admin'
      operationId: createApplicationBrand
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Space type to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationBrandRequest'
            example:
              brandName: Banqup
        required: true
      responses:
        '201':
          description: Created application brand
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationBrandResponse'
              example:
                id: 00000001-0000-0000-0000-000000000000
                brandName: Banqup
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v1/applications/{applicationId}:
    get:
      tags:
      - Applications
      summary: Get application
      description: 'Retrieve the application <br/> Scope: store_read'
      operationId: getApplication
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Retrieved application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationResponse'
              example:
                id: 2aa7c753-6d55-44b6-9b60-06212611cfd6
                namespace: com.unifiedpost.btx.documents
                name: sales-invoices
                publisherName: Banqup
                status: APPROVED
                functionalType: APPLICATION
                audienceType: INTERNAL
                autoApproval: true
        '404':
          description: Not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_read
    delete:
      tags:
      - Applications
      summary: Delete application
      description: 'Delete the application <br/> Scope: store_write, store_admin'
      operationId: deleteApplication
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Deleted application
        '404':
          description: Not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v1/applications:
    get:
      tags:
      - Applications
      summary: List applications
      description: 'List applications with pagination <br/> Scope: store_admin'
      operationId: listApplications
      parameters:
      - name: status
        in: query
        description: Application status
        schema:
          type: string
        example: APPROVED
      - name: page
        in: query
        description: Zero-based page index, cannot be negative, default 0
        schema:
          maximum: 10737418
          minimum: 0
          type: integer
          format: int32
          default: 0
        example: 20
      - name: pageSize
        in: query
        description: 'Page size. Minimum 1, maximum: 200, default 20'
        schema:
          maximum: 200
          minimum: 1
          type: integer
          format: int32
          default: 20
        example: 20
      - name: includeTotalElements
        in: query
        description: Return the totalElements number of entries in the response
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationResponse'
              example:
                applications:
                - id: 2aa7c753-6d55-44b6-9b60-06212611cfd6
                  namespace: com.unifiedpost.btx.documents
                  name: sales-invoices
                  publisherName: Banqup
                  status: APPROVED
                  functionalType: APPLICATION
                  audienceType: INTERNAL
                  autoApproval: false
                - id: 228cf514-83cc-46ca-aa56-7a627dc777eb
                  namespace: com.unifiedpost.btx.connectors
                  name: cross-peppol
                  publisherName: Testing Inc.
                  status: APPROVED
                  functionalType: CONNECTOR
                  audienceType: PUBLIC
                  autoApproval: true
                totalElements: 6
                currentPage: 0
                pageSize: 2
      security:
      - oauth2:
        - store_admin
  /v1/applications/{applicationId}/logo:
    put:
      tags:
      - Applications
      summary: Replace application logo
      description: 'Upload logo to an application <br/> Scope: store_write, store_admin'
      operationId: replaceAppLogo
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                logoFile:
                  type: object
                  description: 'The logo file (supported types: image/jpeg,image/png,image/gif,image/svg+xml)'
                  format: binary
      responses:
        '204':
          description: Logo uploaded successfully
      security:
      - oauth2:
        - store_write
        - store_admin
  /v1/applications/{applicationId}/spaceTypes:
    get:
      tags:
      - Application space types
      summary: List application space types
      description: 'List all the space types for an application <br/> Scope: store_read'
      operationId: listApplicationSpaceTypes
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Listed application space types
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationSpaceTypeResponse'
              example:
                spaceTypes:
                - id: 00000001-0000-0000-0000-000000000000
                  spaceType: BUSINESS
      security:
      - oauth2:
        - store_read
    post:
      tags:
      - Application space types
      summary: Create application space type
      description: 'Assign a space type to an application <br/> Scope: store_write,
        store_admin'
      operationId: createApplicationSpaceType
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Space type to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSpaceTypeRequest'
            example:
              spaceType: PERSONAL
        required: true
      responses:
        '201':
          description: Created application space type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSpaceTypeResponse'
              example:
                id: 00000001-0000-0000-0000-000000000000
                spaceType: BUSINESS
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v2/applications/{applicationId}/versions:
    post:
      tags:
      - Application versions
      summary: Create application version V2
      description: 'Create a new application version <br/> Scope: store_write, store_admin'
      operationId: createAppVersionV2
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Application version to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppVersionRequest_V2'
            example:
              version: 1.0.0
              releaseNote: Initial Sales release notes
              releaseDate: 2023-06-16T13:03:36Z
              manifest:
                serviceAccount: f47c5440-89cb-11ee-b9d1-0242ac120002
                accessManagement:
                  permissions:
                  - resource: space
                    scope: space_read
                  - resource: space
                    scope: space_write
                  - resource: entity
                    scope: entity_read
                additionalScopes:
                  spaceScopes:
                  - valitax_manage_configuration
                  translations: http://app.valitax.com/btx/translations
                frontendModules:
                - name: Purchase
                  type: Application
                  basePath: purchase-invoices
                  supportedDevices:
                  - web
                  - mobile
                  module: invoices
                  moduleUrl: /assets/{version}/micro-frontends/purchase/something.js
                dependencies:
                - namespace: com.unifiedpost.btx
                  name: app-dependency-1
                  minVersion: '1.0'
                  countries:
                  - BE
                  - FR
                - namespace: com.unifiedpost.btx
                  name: app-dependency-2
                  minVersion: '1.2'
                appCallbacks:
                  addUrl: http://addurl.com
                  activationUrl: http://activationurl.com
                  deactivationUrl: http://deactivationurl.com
                  configureUrl: http://configureurl.com
                  removeUrl: http://removeurl.com
                plugins:
                - pluginInterface:
                    name: documentActions
                    namespace: com.unifiedpost.btx
                    version: '2.0'
                  plugins:
                  - namespace: com.banqup.btx.documents
                    name: accept
                  - namespace: com.banqup.btx.documents
                    name: reject
                minAssuranceLevels:
                  entity: urn:btx:L2
                  user: urn:btx:L1
                clientConfigurations:
                  data:
                    translationBaseUri: https://translation-base-uri.com
                    formTemplateUri: https://form-template-uri.com
                  accessManagement:
                    permissions:
                    - resource: client
                      scope: client_read
                    - resource: client
                      scope: client_write
                  appCallbacks:
                    clientAddUrl: http://addurl.com
                    clientActivationUrl: http://activationurl.com
                    clientDeactivationUrl: http://deactivationurl.com
                    clientConfigureUrl: http://configureurl.com
                    clientRemoveUrl: http://removeurl.com
                    security:
                    - oauth2: []
              properties:
                prop1: value1
                prop2: value2
              copyright: Copyright 2024 Unifiedpost
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppVersionResponse_V2'
              example:
                id: 2aa7c753-6d55-44b6-9b60-06212611cfd6
                version: 1.2.3
                releaseNote: Initial Sales release notes
                releaseDate: 2023-06-16T13:03:36Z
                manifest:
                  accessManagement:
                    permissions:
                    - resource: space
                      scope: space_read
                    - resource: space
                      scope: space_write
                    - resource: entity
                      scope: entity_read
                  additionalScopes:
                    spaceScopes:
                    - valitax_manage_configuration
                    translations: http://app.valitax.com/btx/translations
                  frontendModules:
                  - name: Purchase
                    type: Application
                    basePath: purchase-invoices
                    supportedDevices:
                    - web
                    - mobile
                    module: invoices
                    moduleUrl: /assets/{version}/micro-frontends/purchase/something.js
                  dependencies:
                  - name: orchestration
                    namespace: com.unifiedpost.btx.platform
                    minVersion: '1.0'
                  - name: cross-upload
                    namespace: com.unifiedpost.btx.platform
                    minVersion: '1.0'
                  - name: cross-sales
                    namespace: com.unifiedpost.btx.platform.connectors
                    minVersion: '1.0'
                  appCallbacks:
                    addUrl: http://addurl.com
                    activationUrl: http://activationurl.com
                    deactivationUrl: http://deactivationurl.com
                    configureUrl: http://configureurl.com
                    removeUrl: http://removeurl.com
                  plugins:
                  - pluginInterface:
                      name: documentActions
                      namespace: com.unifiedpost.btx
                      version: '2.0'
                    plugins:
                    - namespace: com.banqup.btx.documents
                      name: accept
                    - namespace: com.banqup.btx.documents
                      name: reject
                  minAssuranceLevels:
                    entity: urn:btx:L2
                    user: urn:btx:L1
                copyright: Copyright 2024 Unifiedpost
                status: VALID
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v2/applications/{applicationId}/infoLocalizations:
    get:
      tags:
      - Application info localizations
      summary: List application info localizations
      description: 'List all the info localizations for an application <br/> Scope:
        store_read'
      operationId: listInfoLocalizations
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Listed application info localizations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationInfoLocalizationResponse'
              example:
                infoLocalizations:
                - id: 2aa7c753-6d55-44b6-9b60-06212611cfd6
                  locale: en-GB
                  displayName: Purchases
                  shortDescription: Manage purchase invoices
                  description: Purchase invoices helps you manage your purchase invoices
      security:
      - oauth2:
        - store_read
    post:
      tags:
      - Application info localizations
      summary: Create application info localization
      description: 'Assign info localization to an application <br/> Scope: store_write,
        store_admin'
      operationId: createInfoLocalization
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Application info localization to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationInfoLocalizationRequest'
            example:
              locale: en-GB
              displayName: Purchases
              shortDescription: Manage purchase invoices
              description: Purchase invoices helps you manage your purchase invoices
        required: true
      responses:
        '201':
          description: Created application info localization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationInfoLocalizationResponse'
              example:
                id: 2aa7c753-6d55-44b6-9b60-06212611cfd6
                locale: en-GB
                displayName: Purchases
                shortDescription: Manage purchase invoices
                description: Purchase invoices helps you manage your purchase invoices
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v2/applications:
    post:
      tags:
      - Applications
      summary: Create application V2
      description: 'Create a new application <br/> Scope: store_write, store_admin'
      operationId: createApplicationV2
      requestBody:
        description: Application to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationRequest_V2'
            example:
              namespace: com.unifiedpost.btx
              name: test-app
              publisherName: Banqup
              ownerEntityId: f47c5440-89cb-11ee-b9d1-0242ac120002
              functionalType: CONNECTOR
              audienceType: INTERNAL
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationResponse_V2'
              example:
                id: 2aa7c753-6d55-44b6-9b60-06212611cfd6
                namespace: com.unifiedpost.btx.documents
                name: sales-invoices
                publisherName: Banqup
                status: APPROVED
                functionalType: APPLICATION
                audienceType: INTERNAL
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v2/applications/{applicationId}:
    patch:
      tags:
      - Applications
      summary: Update application V2
      description: 'Patch some application field(s) <br/> Scope: store_admin'
      operationId: updateApplicationV2
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Application to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationPatchRequest_V2'
            example:
              audienceType: INTERNAL
        required: true
      responses:
        '200':
          description: Updated/patched application field(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationResponse_V2'
              example:
                id: 2aa7c753-6d55-44b6-9b60-06212611cfd6
                namespace: com.unifiedpost.btx.documents
                name: sales-invoices
                publisherName: Banqup
                status: APPROVED
                functionalType: APPLICATION
                audienceType: INTERNAL
        '404':
          description: Not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_admin
  /v2/applications/{applicationId}/spaceSegments:
    get:
      tags:
      - Application space segments
      summary: List application space segments
      description: 'List all the space segments for an application <br/> Scope: store_read'
      operationId: listApplicationSpaceSegments
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Listed application space segments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationSpaceSegmentResponse'
              example:
                spaceSegments:
                - id: 00000001-0000-0000-0000-000000000000
                  spaceSegment: RESELLER
                - id: 00000002-0000-0000-0000-000000000000
                  spaceSegment: ACCOUNTING
      security:
      - oauth2:
        - store_read
    post:
      tags:
      - Application space segments
      summary: Create application space segment
      description: 'Assign a space segment to an application <br/> Scope: store_write,
        store_admin'
      operationId: createApplicationSpaceSegment
      parameters:
      - name: applicationId
        in: path
        description: The application identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Space segment to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSpaceSegmentRequest'
            example:
              spaceSegment: CORPORATE
        required: true
      responses:
        '201':
          description: Created application space segment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSpaceSegmentResponse'
              example:
                id: 00000001-0000-0000-0000-000000000000
                spaceSegment: CONSUMER
        '409':
          description: Already exists
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2:
        - store_write
        - store_admin
  /v2/categories:
    get:
      tags:
      - Categories
      summary: List categories V2
      description: 'List the categories <br/> Scope: []'
      operationId: listCategoriesV2
      parameters:
      - name: include
        in: query
        description: What extra data to include in the response.
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - presentation
            - subcategories
        example: subcategories
      responses:
        '200':
          description: Listed categories
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCategoryResponse_V2'
              example:
                categories:
                - id: ac313bfd-1bc2-460a-853e-5102091e52ec
                  name: Purchases
                  description: Purchases main category
                  presentation:
                    displayOrder: 1
                    theme: Purchases
                    translations:
                      en-GB:
                        name: Purchases
                      fr-FR:
                        name: Achats
                - id: 00751e78-2285-4369-9e04-58f386aa63f6
                  name: Sales
                  description: Sales main category
                  presentation:
                    displayOrder: 2
                    theme: Sales
                    translations:
                      en-GB:
                        name: Sales
                      fr-FR:
                        name: Ventes
  /v2/categories/{categoryId}:
    get:
      tags:
      - Categories
      summary: Get category V2
      description: 'Retrieve the category details <br/> Scope: []'
      operationId: getCategoryV2
      parameters:
      - name: categoryId
        in: path
        description: The category identifier
        required: true
        schema:
          type: string
          format: uuid
      - name: include
        in: query
        description: What extra data to include in the response.
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - presentation
            - subcategories
        example: subcategories
      responses:
        '200':
          description: Retrieved category
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryResponse_V2'
              example:
                id: ac313bfd-1bc2-460a-853e-5102091e52ec
                name: Purchases
                description: Purchases main category
                presentation:
                  displayOrder: 1
                  theme: Purchases
                  translations:
                    en-GB:
                      name: Purchases
                    fr-FR:
                      name: Achats
                subcategories:
                - id: 92655142-1dff-4099-b136-89d9643d06d7
                  name: Purchases1
                  description: Purchases first sub category
                  presentation:
                    displayOrder: 1
                    theme: Purchases
                    translations:
                      en-GB:
                        name: Purchases1
                      fr-FR:
                        name: Achats1
                - id: 192d0bd1-96c6-4433-8dfd-b19251347af3
                  name: Purchases2
                  description: Purchases second sub category
                  presentation:
                    displayOrder: 2
                    theme: Purchases
                    translations:
                      en-GB:
                        name: Purchases2
                      fr-FR:
                        name: Achats2
        '404':
          description: Not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
components:
  schemas:
    AppCategoryResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application category
          format: uuid
        subCategoryId:
          type: string
          description: The unique identifier of the sub-category
          format: uuid
      description: List of application categories
    ApiErrorProblemDetail:
      required:
      - error
      - requestId
      - timestamp
      type: object
      properties:
        status:
          type: integer
          format: int32
        error:
          type: string
        requestId:
          type: string
        timestamp:
          type: string
          format: date-time
        type:
          type: string
          format: uri
        title:
          type: string
        detail:
          type: string
        instance:
          type: string
          format: uri
        problems:
          type: array
          items:
            $ref: '#/components/schemas/NestedProblem'
        properties:
          type: object
          additionalProperties:
            type: object
    NestedProblem:
      required:
      - detail
      - error
      - title
      type: object
      properties:
        error:
          type: string
        title:
          type: string
        detail:
          type: string
        type:
          type: string
          format: uri
    AppCategoryRequest:
      type: object
      properties:
        subCategoryId:
          type: string
          description: The identifier of the application sub-category
          format: uuid
    ListAppCategoryResponse:
      type: object
      properties:
        applicationCategories:
          type: array
          items:
            $ref: '#/components/schemas/AppCategoryResponse'
    AppLanguageResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application language
          format: uuid
        language:
          type: string
          description: A locale is a standardized code that represents a specific
            language + regional setting used to format and display information correctly
            for users, e.g. en-GB, fr-BE.
          example: fr-FR
        translation:
          type: object
          additionalProperties:
            type: object
            description: The translations
          description: The translations
    AppLanguageRequest:
      type: object
      properties:
        language:
          type: string
          description: A locale is a standardized code that represents a specific
            language + regional setting used to format and display information correctly
            for users, e.g. en-GB, fr-BE.
          example: fr-FR
        translation:
          type: object
          additionalProperties:
            type: object
            description: translations
          description: translations
    ListAppLanguageResponse:
      type: object
      properties:
        languages:
          type: array
          items:
            $ref: '#/components/schemas/AppLanguageResponse'
    AppLanguagePatchRequest:
      type: object
      properties:
        translation:
          type: object
          additionalProperties:
            type: object
            description: translations
          description: translations
    AppLocationResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application location
          format: uuid
        countryCode:
          type: string
          description: The country ISO code of the location
        status:
          $ref: '#/components/schemas/LocationStatus'
    LocationStatus:
      type: string
      description: The status of the location
      example: ACTIVE
      enum:
      - ACTIVE
      - INACTIVE
    AppLocationRequest:
      type: object
      properties:
        countryCode:
          pattern: ^[A-Z]{2}
          type: string
          description: The ISO country code of the location
        status:
          $ref: '#/components/schemas/LocationStatus'
    ListAppLocationResponse:
      type: object
      properties:
        locations:
          type: array
          items:
            $ref: '#/components/schemas/AppLocationResponse'
    AppLocationPatchRequest:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/LocationStatus'
    AppMediaResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application media
          format: uuid
        mediaType:
          $ref: '#/components/schemas/MediaType'
        displayOrder:
          type: integer
          description: The order of the media (UI level)
          format: int32
    MediaType:
      type: string
      description: The type of the media
      example: IMAGE
      enum:
      - VIDEO
      - IMAGE
    ListAppMediaResponse:
      type: object
      properties:
        medias:
          type: array
          items:
            $ref: '#/components/schemas/AppMediaResponse'
    AppMediaPatchRequest:
      type: object
      properties:
        displayOrder:
          type: integer
          description: The order of the media (UI level)
          format: int32
    PermissionResponse:
      type: object
      properties:
        requester:
          type: string
          description: The identifier of the requester who is requesting the permission.
        id:
          type: string
          description: The unique identifier for the permission.
        scope:
          type: string
          description: The scope name associated with the permission.
          example: store_read
        granted:
          type: boolean
          description: Indicates whether the permission is granted or not (true/false).
    PermissionRequest:
      type: object
      properties:
        requester:
          type: string
          description: OIDC subject that identifies the user or service account for
            which the permission is granted.
        permission:
          type: string
          description: The permission (resource scope)
    ListPermissionsResult:
      required:
      - subjects
      type: object
      properties:
        subjects:
          type: array
          items:
            $ref: '#/components/schemas/PermissionsResult'
    PermissionListItem:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the permission.
        scope:
          type: string
          description: The scope name associated with the permission.
          example: entity_read
        granted:
          type: boolean
          description: Indicates whether the permission is granted or not (true/false).
      description: the list of permissions
    PermissionsResult:
      required:
      - permissions
      - requester
      type: object
      properties:
        requester:
          type: string
          description: the requester
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionListItem'
      description: List of permissions
    AppVersionResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application version
          format: uuid
        version:
          type: string
          description: The version of the application
        releaseNote:
          type: string
          description: The release note of version
        releaseDate:
          type: string
          description: The release date of version
          format: date-time
        manifest:
          type: object
          additionalProperties:
            type: object
            description: The manifest of version
          description: The manifest of version
        copyright:
          type: string
          description: The copyright of version
        status:
          $ref: '#/components/schemas/VersionStatus'
    VersionStatus:
      type: string
      description: The status of the version
      example: VALID
      enum:
      - DRAFT
      - VALID
      - INVALID
    AppVersionRequest:
      type: object
      properties:
        releaseNote:
          type: string
          description: The release note of version
        releaseDate:
          type: string
          description: The release date of version
          format: date-time
        manifest:
          type: object
          additionalProperties:
            type: object
            description: The manifest of version
          description: The manifest of version
        properties:
          type: object
          additionalProperties:
            type: object
            description: The properties of version
          description: The properties of version
        copyright:
          type: string
          description: The copyright of version
        extensions:
          type: array
          description: The app extensions
          items:
            $ref: '#/components/schemas/Extension'
        version:
          type: string
          description: The version of the application
    Extension:
      type: object
      properties:
        extensionPoint:
          $ref: '#/components/schemas/ExtensionPoint'
        data:
          $ref: '#/components/schemas/JsonNode'
      description: The app extensions
    ExtensionPoint:
      type: object
      properties:
        name:
          type: string
          description: The name of the extension point
          example: my_connector
        namespace:
          type: string
          description: The namespace of the extension point
          example: com.unifiedpost.btx
        version:
          type: string
          description: The version of the extension point
          example: '1.0'
      description: The extension point
    JsonNode:
      type: object
      description: The extension data
    AppVersionInfo:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application version
          format: uuid
        version:
          type: string
          description: The version of the application
        releaseDate:
          type: string
          description: The release date of version
          format: date-time
        status:
          $ref: '#/components/schemas/VersionStatus'
      description: List of application versions
    ListAppVersionInfoResponse:
      type: object
      properties:
        versions:
          type: array
          items:
            $ref: '#/components/schemas/AppVersionInfo'
    AppVersionPatchRequest:
      type: object
      properties:
        releaseNote:
          type: string
          description: The release note of version
        releaseDate:
          type: string
          description: The release date of version
          format: date-time
        manifest:
          type: object
          additionalProperties:
            type: object
            description: The manifest of version
          description: The manifest of version
        properties:
          type: object
          additionalProperties:
            type: object
            description: The properties of version
          description: The properties of version
        copyright:
          type: string
          description: The copyright of version
        extensions:
          type: array
          description: The app extensions
          items:
            $ref: '#/components/schemas/Extension'
    ApplicationBrandResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the brand
          format: uuid
        brandName:
          type: string
          description: The brand name
      description: List of application brands
    ApplicationBrandRequest:
      type: object
      properties:
        brandName:
          type: string
          description: 'The brand name (Possible values: ALL, Banqup, Jefacture)'
    ListApplicationBrandResponse:
      type: object
      properties:
        brands:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationBrandResponse'
    ApplicationResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application
          format: uuid
        namespace:
          type: string
          description: The namespace of the application
          example: com.unifiedpost.btx.connectors
        name:
          type: string
          description: The name of the application
          example: my-app
        publisherName:
          type: string
          description: The name of the publisher
          example: Banqup
        status:
          $ref: '#/components/schemas/ApplicationStatus'
        functionalType:
          $ref: '#/components/schemas/FunctionalType'
        audienceType:
          $ref: '#/components/schemas/AudienceType'
        autoApproval:
          type: boolean
          description: The auto-approval status of the application
    ApplicationStatus:
      type: string
      description: The status of the application
      example: APPROVED
      enum:
      - DRAFT
      - REVIEW
      - APPROVED
      - REFUSED
      - DELETED
    AudienceType:
      type: string
      description: The type of the audience
      example: PUBLIC
      enum:
      - INTERNAL
      - PUBLIC
    FunctionalType:
      type: string
      description: The type of the application
      example: APPLICATION
      enum:
      - CONNECTOR
      - APPLICATION
      - SERVICE
    IdResponse:
      type: object
      properties:
        id:
          type: string
          description: The identifier
          format: uuid
    ListApplicationResponse:
      type: object
      properties:
        applications:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationResponse'
        totalElements:
          type: integer
          description: Total number of items in the database that correspond to this
            search criteria
          format: int64
        currentPage:
          type: integer
          description: Current page
          format: int32
        pageSize:
          type: integer
          description: Response page size
          format: int32
    JsonPatch:
      type: object
    ApplicationSpaceTypeResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the space type
          format: uuid
        spaceType:
          $ref: '#/components/schemas/SpaceType'
      description: List of application space type
    SpaceType:
      type: string
      description: The type of the space
      example: BUSINESS
      enum:
      - BUSINESS
      - PARTNER
    ApplicationSpaceTypeRequest:
      type: object
      properties:
        spaceType:
          $ref: '#/components/schemas/SpaceType'
    ListApplicationSpaceTypeResponse:
      type: object
      properties:
        spaceTypes:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationSpaceTypeResponse'
    AppVersionResponse_V2:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application version
          format: uuid
        version:
          type: string
          description: The version of the application
        releaseNote:
          type: string
          description: The release note of version
        releaseDate:
          type: string
          description: The release date of version
          format: date-time
        manifest:
          type: object
          additionalProperties:
            type: object
            description: The manifest of version
          description: The manifest of version
        copyright:
          type: string
          description: The copyright of version
        status:
          $ref: '#/components/schemas/VersionStatus'
    AppVersionRequest_V2:
      type: object
      properties:
        releaseNote:
          type: string
          description: The release note of version
        releaseDate:
          type: string
          description: The release date of version
          format: date-time
        manifest:
          type: object
          additionalProperties:
            type: object
            description: The manifest of version
          description: The manifest of version
        properties:
          type: object
          additionalProperties:
            type: object
            description: The properties of version
          description: The properties of version
        copyright:
          type: string
          description: The copyright of version
        version:
          type: string
          description: The version of the application
    AppVersionPatchRequest_V2:
      type: object
      properties:
        releaseNote:
          type: string
          description: The release note of version
        releaseDate:
          type: string
          description: The release date of version
          format: date-time
        manifest:
          type: object
          additionalProperties:
            type: object
            description: The manifest of version
          description: The manifest of version
        properties:
          type: object
          additionalProperties:
            type: object
            description: The properties of version
          description: The properties of version
        copyright:
          type: string
          description: The copyright of version
    ApplicationInfoLocalizationResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application
          format: uuid
        locale:
          type: string
          description: A locale is a standardized code that represents a specific
            language + regional setting used to format and display information correctly
            for users, e.g. en-GB, fr-BE.
          example: en-GB
        displayName:
          type: string
          description: The application's display name
          example: Purchase invoices
        shortDescription:
          type: string
          description: The application's short description
          example: Manage purchase invoices
        description:
          type: string
          description: The application's description
          example: Purchase invoices helps you manage your purchase invoices
    ApplicationInfoLocalizationRequest:
      type: object
      properties:
        locale:
          type: string
          description: A locale is a standardized code that represents a specific
            language + regional setting used to format and display information correctly
            for users, e.g. en-GB, fr-BE.
          example: en-GB
        displayName:
          type: string
          description: The application's display name
          example: Purchase invoices
        shortDescription:
          type: string
          description: The application's short description
          example: Manage purchase invoices
        description:
          type: string
          description: The application's description
          example: Purchase invoices helps you manage your purchase invoices
    ListApplicationInfoLocalizationResponse:
      type: object
      properties:
        infoLocalizations:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationInfoLocalizationResponse'
    ApplicationInfoLocalizationPatchRequest:
      type: object
      properties:
        displayName:
          type: string
          description: The application's display name
          example: Purchase invoices
        shortDescription:
          type: string
          description: The application's short description
          example: Manage purchase invoices
        description:
          type: string
          description: The application's description
          example: Purchase invoices helps you manage your purchase invoices
    ApplicationResponse_V2:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application
          format: uuid
        namespace:
          type: string
          description: The namespace of the application
          example: com.unifiedpost.btx.connectors
        name:
          type: string
          description: The name of the application
          example: my-app
        publisherName:
          type: string
          description: The name of the publisher
          example: Banqup
        status:
          $ref: '#/components/schemas/ApplicationStatus'
        functionalType:
          $ref: '#/components/schemas/FunctionalType'
        audienceType:
          $ref: '#/components/schemas/AudienceType'
    ApplicationRequest_V2:
      type: object
      properties:
        namespace:
          type: string
          description: The namespace of the application
          example: com.unifiedpost.btx
        name:
          type: string
          description: The name of the application
          example: my-app
        publisherName:
          type: string
          description: The name of the publisher
          example: Banqup
        ownerEntityId:
          type: string
          description: The entity identifier
          format: uuid
        functionalType:
          $ref: '#/components/schemas/FunctionalType'
        audienceType:
          $ref: '#/components/schemas/AudienceType'
    ExtensionsChangeAction:
      type: string
      description: The action type of the extensions change
      example: ADD
      enum:
      - ADD
      - REMOVE
      - UPGRADE
    ExtensionsChangedFailureResponse:
      type: object
      properties:
        spaceId:
          type: string
          description: The unique identifier of the space
          format: uuid
        applicationId:
          type: string
          description: The unique identifier of the application
          format: uuid
        changeAction:
          $ref: '#/components/schemas/ExtensionsChangeAction'
        errorLog:
          type: string
          description: The error log of failure
        retryTimes:
          type: integer
          description: The number of retry times
          format: int32
      description: List of extensions changed failures
    ListExtensionsChangedFailuresResponse:
      type: object
      properties:
        extensionsChangedFailures:
          type: array
          items:
            $ref: '#/components/schemas/ExtensionsChangedFailureResponse'
    ApplicationMarkAutoApprovalRequest:
      type: object
      properties:
        autoApproval:
          type: boolean
          description: Auto-approval status for application
          example: true
    ApplicationPatchRequest_V2:
      type: object
      properties:
        audienceType:
          $ref: '#/components/schemas/AudienceType'
    ApplicationSpaceSegmentResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the space segment
          format: uuid
        spaceSegment:
          type: string
          description: The value can be "ALL" or one of the Space Segments, which
            is referenced in Entity Store API
      description: List of application space segments
    ApplicationSpaceSegmentRequest:
      type: object
      properties:
        spaceSegment:
          type: string
          description: 'The default value is "ALL" or set depending of the Space type
            restriction: BUSINESS -> SME, CORPORATE; PARTNER -> ACCOUNTING, RESELLER,
            CARETAKER, REFERRAL.'
    ListApplicationSpaceSegmentResponse:
      type: object
      properties:
        spaceSegments:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationSpaceSegmentResponse'
    CategoryPresentation:
      type: object
      properties:
        displayOrder:
          type: integer
          description: The order of the category (UI level)
          format: int32
        theme:
          type: string
          description: The theme of the category
        translations:
          type: object
          additionalProperties:
            type: object
            description: The translations of the category
          description: The translations of the category
      description: The presentation of the category
    CategoryResponse_V2:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the category
          format: uuid
        name:
          type: string
          description: The name of the category
        description:
          type: string
          description: The description of the category
        presentation:
          $ref: '#/components/schemas/CategoryPresentation'
        subcategories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryResponse_V2'
    CategoryRequest_V2:
      type: object
      properties:
        name:
          type: string
          description: The name of the category
        description:
          type: string
          description: The description of the category
        presentation:
          $ref: '#/components/schemas/CategoryPresentation'
    ListCategoryResponse_V2:
      type: object
      properties:
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryResponse_V2'
    CategoryPatchPresentation:
      type: object
      properties:
        displayOrder:
          type: integer
          description: The order of the category (UI level)
          format: int32
        theme:
          type: string
          description: The theme of the category
        translations:
          type: object
          additionalProperties:
            type: object
            description: The translations of the category
          description: The translations of the category
      description: The presentation of the category
    CategoryPatchRequest_V2:
      type: object
      properties:
        description:
          type: string
          description: The description of the category
        presentation:
          $ref: '#/components/schemas/CategoryPatchPresentation'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.uat.btx.fr.banqup.com/oauth2/client_credential/gettoken
          scopes:
            info: Scopes are endpoint-specific, see each endpoint for required scope.
        authorizationCode:
          authorizationUrl: https://api.uat.btx.fr.banqup.com/oauth2/auth
          tokenUrl: https://api.uat.btx.fr.banqup.com/oauth2/token
          scopes:
            info: Scopes are endpoint-specific, see each endpoint for required scope.
