openapi: 3.0.1
info:
  title: Public Directory Store REST Service API Specification
  description: The Public Directory Store REST service provides API endpoints for
    searching directories.
  version: 1.14.0-CR1
servers:
- description: ''
  url: https://api.uat.btx.fr.banqup.com/entity/directorystore
- description: ''
  url: https://api.uat.btx.eu.banqup.com/entity/directorystore
tags:
- name: directory
  description: A public directory is a source system that publishes and maintains
    structured  reference data about registered entities and their establishment units
    (for example, KBO or Datagouv).
  x-BTX:
    unDocumented: 'false'
    internal: 'false'
paths:
  /v1/directory/{countryCode}/{companyId}:
    get:
      tags:
      - directory
      summary: Lookup company by id
      description: "<div class='my-preview'><span>Preview: The API is in development
        or testing phases and the interface could still change slightly.</span></div>
        <br/> Lookup company by id"
      operationId: getCompany
      parameters:
      - name: countryCode
        in: path
        description: Country code
        required: true
        schema:
          $ref: '#/components/schemas/CountryCode'
      - name: companyId
        in: path
        description: The company unique identifier.
        required: true
        schema:
          type: string
          example: 0842.217.841
      - name: language
        in: query
        description: Language/Locale in which to return names
        schema:
          type: string
        examples:
          language:
            description: language
            value: fr
          locale:
            description: locale
            value: nl-NL
      - name: headOffice
        in: query
        description: Whether to return entities with only the head office.
        schema:
          type: boolean
        example: true
      - name: include
        in: query
        description: What extra data to include in the response.
        explode: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/CompanyInclude'
        example: legalRepresentatives
      responses:
        '200':
          description: Ok. Company info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyResponse'
              examples:
                Belgian Company:
                  description: Belgian Company
                  value:
                    id: 1842.217.841
                    detailUrl: http://location/v1/directory/be/1842.217.841
                    names:
                      name: UP-last
                    metadata:
                      be:cbe:
                        id: 1842.217.841
                        type: entity
                        active: true
                        typeOfEnterprise: '2'
                        juridicalSituation: '000'
                        juridicalForm: '416'
                        startDate: 16-12-2011
                        activities:
                          FR:
                          - activityGroup: '006'
                            naceVersion: '2025'
                            naceCode: '33110'
                            classification: MAIN
                            description: Activités ONSS
                          NL:
                          - activityGroup: '006'
                            naceVersion: '2025'
                            naceCode: '33110'
                            classification: MAIN
                            description: RSZ-activiteiten
                    addresses:
                      FR:
                        country: BE
                        townName: Gent
                        addressType: BIZZ
                        streetName: Kortrijksesteenweg
                        buildingNumber: '1146'
                        postCode: '9051'
                      NL:
                        country: BE
                        townName: Gent
                        addressType: BIZZ
                        streetName: Kortrijksesteenweg
                        buildingNumber: '1146'
                        postCode: '9051'
                    globalIdentifiers:
                      be:vat: BE1842217841
                      be:startDate: 16-12-2011
                      be:entityTypeCode: '2'
                      global:tradeNumber: '1842217841'
                      be:legalCompanyType: ENTERPRISE
                      kbo:rawEnterpriseNumber: 1842.217.841
                    spaces:
                    - id: 2.341.382.733
                      names:
                        tradeName: The nxt establishment
                      addresses:
                        FR:
                          country: BE
                          townName: Kontich
                          addressType: BIZZ
                          streetName: Prins Boudewijnlaan
                          buildingNumber: 7 gebouw B
                          postBox: '101'
                          postCode: '2550'
                        NL:
                          country: BE
                          townName: Kontich
                          addressType: BIZZ
                          streetName: Prins Boudewijnlaan
                          buildingNumber: 7 gebouw B
                          postBox: '101'
                          postCode: '2550'
                      metadata:
                        be:cbe:
                          id: 2.341.382.733
                          type: establishment
                          startDate: 16-12-2011
                          activities:
                            FR:
                            - activityGroup: '006'
                              naceVersion: '2025'
                              naceCode: '33110'
                              classification: SECO
                              description: Activités ONSS
                            NL:
                            - activityGroup: '006'
                              naceVersion: '2025'
                              naceCode: '33110'
                              classification: SECO
                              description: RSZ-activiteiten
                      globalIdentifiers: {}
                    - id: 9.001.348.887
                      names:
                        branchName: some kind of branch
                      addresses:
                        FR:
                          country: TR
                          townName: yenibosna - Istamboul
                          addressType: BIZZ
                          streetName: itkib bis ticaret komplexi b/blok coban cesme
                            mekvil sanayi/caddesi
                          buildingNumber: '0'
                          postCode: '34196'
                        NL:
                          country: TR
                          townName: yenibosna - Istamboul
                          addressType: BIZZ
                          streetName: itkib bis ticaret komplexi b/blok coban cesme
                            mekvil sanayi/caddesi
                          buildingNumber: '0'
                          postCode: '34196'
                      metadata:
                        be:cbe:
                          id: 9.001.348.887
                          type: branch
                          startDate: 17-12-2011
                          activities:
                            FR:
                            - activityGroup: '006'
                              naceVersion: '2025'
                              naceCode: '33110'
                              classification: SECO
                              description: Activités ONSS
                            NL:
                            - activityGroup: '006'
                              naceVersion: '2025'
                              naceCode: '33110'
                              classification: SECO
                              description: RSZ-activiteiten
                      globalIdentifiers: {}
                French Company:
                  description: French Company
                  value:
                    id: '000325175'
                    detailUrl: http://location/v1/directory/fr/000325175
                    names:
                      name: VETEMENTS JARDI
                    metadata:
                      fr:datagouv:
                        id: '000325175'
                        type: entity
                        status: A
                        startDate: 2018-02-07
                        activities:
                          FR:
                            mainActivity: 32.12Z
                            mainActivityClassificationSystem: NAFRev2
                    globalIdentifiers:
                      fr:siren: '0200065765'
                    spaces:
                    - id: '00032517500024'
                      names:
                        tradeName: TAHITI PERLES CREATIONS
                      addresses:
                        FR:
                          country: FR
                          townName: AVIGNON
                          addressType: BIZZ
                          streetName: LEONCE DE SEYNES
                          buildingNumber: '1'
                          postCode: '84000'
                      metadata:
                        fr:datagouv:
                          id: '00032517500024'
                          type: establishment
                          headOffice: true
                          status: F
                          startDate: 2011-10-21
                          activities:
                            FR:
                              mainActivity: 47.89Z
                              mainActivityClassificationSystem: NAFRev2
                      globalIdentifiers:
                        fr:siren: '000325175'
                        fr:siret: '00032517500024'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
              example:
                status: 400
                error: BAD_REQUEST
                requestId: a78150d2-7913-4ea6-933f-286cadac6745
                timestamp: 2018-08-27T12:34:50Z
                type: about:blank
                title: Bad Request
                detail: Bad Request message details.
        default:
          description: Other error messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2: []
  /v1/directory/{countryCode}:
    get:
      tags:
      - directory
      summary: Search companies
      description: "<div class='my-preview'><span>Preview: The API is in development
        or testing phases and the interface could still change slightly.</span></div>
        <br/> Search companies"
      operationId: listCompanies
      parameters:
      - name: countryCode
        in: path
        description: Country code
        required: true
        schema:
          $ref: '#/components/schemas/CountryCode'
      - name: search
        in: query
        description: Search query. Can be national company number (CBE, Siren or Siret)
          or company name
        required: true
        schema:
          type: string
        examples:
          enterpriseNumber:
            description: enterpriseNumber
            value: 886277617
          name:
            description: name
            value: Banqup Group
          siren:
            description: siren
            value: 754051290
      - name: language
        in: query
        description: Language/Locale in which to return names
        schema:
          type: string
        examples:
          language:
            description: language
            value: fr
          locale:
            description: locale
            value: nl-NL
      - name: includeInactive
        in: query
        description: Whether to include entities with inactive status. Default value
          is false.
        schema:
          type: boolean
        example: true
      - name: headOffice
        in: query
        description: Whether to return entities with only the head office.
        schema:
          type: boolean
        example: true
      - 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. Company info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCompaniesResponse'
              examples:
                Belgian Companies:
                  description: Belgian Companies
                  value:
                    companies:
                    - id: 1842.217.841
                      detailUrl: http://location/v1/directory/be/1842.217.841
                      names:
                        name: UP-last
                      metadata:
                        be:cbe:
                          id: 1842.217.841
                          type: entity
                          active: true
                          typeOfEnterprise: '2'
                          juridicalSituation: '000'
                          juridicalForm: '416'
                          startDate: 16-12-2011
                          activities: {}
                      addresses:
                        FR:
                          country: BE
                          townName: Gent
                          addressType: BIZZ
                          streetName: Kortrijksesteenweg
                          buildingNumber: '1146'
                          postCode: '9051'
                        NL:
                          country: BE
                          townName: Gent
                          addressType: BIZZ
                          streetName: Kortrijksesteenweg
                          buildingNumber: '1146'
                          postCode: '9051'
                      globalIdentifiers:
                        be:vat: BE1842217841
                        be:startDate: 16-12-2011
                        be:entityTypeCode: '2'
                        global:tradeNumber: '1842217841'
                        be:legalCompanyType: ENTERPRISE
                        kbo:rawEnterpriseNumber: 1842.217.841
                      spaces:
                      - id: 2.341.382.733
                        names:
                          tradeName: The nxt establishment
                        addresses:
                          FR:
                            country: BE
                            townName: Kontich
                            addressType: BIZZ
                            streetName: Prins Boudewijnlaan
                            buildingNumber: 7 gebouw B
                            postBox: '101'
                            postCode: '2550'
                          NL:
                            country: BE
                            townName: Kontich
                            addressType: BIZZ
                            streetName: Prins Boudewijnlaan
                            buildingNumber: 7 gebouw B
                            postBox: '101'
                            postCode: '2550'
                        metadata:
                          be:cbe:
                            id: 2.341.382.733
                            type: establishment
                            startDate: 16-12-2011
                            activities: {}
                        globalIdentifiers: {}
                      - id: 9.001.348.887
                        names:
                          branchName: some kind of branch
                        addresses:
                          FR:
                            country: TR
                            townName: yenibosna - Istamboul
                            addressType: BIZZ
                            streetName: itkib bis ticaret komplexi b/blok coban cesme
                              mekvil sanayi/caddesi
                            buildingNumber: '0'
                            postCode: '34196'
                          NL:
                            country: TR
                            townName: yenibosna - Istamboul
                            addressType: BIZZ
                            streetName: itkib bis ticaret komplexi b/blok coban cesme
                              mekvil sanayi/caddesi
                            buildingNumber: '0'
                            postCode: '34196'
                        metadata:
                          be:cbe:
                            id: 9.001.348.887
                            type: branch
                            startDate: 16-12-2011
                            activities: {}
                        globalIdentifiers: {}
                    totalElements: 3
                    currentPage: 0
                    pageSize: 1
                French Companies:
                  description: French Companies
                  value:
                    companies:
                    - id: '000325175'
                      names:
                        name: VETEMENTS JARDI
                      metadata:
                        fr:datagouv:
                          id: '000325175'
                          type: entity
                          status: A
                          startDate: 2018-02-07
                          activities:
                            FR:
                              mainActivity: 32.12Z
                              mainActivityClassificationSystem: NAFRev2
                      globalIdentifiers:
                        fr:siren: '0200065765'
                      detailUrl: http://location/v1/directory/fr/000325175
                      spaces:
                      - id: '00032517500024'
                        names:
                          tradeName: TAHITI PERLES CREATIONS
                        metadata:
                          fr:datagouv:
                            id: '00032517500024'
                            type: establishment
                            status: F
                            startDate: 2011-10-21
                            activities:
                              FR:
                                mainActivity: 47.89Z
                                mainActivityClassificationSystem: NAFRev2
                        addresses:
                          FR:
                            country: FR
                            townName: AVIGNON
                            addressType: BIZZ
                            streetName: LEONCE DE SEYNES
                            buildingNumber: '1'
                            postCode: '84000'
                        globalIdentifiers:
                          fr:siren: '000325175'
                          fr:siret: '00032517500024'
                    totalElements: 1
                    currentPage: 0
                    pageSize: 20
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
              example:
                status: 400
                error: BAD_REQUEST
                requestId: a78150d2-7913-4ea6-933f-286cadac6745
                timestamp: 2018-08-27T12:34:50Z
                type: about:blank
                title: Bad Request
                detail: Bad Request message details.
        default:
          description: Other error messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2: []
  /v2/directory/{countryCode}/entities/{entityNumber}/spaces:
    get:
      tags:
      - directory
      summary: Get establishments of an entity
      description: "<div class='my-preview'><span>Preview: The API is in development
        or testing phases and the interface could still change slightly.</span></div>
        <br/> Get establishments, head office of a company in national public directories"
      operationId: getCompanyEstablishments
      parameters:
      - name: countryCode
        in: path
        description: Country code (e.g., 'nl' for Netherlands)
        required: true
        schema:
          $ref: '#/components/schemas/CountryCodeV2'
      - name: entityNumber
        in: path
        description: The company unique identifier
        required: true
        schema:
          type: string
          example: '05047572'
      - name: headOffice
        in: query
        description: Filter by head office status
        schema:
          type: boolean
      - 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
      - name: language
        in: query
        description: Language/Locale in which to return names and addresses
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEstablishmentsResponse'
              examples:
                Netherlands Establishments:
                  description: Netherlands Establishments
                  value:
                    results:
                    - type: headOffice
                      names:
                        tradeName: Electro World Hans Brinkhuis
                      globalIdentifiers:
                        nl:kvk: '05047572'
                        nl:establishmentNumber: '000015206890'
                      address:
                        streetName: Langewijk
                        townName: Dedemsvaart
                        country: NL
                      metadata:
                        nl:kvk:
                          headOffice: true
                      parentDetailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572
                      detailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572/spaces/000015206890
                    - type: establishment
                      names:
                        tradeName: Expert Brinkhuis Hardenberg
                      globalIdentifiers:
                        nl:kvk: '05047572'
                        nl:establishmentNumber: '000015206904'
                      address:
                        streetName: Hulsbergenstraat
                        townName: Hardenberg
                        country: NL
                      metadata:
                        nl:kvk:
                          headOffice: false
                      parentDetailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572
                      detailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572/spaces/000015206904
                    currentPage: 0
                    pageSize: 10
                    totalElements: 10
                Belgium Establishments:
                  description: Belgium Establishments
                  value:
                    results:
                    - type: establishment
                      status: active
                      names:
                        tradeName: MUSOVICTHISSENCOMPANY
                      metadata:
                        be:cbe:
                          activities:
                          - group: '006'
                            version: '2008'
                            code: '43221'
                            mainActivity: true
                          - group: '001'
                            version: '2008'
                            code: '43222'
                            mainActivity: true
                          - group: '001'
                            version: '2025'
                            code: '43222'
                            mainActivity: true
                          - group: '006'
                            version: '2025'
                            code: '43221'
                            mainActivity: true
                      globalIdentifiers:
                        be:cbe: '2263217955'
                        be:en: '0673705976'
                      address:
                        addressType: BIZZ
                        buildingNumber: '30'
                        country: BE
                        postCode: '4632'
                        streetName: RuedesArtisans(CER)
                        townName: Soumagne
                      detailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/be/entities/0673.705.976/spaces/2263.217.955
                      parentDetailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/be/entities/0673.705.976
                    currentPage: 0
                    pageSize: 10
                    totalElements: 1
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
              example:
                status: 400
                error: BAD_REQUEST
                requestId: a78150d2-7913-4ea6-933f-286cadac6745
                timestamp: 2018-08-27T12:34:50Z
                type: about:blank
                title: Bad Request
                detail: Bad Request message details.
        default:
          description: Other error messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2: []
  /v2/directory/{countryCode}/entities/{entityNumber}:
    get:
      tags:
      - directory
      summary: Lookup entity by id
      description: "<div class='my-preview'><span>Preview: The API is in development
        or testing phases and the interface could still change slightly.</span></div>
        <br/> Lookup entity by id"
      operationId: getEntityProfile
      parameters:
      - name: countryCode
        in: path
        description: Country code (e.g., 'nl' for Netherlands)
        required: true
        schema:
          $ref: '#/components/schemas/CountryCodeV2'
      - name: entityNumber
        in: path
        description: Entity's unique identifier.
        required: true
        schema:
          type: string
          example: '05047572'
      - name: include
        in: query
        description: What extra data to include in the response.
        explode: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/EntityInclude'
        example: headOffice
      - name: language
        in: query
        description: Language/Locale in which to return names
        schema:
          type: string
        examples:
          language:
            description: language
            value: fr
          locale:
            description: locale
            value: nl-NL
      responses:
        '200':
          description: Ok. Entity profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityProfile'
              examples:
                Netherlands Entity profile:
                  description: Netherlands Entity profile
                  value: "{\n   \"id\": \"05047572\",\n   \"names\": {\n\t \"legalName\"\
                    : \"Hans Brinkhuis\",\n\t \"tradeName\": \"Electro World Hans
                    Brinkhuis\"     // highest order\n   },\n   \"metadata\": {\n\t
                    \"nl:kvk\": {\n\t   \"startDate\": \"1993-10-05\",\n\t   \"legalForm\"\
                    : \"Vennootschap Onder Firma\",\n\t   \"extendedLegalForm\": \"\
                    Vennootschap Onder Firma\",\n\t   \"activities\": [\n\t\t {\n\t\
                    \t   \"code\": \"47404\",\n\t\t   \"description\": \"Detailhandel
                    in een algemeen assortiment van consumentenelektronica\",\n\t\t\
                    \   \"mainActivity\": true\n\t\t },\n\t\t {\n\t\t   \"code\":
                    \"33140\",\n\t\t   \"description\": \"Reparatie en onderhoud van
                    elektrische apparatuur\",\n\t\t   \"mainActivity\": false\n\t\t
                    },\n\t\t {\n\t\t   \"code\": \"47543\",\n\t\t   \"description\"\
                    : \"Detailhandel in overige elektrische huishoudelijke apparatuur\"\
                    ,\n\t\t   \"mainActivity\": false\n\t\t },\n\t\t {\n\t\t   \"\
                    code\": \"95100\",\n\t\t   \"description\": \"Reparatie en onderhoud
                    van computers en communicatieapparatuur\",\n\t\t   \"mainActivity\"\
                    : false\n\t\t },\n\t\t {\n\t\t   \"code\": \"95220\",\n\t\t  \
                    \ \"description\": \"Reparatie en onderhoud van huishoudelijke
                    apparaten en van werktuigen voor gebruik in huis en tuin\",\n\t\
                    \t   \"mainActivity\": false\n\t\t }\n\t   ],\n\t   \"tradeNames\"\
                    : [\n\t\t {\n\t\t   \"name\": \"Electro World Hans Brinkhuis\"\
                    ,\n\t\t   \"order\": 0\n\t\t }\n\t   ]\n\t }\n   },\n   \"globalIdentifiers\"\
                    : {\n\t \"nl:kvk\": \"05047572\",\n\t \"nl:rsin\": \"802248810\"\
                    \n   },\n   \"address\": {\n\t \"addressType\": \"BIZZ\",\n\t
                    \"streetName\": \"Langewijk\",\n\t \"buildingNumber\": \"406\"\
                    ,\n\t \"postCode\": \"7701AS\",\n\t \"townName\": \"Dedemsvaart\"\
                    ,\n\t \"country\": \"NL\"\n   },\n   \"detailUrl\": \"https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572\"\
                    ,\n   \"listSpaceUrl\": \"https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572/spaces\"\
                    ,\n   \"headOffice\": {\n\t \"id\": \"000015206890\",\n\t \"type\"\
                    : \"headOffice\",\n\t \"names\": {\n\t   \"tradeName\": \"Electro
                    World Hans Brinkhuis\"\n\t },\n\t \"metadata\": {\n\t   \"nl:kvk\"\
                    : {\n\t\t \"headOffice\": true,\n\t\t \"startDate\": \"1990-01-01\"\
                    ,\n\t\t \"tradeName\": [\n\t\t   {\n\t\t\t \"name\": \"Electro
                    World Hans Brinkhuis\",\n\t\t\t \"order\": 0\n\t\t   }\n\t\t ]\n\
                    \t   }\n\t },\n\t \"globalIdentifiers\": {\n\t   \"nl:kvk\": \"\
                    05047572\",\n\t   \"nl:establishmentNumber\": \"000015206890\"\
                    ,\n\t   \"global:websites\": [\n\t\t \"www.hansbrinkhuis.nl\"\n\
                    \t   ]\n\t },\n\t \"address\": {\n\t   \"addressType\": \"BIZZ\"\
                    ,\n\t   \"streetName\": \"Langewijk\",\n\t   \"buildingNumber\"\
                    : \"406\",\n\t   \"postCode\": \"7701AS\",\n\t   \"townName\"
                    : \"Dedemsvaart\",\n\t   \"country\": \"NL\"\n\t },\n\t \"parentDetailUrl\"\
                    : \"https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572\"\
                    ,\n\t \"detailUrl\": \"https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572/spaces/000015206890\"\
                    \n   }\n }\n"
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
              example:
                status: 400
                error: BAD_REQUEST
                requestId: a78150d2-7913-4ea6-933f-286cadac6745
                timestamp: 2018-08-27T12:34:50Z
                type: about:blank
                title: Bad Request
                detail: Bad Request message details.
        default:
          description: Other error messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2: []
  /v2/directory/{countryCode}/entities/{entityNumber}/spaces/{spaceNumber}:
    get:
      tags:
      - directory
      summary: Get establishment detail
      description: "<div class='my-preview'><span>Preview: The API is in development
        or testing phases and the interface could still change slightly.</span></div>
        <br/> Get establishment details of a company"
      operationId: getEstablishmentProfile
      parameters:
      - name: countryCode
        in: path
        description: Country code
        required: true
        schema:
          $ref: '#/components/schemas/CountryCodeV2'
      - name: entityNumber
        in: path
        description: The entity unique identifier
        required: true
        schema:
          type: string
          example: '05047572'
      - name: spaceNumber
        in: path
        description: The establishment unique identifier
        required: true
        schema:
          type: string
          example: '000000001234'
      - name: language
        in: query
        description: Language/Locale in which to return names
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EstablishmentProfileResponse'
              examples:
                Netherlands Establishment Profile:
                  description: Netherlands Establishment Profile
                  value:
                    id: 05047572-000015206890
                    type: headOffice
                    names:
                      tradeName: Electro World Hans Brinkhuis
                    globalIdentifiers:
                      nl:kvk: '05047572'
                      nl:establishmentNumber: '000015206890'
                    address:
                      streetName: Langewijk
                      houseNumber: '75'
                      postalCode: 7701PH
                      townName: Dedemsvaart
                      country: NL
                    metadata:
                      nl:kvk:
                        headOffice: true
                    parentDetailUrl: 
                      https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572
                    detailUrl: 
                      https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572/spaces/000015206890
                Datagouv Establishment Profile:
                  description: Datagouv Establishment Profile
                  value:
                    id: '32361036000048'
                    type: establishment
                    status: active
                    names:
                      tradeName: CARRE BLANC MANTES
                    metadata:
                      fr:datagouv:
                        status: A
                        headOffice: true
                        startDate: 2008-01-01
                        activities:
                        - code: 47.71Z
                          description: Commerce de détail d'habillement en magasin
                            spécialisé
                          mainActivity: true
                          classificationSystem: NAFRev2
                        address:
                          townName: VERNON
                          streetName: CHARLES DE GAULLE
                          buildingNumber: '22'
                          buildingNumberSuffix: B
                          streetType: PL
                          postCode: '27200'
                          municipalityCode: '27681'
                    globalIdentifiers:
                      fr:vat: FR93323610360
                      fr:siren: '323610360'
                      fr:siret: '32361036000048'
                    address:
                      country: FR
                      townName: MANTES-LA-JOLIE
                      addressType: BIZZ
                      streetName: RUE NATIONALE
                      buildingNumber: '52'
                      postCode: '78200'
                    parentDetailUrl: 
                      https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/fr/entities/323610360
                    detailUrl: 
                      https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/fr/entities/323610360/spaces/32361036000048
                Belgium CBE Establishment Profile:
                  description: Belgium CBE Establishment Profile
                  value:
                    id: 2.263.217.955
                    type: establishment
                    status: active
                    names:
                      tradeName: MUSOVICTHISSENCOMPANY
                    metadata:
                      be:cbe:
                        startDate: 06-03-2019
                        activities:
                        - code: '43221'
                          description: RSZ-activiteiten
                          mainActivity: true
                          version: '2008'
                          group: '006'
                        - code: '4322101'
                          description: Activiteiten
                          mainActivity: true
                          version: '2025'
                          group: '003'
                        - code: '43223'
                          description: Activiteiten
                          mainActivity: true
                          version: '2025'
                          group: '003'
                        - code: '4322201'
                          description: Activiteiten
                          mainActivity: true
                          version: '2008'
                          group: '003'
                        - code: '4322101'
                          description: Activiteiten
                          mainActivity: true
                          version: '2008'
                          group: '003'
                        - code: '4322201'
                          description: Activiteiten
                          mainActivity: true
                          version: '2025'
                          group: '003'
                        - code: '43221'
                          description: RSZ-activiteiten
                          mainActivity: true
                          version: '2025'
                          group: '006'
                        - code: '3311001'
                          description: Activiteiten
                          mainActivity: true
                          version: '2008'
                          group: '003'
                    globalIdentifiers:
                      be:en: '0673705976'
                      be:cbe: '2263217955'
                      global:email:
                      - Info@MTC-CHAUFFAGE.BE
                      global:phoneNumber:
                      - '+32499172784'
                    address:
                      country: BE
                      townName: Soumagne
                      addressType: BIZZ
                      streetName: RuedesArtisans(CER)
                      buildingNumber: '30'
                      postCode: '4632'
                    parentDetailUrl: 
                      https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/be/entities/0673.705.976
                    detailUrl: 
                      https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/be/entities/0673.705.976/spaces/2.263.217.955
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
              example:
                status: 400
                error: BAD_REQUEST
                requestId: a78150d2-7913-4ea6-933f-286cadac6745
                timestamp: 2018-08-27T12:34:50Z
                type: about:blank
                title: Bad Request
                detail: Bad Request message details.
        default:
          description: Other error messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2: []
  /v2/directory/{countryCode}:
    get:
      tags:
      - directory
      summary: Search companies V2
      description: "<div class='my-preview'><span>Preview: The API is in development
        or testing phases and the interface could still change slightly.</span></div>
        <br/> Search V2 for companies, head offices, and establishments in national
        public directories"
      operationId: listCompaniesV2
      parameters:
      - name: countryCode
        in: path
        description: Country code (e.g., 'nl' for Netherlands)
        required: true
        schema:
          $ref: '#/components/schemas/CountryCodeV2'
      - name: search
        in: query
        description: Partial match search (substring). Can be KVK number (8 digits),
          establishment number (12 digits), or company name
        schema:
          type: string
        examples:
          name:
            description: name
            value: hans
          kvk:
            description: kvk
            value: 54416485
          Vestigingsnummer:
            description: Vestigingsnummer
            value: '000024184446'
      - name: search[cont]
        in: query
        description: Partial match search (substring). Can be KVK number (8 digits),
          establishment number (12 digits), or company name
        schema:
          type: string
        examples:
          name:
            description: name
            value: hans
          kvk:
            description: kvk
            value: 54416485
          Vestigingsnummer:
            description: Vestigingsnummer
            value: '000024184446'
      - name: search[eq]
        in: query
        description: Exact match search (field content)
        schema:
          type: string
        examples:
          name:
            description: name
            value: Rakomelo srl
          vat:
            description: vat
            value: BE1026975127
          Vestigingsnummer:
            description: Vestigingsnummer
            value: '000024184446'
      - name: search[has]
        in: query
        description: Word/Token match search
        schema:
          type: string
        examples:
          name:
            description: name
            value: Hans
      - name: includeInactive
        in: query
        description: Include inactive registrations
        schema:
          type: boolean
        example:
          value: false
      - name: type
        in: query
        description: Type of entity to filter by
        explode: false
        schema:
          type: array
          items:
            type: string
            description: Type of entity
            enum:
            - legalEntity
            - headOffice
            - establishment
      - name: language
        in: query
        description: Language in which to return value. If not specified, then default
          language will be returned.
        schema:
          type: string
        examples:
          nl-BE:
            description: nl-BE
            value: nl-BE
          fr-BE:
            description: fr-BE
            value: fr-BE
          de-BE:
            description: de-BE
            value: de-BE
          en-BE:
            description: en-BE
            value: en-BE
          fr-FR:
            description: fr-FR
            value: fr-FR
          nl-NL:
            description: nl-NL
            value: nl-NL
      - 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. Directory search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCompaniesResponse'
              examples:
                KVK Search Results:
                  description: KVK Search Results
                  value:
                    results:
                    - type: legalEntity
                      names:
                        legalName: Cees & Hans
                      globalIdentifiers:
                        nl:kvk: '27363079'
                      detailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/27363079
                    - type: headOffice
                      names:
                        tradeName: Electro World Hans Brinkhuis
                      globalIdentifiers:
                        nl:kvk: '05047572'
                        nl:establishmentNumber: '000015206890'
                      address:
                        streetName: Langewijk
                        townName: Dedemsvaart
                        country: NL
                      parentDetailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572
                      detailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05047572/spaces/000015206890
                    - type: establishment
                      names:
                        tradeName: Hans Kalf Intercoiffure
                      globalIdentifiers:
                        nl:kvk: '05010111'
                        nl:establishmentNumber: '000001081047'
                      address:
                        streetName: Dobbe
                        townName: Zwolle
                        country: NL
                      parentDetailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05010111
                      detailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/nl/entities/05010111/spaces/000001081047
                    currentPage: 0
                    pageSize: 10
                    totalElements: 5167
                BE Search Results:
                  description: BE Search Results
                  value:
                    results:
                    - type: legalEntity
                      status: active
                      names:
                        legalName: MUSOVIC THISSEN COMPANY
                        tradeName: MT COMPANY
                        acronym: MT COMPANY
                      metadata:
                        be:cbe:
                          legalForm: Vennootschap onder firma
                          typeOfEnterprise: Rechtspersoon
                          mainActivities:
                          - RSZ-activiteiten
                      globalIdentifiers:
                        be:en: '0673705976'
                        be:vat: BE0426143863
                      address:
                        country: BE
                        townName: Soumagne
                        addressType: BIZZ
                        streetName: Rue des Artisans(CER)
                        buildingNumber: '30'
                        postCode: '4632'
                      detailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/be/entities/0673.705.976
                    - type: establishment
                      status: active
                      names:
                        tradeName: MUSOVIC THISSEN COMPANY
                      metadata:
                        be:cbe:
                          mainActivities:
                          - RSZ-activiteiten
                      globalIdentifiers:
                        be:en: '0673705976'
                        be:cbe: '2263217955'
                      address:
                        country: BE
                        townName: Soumagne
                        addressType: BIZZ
                        streetName: Rue des Artisans(CER)
                        buildingNumber: '30'
                        postCode: '4632'
                      parentDetailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/be/entities/0673.705.976
                      detailUrl: 
                        https://api.test.btx.eu.banqup.com/entity/directorystore/v2/directory/be/entities/0673.705.976/spaces/2263.217.955
                    currentPage: 0
                    pageSize: 10
                    totalElements: 2
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
              example:
                status: 400
                error: BAD_REQUEST
                requestId: a78150d2-7913-4ea6-933f-286cadac6745
                timestamp: 2018-08-27T12:34:50Z
                type: about:blank
                title: Bad Request
                detail: Bad Request message details.
        default:
          description: Other error messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
      security:
      - oauth2: []
components:
  schemas:
    CompanyResponse:
      type: object
      properties:
        type:
          type: string
          description: Type of entity
        status:
          type: string
          description: Administrative status of the entity
          example: active
        names:
          $ref: '#/components/schemas/CompanyNames'
        metadata:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: object
              description: Metadata of the entity
            description: Metadata of the entity
          description: Metadata of the entity
        globalIdentifiers:
          type: object
          additionalProperties:
            type: object
            description: Global identifiers for the entity
          description: Global identifiers for the entity
        address:
          $ref: '#/components/schemas/CompanyAddress'
        parentDetailUrl:
          type: string
          description: URL to get full details of the parent legal entity
        detailUrl:
          type: string
          description: URL to get full details of this entity
      description: List of entities or establishments
    Iso20022StructuredAddress:
      type: object
      properties:
        country:
          type: string
          description: Nation with its own government, expressed as a two letter ISO
            3166 code (alpha-2) of the country. The country code is written in upper
            case.
          example: BE
        townName:
          type: string
          description: Name of a built-up area, with defined boundaries, and a local
            government.
          example: La Hulpe
        addressType:
          type: string
          description: Identifies the nature of the postal address.
          example: ADDR
          enum:
          - ADDR
          - PBOX
          - HOME
          - BIZZ
          - MLTO
          - DLVY
        streetName:
          maxLength: 140
          type: string
          description: Name of a street or thoroughfare.
          example: Avenue Reine Astrid
        buildingNumber:
          maxLength: 16
          type: string
          description: A unique number assigned to the building in the street or area
            //Number that identifies the position of a building on a street.
          example: '40'
        careOf:
          maxLength: 140
          type: string
          description: Identifies an addressee that is accepting the correspondence
            for the intended recipient. Using care of ensures the correspondence reaches
            the right recipient rather than getting returned to the sender.
          example: Finance
        department:
          maxLength: 70
          type: string
          description: Identification of a division of a large organisation or building.
          example: Finance
        subDepartment:
          maxLength: 70
          type: string
          description: Identification of a sub-division of a large organisation or
            building.
          example: Accounting
        buildingName:
          maxLength: 140
          type: string
          description: Name of the building or house.
          example: Empire State Building
        floor:
          maxLength: 70
          type: string
          description: Floor or storey within a building.
          example: ground
        unitNumber:
          maxLength: 16
          type: string
          description: Identifies a flat or dwelling within the building.
          example: '2'
        postBox:
          maxLength: 16
          type: string
          description: Numbered box in a post office, assigned to a person or organisation,
            where letters are kept until called for.
          example: '1003'
        room:
          maxLength: 70
          type: string
          description: Building room number.
          example: '2.22'
        postCode:
          maxLength: 16
          type: string
          description: Identifier consisting of a group of letters and/or numbers
            that is added to a postal address to assist the sorting of mail.
          example: '1310'
        townLocationName:
          maxLength: 140
          type: string
          description: Specific location name within the town. eg Borough (USA), Village
            (GB).
          example: Miami Beach
        districtName:
          maxLength: 140
          type: string
          description: Identifies a subdivision within a country sub-division eg County
            (USA), Landkreis (DE).
          example: Miami-Dade, Coburg
        countrySubDivision:
          maxLength: 35
          type: string
          description: Identifies a subdivision of a country such as state (USA),
            Bundesland (DE), region, province,....
          example: Florida, Bayern, Wallonia, Hainaut
      description: Information that locates and identifies a specific address, as
        defined by postal services
      externalDocs:
        description: More about EPC Interbank Structured Address Structure; see also
          PostalAddress27 type in https://www.iso20022.org/message/22905/download
        url: 
          https://www.europeanpaymentscouncil.eu/sites/default/files/kb/file/2022-10/EPC153-22%20EPC%20guidance%20document%20-%20Use%20of%20Structured%20Address%20under%20the%20SEPA%20Payment%20Schemes%20as%20of%20Nov%202025.pdf
    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
    CountryCode:
      type: string
      description: The supported country codes
      example: be
      enum:
      - be
      - fr
    CompanyInclude:
      type: string
      description: The supported include param value
      example: legalRepresentatives
      enum:
      - legalRepresentatives
    ListCompaniesResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/CompanyResponse'
        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
    CompanyAddress:
      type: object
      properties:
        streetName:
          type: string
          description: Street name
        townName:
          type: string
          description: Town/city name
        country:
          type: string
          description: Country code (ISO 3166-1 alpha-2)
        postCode:
          type: string
          description: Postal code
        addressType:
          type: string
          description: Address type
          enum:
          - ADDR
          - PBOX
          - HOME
          - BIZZ
          - MLTO
          - DLVY
        buildingNumber:
          type: string
          description: Building number
      description: Address of the entity
    CompanyNames:
      type: object
      properties:
        legalName:
          type: string
          description: Legal name of the entity
        tradeName:
          type: string
          description: Trade name of the establishment
        acronym:
          type: string
          description: Acronym name of the entity
      description: Names of the entity
    EstablishmentResponse:
      required:
      - address
      - detailUrl
      - globalIdentifiers
      - id
      - names
      - parentDetailUrl
      - type
      type: object
      properties:
        id:
          type: string
          description: Instance identifier of the establishment
        type:
          type: string
          description: Type of result (always 'establishment')
          example: establishment
        status:
          type: string
          description: Administrative status of the establishment
        names:
          $ref: '#/components/schemas/EstablishmentNames'
        metadata:
          $ref: '#/components/schemas/EstablishmentMetadata'
        globalIdentifiers:
          $ref: '#/components/schemas/EstablishmentGlobalIdentifiers'
        address:
          $ref: '#/components/schemas/Iso20022StructuredAddress'
        parentDetailUrl:
          type: string
          description: URL to get detailed information of the legal entity (parent)
        detailUrl:
          type: string
          description: URL to get detailed information of the establishment
      description: List of establishments
    ListEstablishmentsResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/EstablishmentResponse'
        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
    CountryCodeV2:
      type: string
      description: The supported country codes for V2
      example: nl
      enum:
      - nl
      - fr
      - be
    EntityProfile:
      type: object
      properties:
        id:
          type: string
          description: Id of the entity
        type:
          type: string
          description: 'Type of result: legal entity, head office, or establishment.'
        status:
          type: string
          description: Administrative status
        names:
          $ref: '#/components/schemas/CompanyNames'
        metadata:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: object
              description: Metadata of entity
            description: Metadata of entity
          description: Metadata of entity
        globalIdentifiers:
          type: object
          additionalProperties:
            type: object
            description: Global identifiers for the entity
          description: Global identifiers for the entity
        address:
          $ref: '#/components/schemas/CompanyAddress'
        detailUrl:
          type: string
          description: URL to get full details of this entity
        listSpaceUrl:
          type: string
          description: URL to get the establishments of this entity
        headOffice:
          $ref: '#/components/schemas/HeadOffice'
    HeadOffice:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          description: Type of the establishment
        names:
          type: object
          additionalProperties:
            type: string
            description: Names of the establishment
          description: Names of the establishment
        status:
          type: string
          description: Status of the establishment
        metadata:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: object
              description: Metadata of the establishment
            description: Metadata of the establishment
          description: Metadata of the establishment
        globalIdentifiers:
          type: object
          additionalProperties:
            type: object
            description: Global identifiers for the establishment
          description: Global identifiers for the establishment
        address:
          $ref: '#/components/schemas/CompanyAddress'
        detailUrl:
          type: string
          description: URL to get full details of this establishment
        parentDetailUrl:
          type: string
          description: URL to get full details of the parent entity
      description: Head office of the entity
    EntityInclude:
      type: string
      description: The supported include param value
      example: headOffice
      enum:
      - headOffice
      - legalRepresentatives
    EstablishmentProfileResponse:
      type: object
      properties:
        type:
          type: string
          description: Type of entity
        status:
          type: string
          description: Administrative status of the entity
          example: active
        names:
          $ref: '#/components/schemas/CompanyNames'
        metadata:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: object
              description: Metadata of the entity
            description: Metadata of the entity
          description: Metadata of the entity
        globalIdentifiers:
          type: object
          additionalProperties:
            type: object
            description: Global identifiers for the entity
          description: Global identifiers for the entity
        address:
          $ref: '#/components/schemas/CompanyAddress'
        parentDetailUrl:
          type: string
          description: URL to get full details of the parent legal entity
        detailUrl:
          type: string
          description: URL to get full details of this entity
        id:
          type: string
          description: id of the establishment
    AddressDto:
      type: object
      properties:
        addressLine1:
          type: string
          description: Address line 1
        addressLine2:
          type: string
          description: Address line 2
        addressLine3:
          type: string
          description: Address line 3
        locality:
          type: string
          description: Locality
        postalCode:
          type: string
          description: Postal code
        countrySubDivision:
          type: string
          description: Country subdivision
        countryCode:
          type: string
          description: Country code
      description: Address
    B2gDataDto:
      type: object
      properties:
        legalCommitment:
          type: boolean
          description: Legal commitment
        paymentStatus:
          type: boolean
          description: Payment status
        serviceCode:
          type: boolean
          description: Service code
        pmOnly:
          type: boolean
          description: Whether the public entity acts only as contracting authority
            and receives only works invoices
        legalCommitmentService:
          type: boolean
          description: Legal commitment service
        pm:
          type: boolean
          description: Whether the public entity acts as contracting authority for
            works invoices
      description: B2G data
    DirectoryLineMetadata:
      type: object
      properties:
        fr:ppf:
          $ref: '#/components/schemas/PpfMetadata'
      description: Directory line metadata
    DirectoryLineNames:
      type: object
      properties:
        businessName:
          type: string
          description: Business name
        establishmentName:
          type: string
          description: Establishment name
          nullable: true
        routingCodeName:
          type: string
          description: RoutingCode name
          nullable: true
      description: Directory line names
    DirectoryLineResponse:
      required:
      - id
      type: object
      properties:
        id:
          type: string
          description: Directory line identifier
        type:
          $ref: '#/components/schemas/DirectoryLineType'
        names:
          $ref: '#/components/schemas/DirectoryLineNames'
        metadata:
          $ref: '#/components/schemas/DirectoryLineMetadata'
      description: List of response entities
    DirectoryLineType:
      type: string
      description: Directory line type
      example: DIRECTORY_LINE_SIREN
      enum:
      - directoryLineSiren
      - directoryLineSiret
      - directoryLineSiretWithRoutingCode
    PpfAddressInfoDto:
      type: object
      properties:
        identifier:
          type: string
          description: Address info identifier
        linkedSiren:
          type: string
          description: Linked siren
        linkedSiret:
          type: string
          description: Linked siret
          nullable: true
        linkedRoutingId:
          type: string
          description: Linked routing id
          nullable: true
        suffix:
          type: string
          description: Address info suffix
          nullable: true
      description: Address info
    PpfDirectoryLineDto:
      required:
      - instanceId
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        addressInfo:
          $ref: '#/components/schemas/PpfAddressInfoDto'
        platform:
          $ref: '#/components/schemas/PpfPlatformDto'
        presenceReason:
          type: string
          description: Presence reason
        directoryLineType:
          type: string
          description: Directory line type
        effectiveDate:
          $ref: '#/components/schemas/PpfEffectiveDateDto'
      description: The fr:ppf directory line metadata
    PpfEffectiveDateDto:
      type: object
      properties:
        startDate:
          type: string
          description: Start date
          format: date
        effectiveEndDate:
          type: string
          description: Effective end date
          format: date
        endDate:
          type: string
          description: End date
          format: date
      description: Effective date
    PpfEstablishmentDto:
      required:
      - instanceId
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        siret:
          type: string
          description: Siret
        name:
          type: string
          description: Name
        establishmentType:
          type: string
          description: Establishment type
        status:
          type: string
          description: Status
        presenceReason:
          type: string
          description: Presence reason
        diffusible:
          type: string
          description: Diffusible
        address:
          $ref: '#/components/schemas/AddressDto'
        b2gData:
          $ref: '#/components/schemas/B2gDataDto'
        routingCode:
          $ref: '#/components/schemas/PpfRoutingCodeDto'
      description: Linked establishment
      nullable: true
    PpfLegalEntityDto:
      required:
      - instanceId
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        siren:
          type: string
          description: Siren
        name:
          type: string
          description: Name
        entityType:
          type: string
          description: Entity type
        status:
          type: string
          description: Status
        presenceReason:
          type: string
          description: Presence reason
        diffusible:
          type: string
          description: Diffusible
        establishment:
          $ref: '#/components/schemas/PpfEstablishmentDto'
      description: The fr:ppf entity metadata
      nullable: true
    PpfMetadata:
      type: object
      properties:
        entity:
          $ref: '#/components/schemas/PpfLegalEntityDto'
        directoryLine:
          $ref: '#/components/schemas/PpfDirectoryLineDto'
      description: The directory line metadata
    PpfPlatformDto:
      type: object
      properties:
        id:
          type: string
          description: Platform identifier
        type:
          type: string
          description: Platform type
        status:
          type: string
          description: Platform status
      description: Platform
    PpfRoutingCodeDto:
      required:
      - instanceId
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        routingId:
          type: string
          description: Routing identifier
        name:
          type: string
          description: Name
        siret:
          type: string
          description: Siret
        status:
          type: string
          description: Status
        presenceReason:
          type: string
          description: Presence reason
        legalCommitment:
          type: boolean
          description: Legal commitment
        address:
          $ref: '#/components/schemas/AddressDto'
      description: Linked routing code
      nullable: true
    EstablishmentGlobalIdentifiers:
      required:
      - fr:siren
      - fr:siret
      - fr:vat
      type: object
      properties:
        fr:vat:
          type: string
          description: The VAT number of the legal entity
        fr:siren:
          type: string
          description: The SIREN number of the legal entity in France
        fr:siret:
          type: string
          description: The SIRET number of the establishment in France
      description: Global identifiers for the establishment
    EstablishmentMetadata:
      type: object
      properties:
        fr:ppf:
          $ref: '#/components/schemas/PpfEstablishmentMetadata'
      description: Metadata containing source-specific information
    EstablishmentNames:
      required:
      - businessName
      - establishmentName
      type: object
      properties:
        businessName:
          type: string
          description: Business name (from legal entity)
        establishmentName:
          type: string
          description: Establishment name
      description: Names of the establishment
    PpfEntityWithEstablishment:
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        siren:
          type: string
          description: SIREN number
        name:
          type: string
          description: Name of the legal entity
        entityType:
          type: string
          description: Entity type
        status:
          type: string
          description: Status
        presenceReason:
          type: string
          description: Presence reason
        diffusible:
          type: string
          description: Diffusible indicator
        establishment:
          $ref: '#/components/schemas/PpfEstablishment'
      description: Entity information from PPF
    PpfEstablishment:
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        siret:
          type: string
          description: SIRET number
        name:
          type: string
          description: Name of the establishment
        establishmentType:
          type: string
          description: Establishment type
        diffusible:
          type: string
          description: Diffusible indicator
        status:
          type: string
          description: Status
        presenceReason:
          type: string
          description: Presence reason
        address:
          $ref: '#/components/schemas/AddressDto'
        b2gData:
          $ref: '#/components/schemas/B2gDataDto'
      description: Establishment information
    PpfEstablishmentMetadata:
      type: object
      properties:
        entity:
          $ref: '#/components/schemas/PpfEntityWithEstablishment'
      description: PPF-specific metadata
    GlobalIdentifiers:
      required:
      - fr:siren
      - fr:vat
      type: object
      properties:
        fr:siren:
          type: string
          description: The SIREN number of the legal entity in France
        fr:vat:
          type: string
          description: The VAT number of the legal entity
      description: Global identifiers for the legal entity
    LegalEntityMetadata:
      type: object
      properties:
        fr:ppf:
          $ref: '#/components/schemas/PpfLegalEntityMetadata'
      description: Metadata containing source-specific information
    LegalEntityNames:
      required:
      - businessName
      type: object
      properties:
        businessName:
          type: string
          description: Business name of the legal entity
      description: Names of the legal entity
    LegalEntityResponse:
      required:
      - detailUrl
      - globalIdentifiers
      - id
      - names
      - type
      type: object
      properties:
        id:
          type: string
          description: Instance identifier of the legal entity
        type:
          type: string
          description: Type of result
          example: legalEntity
        status:
          type: string
          description: Administrative status of the legal entity
        names:
          $ref: '#/components/schemas/LegalEntityNames'
        metadata:
          $ref: '#/components/schemas/LegalEntityMetadata'
        globalIdentifiers:
          $ref: '#/components/schemas/GlobalIdentifiers'
        detailUrl:
          type: string
          description: URL to get detailed information of the entity
      description: List of response entities
    PpfEntity:
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        siren:
          type: string
          description: SIREN number
        name:
          type: string
          description: Name of the legal entity
        entityType:
          type: string
          description: Entity type
        status:
          type: string
          description: Status
        presenceReason:
          type: string
          description: Presence reason
        diffusible:
          type: string
          description: Diffusible indicator
      description: Legal entity information from PPF
    PpfLegalEntityMetadata:
      type: object
      properties:
        entity:
          $ref: '#/components/schemas/PpfEntity'
      description: PPF-specific metadata
    PpfEntityWithEstablishmentAndRoutingCode:
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        siren:
          type: string
          description: SIREN number
        name:
          type: string
          description: Name of the legal entity
        entityType:
          type: string
          description: Entity type
        status:
          type: string
          description: Status
        presenceReason:
          type: string
          description: Presence reason
        diffusible:
          type: string
          description: Diffusible indicator
        establishment:
          $ref: '#/components/schemas/PpfEstablishmentWithRoutingCode'
      description: Entity information from PPF
    PpfEstablishmentWithRoutingCode:
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier
        siret:
          type: string
          description: SIRET number
        name:
          type: string
          description: Name of the establishment
        establishmentType:
          type: string
          description: Establishment type
        diffusible:
          type: string
          description: Diffusible indicator
        status:
          type: string
          description: Status
        presenceReason:
          type: string
          description: Presence reason
        address:
          $ref: '#/components/schemas/AddressDto'
        b2gData:
          $ref: '#/components/schemas/B2gDataDto'
        routingCode:
          $ref: '#/components/schemas/PpfRoutingCodeDetail'
      description: Establishment information including routing code
    PpfRoutingCodeDetail:
      type: object
      properties:
        instanceId:
          type: string
          description: Instance identifier of the routing code
        routingId:
          type: string
          description: Routing identifier
        name:
          type: string
          description: Name of the routing code
        siret:
          type: string
          description: SIRET number
        presenceReason:
          type: string
          description: Presence reason
        legalCommitment:
          type: boolean
          description: Legal commitment indicator
        status:
          type: string
          description: Status
        address:
          $ref: '#/components/schemas/AddressDto'
      description: Routing code information
    PpfRoutingCodeMetadata:
      type: object
      properties:
        entity:
          $ref: '#/components/schemas/PpfEntityWithEstablishmentAndRoutingCode'
      description: PPF-specific metadata
    RoutingCodeGlobalIdentifiers:
      required:
      - fr:siren
      - fr:siret
      - fr:vat
      type: object
      properties:
        fr:vat:
          type: string
          description: The VAT number of the legal entity
        fr:siren:
          type: string
          description: The SIREN number of the legal entity in France
        fr:siret:
          type: string
          description: The SIRET number of the establishment in France
      description: Global identifiers for the routing code
    RoutingCodeMetadata:
      type: object
      properties:
        fr:ppf:
          $ref: '#/components/schemas/PpfRoutingCodeMetadata'
      description: Metadata containing source-specific information
    RoutingCodeNames:
      required:
      - businessName
      type: object
      properties:
        businessName:
          type: string
          description: Business name (from legal entity)
        establishmentName:
          type: string
          description: Establishment name
        routingCodeName:
          type: string
          description: Routing code name
      description: Names of the routing code
    RoutingCodeResponse:
      required:
      - address
      - detailUrl
      - globalIdentifiers
      - id
      - names
      - parentDetailUrl
      - type
      type: object
      properties:
        id:
          type: string
          description: Instance identifier of the routing code
        type:
          type: string
          description: Type of result (always 'routingCode')
          example: routingCode
        status:
          type: string
          description: Administrative status of the routing code
        names:
          $ref: '#/components/schemas/RoutingCodeNames'
        metadata:
          $ref: '#/components/schemas/RoutingCodeMetadata'
        globalIdentifiers:
          $ref: '#/components/schemas/RoutingCodeGlobalIdentifiers'
        address:
          $ref: '#/components/schemas/Iso20022StructuredAddress'
        parentDetailUrl:
          type: string
          description: URL to get detailed information of the establishment (parent)
        detailUrl:
          type: string
          description: URL to get detailed information of the routing code
      description: List of routing code results
    ListDirectoryLinesResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/DirectoryLineResponse'
        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
    ANTLRErrorListener:
      type: object
    ATN:
      type: object
      properties:
        states:
          type: array
          items:
            $ref: '#/components/schemas/ATNState'
        decisionToState:
          type: array
          items:
            $ref: '#/components/schemas/DecisionState'
        ruleToStartState:
          type: array
          items:
            $ref: '#/components/schemas/RuleStartState'
        ruleToStopState:
          type: array
          items:
            $ref: '#/components/schemas/RuleStopState'
        modeNameToStartState:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/TokensStartState'
        grammarType:
          type: string
          enum:
          - LEXER
          - PARSER
        maxTokenType:
          type: integer
          format: int32
        ruleToTokenType:
          type: array
          items:
            type: integer
            format: int32
        lexerActions:
          type: array
          items:
            $ref: '#/components/schemas/LexerAction'
        modeToStartState:
          type: array
          items:
            $ref: '#/components/schemas/TokensStartState'
        numberOfDecisions:
          type: integer
          format: int32
    ATNConfig:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/ATNState'
        alt:
          type: integer
          format: int32
        context:
          $ref: '#/components/schemas/PredictionContext'
        reachesIntoOuterContext:
          type: integer
          format: int32
        semanticContext:
          $ref: '#/components/schemas/SemanticContext'
        outerContextDepth:
          type: integer
          format: int32
        precedenceFilterSuppressed:
          type: boolean
    ATNConfigSet:
      uniqueItems: true
      type: array
      properties:
        readonly:
          type: boolean
        configLookup:
          type: array
          properties:
            empty:
              type: boolean
          items:
            $ref: '#/components/schemas/ATNConfig'
        configs:
          type: array
          items:
            $ref: '#/components/schemas/ATNConfig'
        uniqueAlt:
          type: integer
          format: int32
        hasSemanticContext:
          type: boolean
        dipsIntoOuterContext:
          type: boolean
        fullCtx:
          type: boolean
        empty:
          type: boolean
        states:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/ATNState'
        alts:
          type: object
          properties:
            empty:
              type: boolean
        predicates:
          type: array
          items:
            $ref: '#/components/schemas/SemanticContext'
      items:
        $ref: '#/components/schemas/ATNConfig'
    ATNState:
      type: object
      properties:
        atn:
          $ref: '#/components/schemas/ATN'
        stateNumber:
          type: integer
          format: int32
        ruleIndex:
          type: integer
          format: int32
        epsilonOnlyTransitions:
          type: boolean
        transitions:
          type: array
          items:
            $ref: '#/components/schemas/Transition'
        nextTokenWithinRule:
          $ref: '#/components/schemas/IntervalSet'
        nonGreedyExitState:
          type: boolean
        numberOfTransitions:
          type: integer
          format: int32
        stateType:
          type: integer
          format: int32
    AbstractConfigHashSet:
      type: array
      properties:
        empty:
          type: boolean
      items:
        $ref: '#/components/schemas/ATNConfig'
    AmbiguityInfo:
      type: object
      properties:
        decision:
          type: integer
          format: int32
        configs:
          uniqueItems: true
          type: array
          properties:
            readonly:
              type: boolean
            configLookup:
              type: array
              properties:
                empty:
                  type: boolean
              items:
                $ref: '#/components/schemas/ATNConfig'
            configs:
              type: array
              items:
                $ref: '#/components/schemas/ATNConfig'
            uniqueAlt:
              type: integer
              format: int32
            hasSemanticContext:
              type: boolean
            dipsIntoOuterContext:
              type: boolean
            fullCtx:
              type: boolean
            empty:
              type: boolean
            states:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ATNState'
            alts:
              type: object
              properties:
                empty:
                  type: boolean
            predicates:
              type: array
              items:
                $ref: '#/components/schemas/SemanticContext'
          items:
            $ref: '#/components/schemas/ATNConfig'
        input:
          $ref: '#/components/schemas/TokenStream'
        startIndex:
          type: integer
          format: int32
        stopIndex:
          type: integer
          format: int32
        fullCtx:
          type: boolean
        ambigAlts:
          type: object
          properties:
            empty:
              type: boolean
    CharStream:
      type: object
      properties:
        sourceName:
          type: string
    ContextSensitivityInfo:
      type: object
      properties:
        decision:
          type: integer
          format: int32
        configs:
          uniqueItems: true
          type: array
          properties:
            readonly:
              type: boolean
            configLookup:
              type: array
              properties:
                empty:
                  type: boolean
              items:
                $ref: '#/components/schemas/ATNConfig'
            configs:
              type: array
              items:
                $ref: '#/components/schemas/ATNConfig'
            uniqueAlt:
              type: integer
              format: int32
            hasSemanticContext:
              type: boolean
            dipsIntoOuterContext:
              type: boolean
            fullCtx:
              type: boolean
            empty:
              type: boolean
            states:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ATNState'
            alts:
              type: object
              properties:
                empty:
                  type: boolean
            predicates:
              type: array
              items:
                $ref: '#/components/schemas/SemanticContext'
          items:
            $ref: '#/components/schemas/ATNConfig'
        input:
          $ref: '#/components/schemas/TokenStream'
        startIndex:
          type: integer
          format: int32
        stopIndex:
          type: integer
          format: int32
        fullCtx:
          type: boolean
    DecisionInfo:
      type: object
      properties:
        decision:
          type: integer
          format: int32
        invocations:
          type: integer
          format: int64
        timeInPrediction:
          type: integer
          format: int64
        SLL_TotalLook:
          type: integer
          format: int64
        SLL_MinLook:
          type: integer
          format: int64
        SLL_MaxLook:
          type: integer
          format: int64
        SLL_MaxLookEvent:
          $ref: '#/components/schemas/LookaheadEventInfo'
        LL_TotalLook:
          type: integer
          format: int64
        LL_MinLook:
          type: integer
          format: int64
        LL_MaxLook:
          type: integer
          format: int64
        LL_MaxLookEvent:
          $ref: '#/components/schemas/LookaheadEventInfo'
        contextSensitivities:
          type: array
          items:
            $ref: '#/components/schemas/ContextSensitivityInfo'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorInfo'
        ambiguities:
          type: array
          items:
            $ref: '#/components/schemas/AmbiguityInfo'
        predicateEvals:
          type: array
          items:
            $ref: '#/components/schemas/PredicateEvalInfo'
        SLL_ATNTransitions:
          type: integer
          format: int64
        SLL_DFATransitions:
          type: integer
          format: int64
        LL_Fallback:
          type: integer
          format: int64
        LL_ATNTransitions:
          type: integer
          format: int64
        LL_DFATransitions:
          type: integer
          format: int64
    DecisionState:
      type: object
      properties:
        atn:
          $ref: '#/components/schemas/ATN'
        stateNumber:
          type: integer
          format: int32
        ruleIndex:
          type: integer
          format: int32
        epsilonOnlyTransitions:
          type: boolean
        transitions:
          type: array
          items:
            $ref: '#/components/schemas/Transition'
        nextTokenWithinRule:
          $ref: '#/components/schemas/IntervalSet'
        decision:
          type: integer
          format: int32
        nonGreedy:
          type: boolean
        nonGreedyExitState:
          type: boolean
        numberOfTransitions:
          type: integer
          format: int32
        stateType:
          type: integer
          format: int32
    ErrorInfo:
      type: object
      properties:
        decision:
          type: integer
          format: int32
        configs:
          uniqueItems: true
          type: array
          properties:
            readonly:
              type: boolean
            configLookup:
              type: array
              properties:
                empty:
                  type: boolean
              items:
                $ref: '#/components/schemas/ATNConfig'
            configs:
              type: array
              items:
                $ref: '#/components/schemas/ATNConfig'
            uniqueAlt:
              type: integer
              format: int32
            hasSemanticContext:
              type: boolean
            dipsIntoOuterContext:
              type: boolean
            fullCtx:
              type: boolean
            empty:
              type: boolean
            states:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ATNState'
            alts:
              type: object
              properties:
                empty:
                  type: boolean
            predicates:
              type: array
              items:
                $ref: '#/components/schemas/SemanticContext'
          items:
            $ref: '#/components/schemas/ATNConfig'
        input:
          $ref: '#/components/schemas/TokenStream'
        startIndex:
          type: integer
          format: int32
        stopIndex:
          type: integer
          format: int32
        fullCtx:
          type: boolean
    IntStream:
      type: object
      properties:
        sourceName:
          type: string
    Interval:
      type: object
      properties:
        a:
          type: integer
          format: int32
        b:
          type: integer
          format: int32
    IntervalSet:
      type: object
      properties:
        intervals:
          type: array
          items:
            $ref: '#/components/schemas/Interval'
        readonly:
          type: boolean
        nil:
          type: boolean
        maxElement:
          type: integer
          format: int32
        minElement:
          type: integer
          format: int32
    LexerAction:
      type: object
      properties:
        positionDependent:
          type: boolean
        actionType:
          type: string
          enum:
          - CHANNEL
          - CUSTOM
          - MODE
          - MORE
          - POP_MODE
          - PUSH_MODE
          - SKIP
          - TYPE
    LookaheadEventInfo:
      type: object
      properties:
        decision:
          type: integer
          format: int32
        configs:
          uniqueItems: true
          type: array
          properties:
            readonly:
              type: boolean
            configLookup:
              type: array
              properties:
                empty:
                  type: boolean
              items:
                $ref: '#/components/schemas/ATNConfig'
            configs:
              type: array
              items:
                $ref: '#/components/schemas/ATNConfig'
            uniqueAlt:
              type: integer
              format: int32
            hasSemanticContext:
              type: boolean
            dipsIntoOuterContext:
              type: boolean
            fullCtx:
              type: boolean
            empty:
              type: boolean
            states:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ATNState'
            alts:
              type: object
              properties:
                empty:
                  type: boolean
            predicates:
              type: array
              items:
                $ref: '#/components/schemas/SemanticContext'
          items:
            $ref: '#/components/schemas/ATNConfig'
        input:
          $ref: '#/components/schemas/TokenStream'
        startIndex:
          type: integer
          format: int32
        stopIndex:
          type: integer
          format: int32
        fullCtx:
          type: boolean
        predictedAlt:
          type: integer
          format: int32
    ParseInfo:
      type: object
      properties:
        totalTimeInPrediction:
          type: integer
          format: int64
        totalSLLLookaheadOps:
          type: integer
          format: int64
        totalLLLookaheadOps:
          type: integer
          format: int64
        totalSLLATNLookaheadOps:
          type: integer
          format: int64
        totalLLATNLookaheadOps:
          type: integer
          format: int64
        totalATNLookaheadOps:
          type: integer
          format: int64
        decisionInfo:
          type: array
          items:
            $ref: '#/components/schemas/DecisionInfo'
        lldecisions:
          type: array
          items:
            type: integer
            format: int32
        dfasize:
          type: integer
          format: int32
    ParseTree:
      type: object
      properties:
        parent:
          $ref: '#/components/schemas/ParseTree'
        text:
          type: string
        sourceInterval:
          $ref: '#/components/schemas/Interval'
        payload:
          type: object
        childCount:
          type: integer
          format: int32
    ParserRuleContext:
      type: object
      properties:
        parent:
          $ref: '#/components/schemas/ParserRuleContext'
        invokingState:
          type: integer
          format: int32
        children:
          type: array
          items:
            $ref: '#/components/schemas/ParseTree'
        start:
          $ref: '#/components/schemas/Token'
        stop:
          $ref: '#/components/schemas/Token'
        exception:
          $ref: '#/components/schemas/RecognitionException'
        childCount:
          type: integer
          format: int32
        sourceInterval:
          $ref: '#/components/schemas/Interval'
        empty:
          type: boolean
        payload:
          $ref: '#/components/schemas/RuleContext'
        text:
          type: string
        ruleContext:
          $ref: '#/components/schemas/RuleContext'
        ruleIndex:
          type: integer
          format: int32
        altNumber:
          type: integer
          format: int32
    PredicateEvalInfo:
      type: object
      properties:
        decision:
          type: integer
          format: int32
        configs:
          uniqueItems: true
          type: array
          properties:
            readonly:
              type: boolean
            configLookup:
              type: array
              properties:
                empty:
                  type: boolean
              items:
                $ref: '#/components/schemas/ATNConfig'
            configs:
              type: array
              items:
                $ref: '#/components/schemas/ATNConfig'
            uniqueAlt:
              type: integer
              format: int32
            hasSemanticContext:
              type: boolean
            dipsIntoOuterContext:
              type: boolean
            fullCtx:
              type: boolean
            empty:
              type: boolean
            states:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ATNState'
            alts:
              type: object
              properties:
                empty:
                  type: boolean
            predicates:
              type: array
              items:
                $ref: '#/components/schemas/SemanticContext'
          items:
            $ref: '#/components/schemas/ATNConfig'
        input:
          $ref: '#/components/schemas/TokenStream'
        startIndex:
          type: integer
          format: int32
        stopIndex:
          type: integer
          format: int32
        fullCtx:
          type: boolean
        semctx:
          $ref: '#/components/schemas/SemanticContext'
        predictedAlt:
          type: integer
          format: int32
        evalResult:
          type: boolean
    PredictionContext:
      type: object
      properties:
        id:
          type: integer
          format: int32
        cachedHashCode:
          type: integer
          format: int32
        empty:
          type: boolean
    QueryContext:
      type: object
      properties:
        parent:
          $ref: '#/components/schemas/ParserRuleContext'
        invokingState:
          type: integer
          format: int32
        children:
          type: array
          items:
            $ref: '#/components/schemas/ParseTree'
        start:
          $ref: '#/components/schemas/Token'
        stop:
          $ref: '#/components/schemas/Token'
        exception:
          $ref: '#/components/schemas/RecognitionException'
        ruleIndex:
          type: integer
          format: int32
        childCount:
          type: integer
          format: int32
        sourceInterval:
          $ref: '#/components/schemas/Interval'
        empty:
          type: boolean
        payload:
          $ref: '#/components/schemas/RuleContext'
        text:
          type: string
        ruleContext:
          $ref: '#/components/schemas/RuleContext'
        altNumber:
          type: integer
          format: int32
    RecognitionException:
      type: object
      properties:
        cause:
          type: object
          properties:
            stackTrace:
              type: array
              items:
                type: object
                properties:
                  classLoaderName:
                    type: string
                  moduleName:
                    type: string
                  moduleVersion:
                    type: string
                  methodName:
                    type: string
                  fileName:
                    type: string
                  lineNumber:
                    type: integer
                    format: int32
                  className:
                    type: string
                  nativeMethod:
                    type: boolean
            message:
              type: string
            suppressed:
              type: array
              items:
                type: object
                properties:
                  stackTrace:
                    type: array
                    items:
                      type: object
                      properties:
                        classLoaderName:
                          type: string
                        moduleName:
                          type: string
                        moduleVersion:
                          type: string
                        methodName:
                          type: string
                        fileName:
                          type: string
                        lineNumber:
                          type: integer
                          format: int32
                        className:
                          type: string
                        nativeMethod:
                          type: boolean
                  message:
                    type: string
                  localizedMessage:
                    type: string
            localizedMessage:
              type: string
        stackTrace:
          type: array
          items:
            type: object
            properties:
              classLoaderName:
                type: string
              moduleName:
                type: string
              moduleVersion:
                type: string
              methodName:
                type: string
              fileName:
                type: string
              lineNumber:
                type: integer
                format: int32
              className:
                type: string
              nativeMethod:
                type: boolean
        recognizer:
          $ref: '#/components/schemas/RecognizerObjectObject'
        ctx:
          $ref: '#/components/schemas/RuleContext'
        offendingToken:
          $ref: '#/components/schemas/Token'
        offendingState:
          type: integer
          format: int32
        inputStream:
          $ref: '#/components/schemas/IntStream'
        expectedTokens:
          $ref: '#/components/schemas/IntervalSet'
        message:
          type: string
        suppressed:
          type: array
          items:
            type: object
            properties:
              stackTrace:
                type: array
                items:
                  type: object
                  properties:
                    classLoaderName:
                      type: string
                    moduleName:
                      type: string
                    moduleVersion:
                      type: string
                    methodName:
                      type: string
                    fileName:
                      type: string
                    lineNumber:
                      type: integer
                      format: int32
                    className:
                      type: string
                    nativeMethod:
                      type: boolean
              message:
                type: string
              localizedMessage:
                type: string
        localizedMessage:
          type: string
    RecognizerObjectObject:
      type: object
      properties:
        state:
          type: integer
          format: int32
        inputStream:
          $ref: '#/components/schemas/IntStream'
        ruleNames:
          type: array
          items:
            type: string
        errorListenerDispatch:
          $ref: '#/components/schemas/ANTLRErrorListener'
        ruleIndexMap:
          type: object
          additionalProperties:
            type: integer
            format: int32
        interpreter:
          type: object
        tokenTypeMap:
          type: object
          additionalProperties:
            type: integer
            format: int32
        errorListeners:
          type: array
          items:
            $ref: '#/components/schemas/ANTLRErrorListener'
        tokenNames:
          type: array
          items:
            type: string
        vocabulary:
          $ref: '#/components/schemas/Vocabulary'
        grammarFileName:
          type: string
        serializedATN:
          type: string
        atn:
          $ref: '#/components/schemas/ATN'
        tokenFactory:
          $ref: '#/components/schemas/TokenFactoryObject'
        parseInfo:
          $ref: '#/components/schemas/ParseInfo'
    RuleContext:
      type: object
      properties:
        parent:
          $ref: '#/components/schemas/RuleContext'
        invokingState:
          type: integer
          format: int32
        empty:
          type: boolean
        payload:
          $ref: '#/components/schemas/RuleContext'
        text:
          type: string
        childCount:
          type: integer
          format: int32
        ruleContext:
          $ref: '#/components/schemas/RuleContext'
        ruleIndex:
          type: integer
          format: int32
        sourceInterval:
          $ref: '#/components/schemas/Interval'
        altNumber:
          type: integer
          format: int32
    RuleStartState:
      type: object
      properties:
        atn:
          $ref: '#/components/schemas/ATN'
        stateNumber:
          type: integer
          format: int32
        ruleIndex:
          type: integer
          format: int32
        epsilonOnlyTransitions:
          type: boolean
        transitions:
          type: array
          items:
            $ref: '#/components/schemas/Transition'
        nextTokenWithinRule:
          $ref: '#/components/schemas/IntervalSet'
        stopState:
          $ref: '#/components/schemas/RuleStopState'
        isLeftRecursiveRule:
          type: boolean
        stateType:
          type: integer
          format: int32
        nonGreedyExitState:
          type: boolean
        numberOfTransitions:
          type: integer
          format: int32
    RuleStopState:
      type: object
      properties:
        atn:
          $ref: '#/components/schemas/ATN'
        stateNumber:
          type: integer
          format: int32
        ruleIndex:
          type: integer
          format: int32
        epsilonOnlyTransitions:
          type: boolean
        transitions:
          type: array
          items:
            $ref: '#/components/schemas/Transition'
        nextTokenWithinRule:
          $ref: '#/components/schemas/IntervalSet'
        stateType:
          type: integer
          format: int32
        nonGreedyExitState:
          type: boolean
        numberOfTransitions:
          type: integer
          format: int32
    SemanticContext:
      type: object
    Token:
      type: object
      properties:
        type:
          type: integer
          format: int32
        inputStream:
          $ref: '#/components/schemas/CharStream'
        channel:
          type: integer
          format: int32
        text:
          type: string
        tokenIndex:
          type: integer
          format: int32
        charPositionInLine:
          type: integer
          format: int32
        tokenSource:
          $ref: '#/components/schemas/TokenSource'
        startIndex:
          type: integer
          format: int32
        stopIndex:
          type: integer
          format: int32
        line:
          type: integer
          format: int32
    TokenFactoryObject:
      type: object
    TokenSource:
      type: object
      properties:
        inputStream:
          $ref: '#/components/schemas/CharStream'
        charPositionInLine:
          type: integer
          format: int32
        sourceName:
          type: string
        line:
          type: integer
          format: int32
        tokenFactory:
          $ref: '#/components/schemas/TokenFactoryObject'
    TokenStream:
      type: object
      properties:
        text:
          type: string
        tokenSource:
          $ref: '#/components/schemas/TokenSource'
        sourceName:
          type: string
    TokensStartState:
      type: object
      properties:
        atn:
          $ref: '#/components/schemas/ATN'
        stateNumber:
          type: integer
          format: int32
        ruleIndex:
          type: integer
          format: int32
        epsilonOnlyTransitions:
          type: boolean
        transitions:
          type: array
          items:
            $ref: '#/components/schemas/Transition'
        nextTokenWithinRule:
          $ref: '#/components/schemas/IntervalSet'
        decision:
          type: integer
          format: int32
        nonGreedy:
          type: boolean
        stateType:
          type: integer
          format: int32
        nonGreedyExitState:
          type: boolean
        numberOfTransitions:
          type: integer
          format: int32
    Transition:
      type: object
      properties:
        target:
          $ref: '#/components/schemas/ATNState'
        serializationType:
          type: integer
          format: int32
        epsilon:
          type: boolean
    Vocabulary:
      type: object
      properties:
        maxTokenType:
          type: integer
          format: int32
    ListLegalEntitiesResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/LegalEntityResponse'
        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
    ListRoutingCodesResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/RoutingCodeResponse'
        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
  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.
