Sibill Counterpart API

The Counterpart API from Sibill — 3 operation(s) for counterpart.

OpenAPI Specification

sibill-counterpart-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Sibill Integration Account Counterpart API
  version: 1.0.0
  x-logo:
    altText: Sibill logo
    backgroundColor: '#FFFFFF'
    url: https://sibill.com/wp-content/uploads/2022/12/logo-sibill.svg
servers:
- url: http://integration.app.svc.cluster.local:4000
  variables: {}
security: []
tags:
- name: Counterpart
paths:
  /api/v1/companies/{company_id}/counterparts:
    get:
      callbacks: {}
      description: 'The return value is paginated. By default the response contains 25 elements per page but can be instructed to return more elements per page.

        A cursor is needed to traverse the results.

        '
      operationId: SibillWeb.Integration.V1.CounterpartsController.index
      parameters:
      - description: The company the counterparts belongs to
        in: path
        name: company_id
        required: true
        schema:
          type: string
      - description: The page size
        in: query
        name: page_size
        required: false
        schema:
          type: integer
      - description: 'The pagination cursor. A cursor is used to paginate through a large set of data.

          It is a unique identifier that represents a specific position in the dataset.

          '
        in: query
        name: cursor
        required: false
        schema:
          type: string
      - description: 'List of filters on the resource. Currently the fields that allow to be filtered are: `vat_number`, `tax_number`, `company_name`'
        in: query
        name: filter
        required: false
        schema:
          type: object
      - description: 'Fields for which we can order the results. Sortable fields: `company_name`'
        in: query
        name: sort
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartList'
          description: Ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Not found
      security:
      - authorization: []
      summary: Get the list of counterparts
      tags:
      - Counterpart
      x-codeSamples:
      - label: ⚡ cURL
        lang: Shell
        source: "base_url=\"http://example.com\" # Replace with the correct Sibill integration API host\n\ncurl --request GET \\\n     --url ${base_url}/api/v1/companies/:company_id/counterparts \\\n     --header \"Authorization: Bearer ${authorization_token}\"\n"
      - label: 🌐 HTTP
        lang: HTTP
        source: 'GET /api/v1/companies/:company_id/counterparts HTTP/1.1

          Host: example.com # Replace with the correct Sibill integration API host

          Authorization: Bearer ${authorization_token}

          '
      - label: 💜 Elixir
        lang: Elixir
        source: 'Mix.install([:req])


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url <> "/api/v1/companies/:company_id/counterparts"

          headers = [{"Authorization", "Bearer ${authorization_token}"}]


          Req.get(url, headers: headers)

          '
      - label: 🐍 Python
        lang: Python
        source: 'import requests


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url + "/api/v1/companies/:company_id/counterparts"

          headers = {"Authorization": "Bearer ${authorization_token}"}


          response = requests.get(url, headers=headers)

          print(response.text)

          '
      - label: ☕ Java
        lang: Java
        source: "import java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.net.URI;\n\nString base_url = \"http://example.com\"; // Replace with the correct Sibill integration API host\nString url = base_url + \"/api/v1/companies/:company_id/counterparts\";\n\nHttpClient client = HttpClient.newHttpClient();\nHttpRequest request = HttpRequest.newBuilder()\n  .uri(URI.create(url))\n  .header(\"Authorization\", \"Bearer ${authorization_token}\")\n  .GET()\n  .build();\n\nHttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());\nSystem.out.println(response.body());\n"
      - label: 🐘 PHP
        lang: PHP
        source: "<?php\n\n$url = \"http://example.com/api/v1/companies/:company_id/counterparts\"; // Replace with the correct Sibill integration API host\n\n$ch = curl_init($url);\n\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"GET\");\n\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    \"Authorization: Bearer ${authorization_token}\"\n]);\n\n$response = curl_exec($ch);\n\nif (curl_errno($ch)) {\n    echo 'Curl error: ' . curl_error($ch);\n} else {\n    echo 'Response:' . PHP_EOL;\n    echo $response;\n}\n\ncurl_close($ch);\n"
    post:
      callbacks: {}
      operationId: SibillWeb.Integration.V1.CounterpartsController.create
      parameters:
      - description: The company the counterpart belongs to
        in: path
        name: company_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartCreate'
        description: Counterpart
        required: false
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartData'
          description: Counterpart created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Unprocessable Entity
      security:
      - authorization: []
      summary: Create a new counterpart
      tags:
      - Counterpart
      x-codeSamples:
      - label: ⚡ cURL
        lang: Shell
        source: "base_url=\"http://example.com\" # Replace with the correct Sibill integration API host\n\ncurl --request POST \\\n     --url ${base_url}/api/v1/companies/:company_id/counterparts \\\n     --header \"Authorization: Bearer ${authorization_token}\" \\\n     --header \"Content-Type: application/json\" \\\n     --data '${your payload here}'\n"
      - label: 🌐 HTTP
        lang: HTTP
        source: 'POST /api/v1/companies/:company_id/counterparts HTTP/1.1

          Host: example.com # Replace with the correct Sibill integration API host

          Authorization: Bearer ${authorization_token}

          Content-Type: application/json

          ${your payload here}

          '
      - label: 💜 Elixir
        lang: Elixir
        source: 'Mix.install([:req])


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url <> "/api/v1/companies/:company_id/counterparts"

          headers = [{"Authorization", "Bearer ${authorization_token}"}, {"Content-Type", "application/json"}]

          payload = ${your payload here}


          Req.post(url, headers: headers, body: payload)

          '
      - label: 🐍 Python
        lang: Python
        source: 'import requests


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url + "/api/v1/companies/:company_id/counterparts"

          headers = {"Authorization": "Bearer ${authorization_token}", "Content-Type": "application/json"}

          payload = ${your payload here}


          response = requests.post(url, headers=headers, json=payload)

          print(response.text)

          '
      - label: ☕ Java
        lang: Java
        source: "import java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.net.URI;\n\nString base_url = \"http://example.com\"; // Replace with the correct Sibill integration API host\nString url = base_url + \"/api/v1/companies/:company_id/counterparts\";\n\nHttpClient client = HttpClient.newHttpClient();\nHttpRequest request = HttpRequest.newBuilder()\n  .uri(URI.create(url))\n  .header(\"Authorization\", \"Bearer ${authorization_token}\")\n  .header(\"Content-Type\", \"application/json\")\n  .POST(HttpRequest.BodyPublishers.ofString(${your payload here}))\n  .build();\n\nHttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());\nSystem.out.println(response.body());\n"
      - label: 🐘 PHP
        lang: PHP
        source: "<?php\n\n$url = \"http://example.com/api/v1/companies/:company_id/counterparts\"; // Replace with the correct Sibill integration API host\n\n$ch = curl_init($url);\n\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"POST\");\n\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    \"Authorization: Bearer ${authorization_token}\",\n    \"Content-Type: application/json\"\n]);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, <<<BODY\n${your payload here}\nBODY\n);\n\n$response = curl_exec($ch);\n\nif (curl_errno($ch)) {\n    echo 'Curl error: ' . curl_error($ch);\n} else {\n    echo 'Response:' . PHP_EOL;\n    echo $response;\n}\n\ncurl_close($ch);\n"
  /api/v1/companies/{company_id}/counterparts/{id}:
    get:
      callbacks: {}
      operationId: SibillWeb.Integration.V1.CounterpartsController.show
      parameters:
      - description: The company the counterpart belongs to
        in: path
        name: company_id
        required: true
        schema:
          type: string
      - description: The counterpart identifier
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartData'
          description: Ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Not found
      security:
      - authorization: []
      summary: Get a specific counterpart
      tags:
      - Counterpart
      x-codeSamples:
      - label: ⚡ cURL
        lang: Shell
        source: "base_url=\"http://example.com\" # Replace with the correct Sibill integration API host\n\ncurl --request GET \\\n     --url ${base_url}/api/v1/companies/:company_id/counterparts/:counterpart_id \\\n     --header \"Authorization: Bearer ${authorization_token}\"\n"
      - label: 🌐 HTTP
        lang: HTTP
        source: 'GET /api/v1/companies/:company_id/counterparts/:counterpart_id HTTP/1.1

          Host: example.com # Replace with the correct Sibill integration API host

          Authorization: Bearer ${authorization_token}

          '
      - label: 💜 Elixir
        lang: Elixir
        source: 'Mix.install([:req])


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url <> "/api/v1/companies/:company_id/counterparts/:counterpart_id"

          headers = [{"Authorization", "Bearer ${authorization_token}"}]


          Req.get(url, headers: headers)

          '
      - label: 🐍 Python
        lang: Python
        source: 'import requests


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url + "/api/v1/companies/:company_id/counterparts/:counterpart_id"

          headers = {"Authorization": "Bearer ${authorization_token}"}


          response = requests.get(url, headers=headers)

          print(response.text)

          '
      - label: ☕ Java
        lang: Java
        source: "import java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.net.URI;\n\nString base_url = \"http://example.com\"; // Replace with the correct Sibill integration API host\nString url = base_url + \"/api/v1/companies/:company_id/counterparts/:counterpart_id\";\n\nHttpClient client = HttpClient.newHttpClient();\nHttpRequest request = HttpRequest.newBuilder()\n  .uri(URI.create(url))\n  .header(\"Authorization\", \"Bearer ${authorization_token}\")\n  .GET()\n  .build();\n\nHttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());\nSystem.out.println(response.body());\n"
      - label: 🐘 PHP
        lang: PHP
        source: "<?php\n\n$url = \"http://example.com/api/v1/companies/:company_id/counterparts/:counterpart_id\"; // Replace with the correct Sibill integration API host\n\n$ch = curl_init($url);\n\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"GET\");\n\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    \"Authorization: Bearer ${authorization_token}\"\n]);\n\n$response = curl_exec($ch);\n\nif (curl_errno($ch)) {\n    echo 'Curl error: ' . curl_error($ch);\n} else {\n    echo 'Response:' . PHP_EOL;\n    echo $response;\n}\n\ncurl_close($ch);\n"
    patch:
      callbacks: {}
      operationId: SibillWeb.Integration.V1.CounterpartsController.update
      parameters:
      - description: The company the counterpart belongs to
        in: path
        name: company_id
        required: true
        schema:
          type: string
      - description: The counterpart identifier
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartUpdate'
        description: Counterpart
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartData'
          description: Counterpart updated
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Unprocessable Entity
      security:
      - authorization: []
      summary: Update an existing counterpart
      tags:
      - Counterpart
      x-codeSamples:
      - label: ⚡ cURL
        lang: Shell
        source: "base_url=\"http://example.com\" # Replace with the correct Sibill integration API host\n\ncurl --request PATCH \\\n     --url ${base_url}/api/v1/companies/:company_id/counterparts/:counterpart_id \\\n     --header \"Authorization: Bearer ${authorization_token}\" \\\n     --header \"Content-Type: application/json\" \\\n     --data '${your payload here}'\n"
      - label: 🌐 HTTP
        lang: HTTP
        source: 'PATCH /api/v1/companies/:company_id/counterparts/:counterpart_id HTTP/1.1

          Host: example.com # Replace with the correct Sibill integration API host

          Authorization: Bearer ${authorization_token}

          Content-Type: application/json

          ${your payload here}

          '
      - label: 💜 Elixir
        lang: Elixir
        source: 'Mix.install([:req])


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url <> "/api/v1/companies/:company_id/counterparts/:counterpart_id"

          headers = [{"Authorization", "Bearer ${authorization_token}"}, {"Content-Type", "application/json"}]

          payload = ${your payload here}


          Req.patch(url, headers: headers, body: payload)

          '
      - label: 🐍 Python
        lang: Python
        source: 'import requests


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url + "/api/v1/companies/:company_id/counterparts/:counterpart_id"

          headers = {"Authorization": "Bearer ${authorization_token}", "Content-Type": "application/json"}

          payload = ${your payload here}


          response = requests.patch(url, headers=headers, json=payload)

          print(response.text)

          '
      - label: ☕ Java
        lang: Java
        source: "import java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.net.URI;\n\nString base_url = \"http://example.com\"; // Replace with the correct Sibill integration API host\nString url = base_url + \"/api/v1/companies/:company_id/counterparts/:counterpart_id\";\n\nHttpClient client = HttpClient.newHttpClient();\nHttpRequest request = HttpRequest.newBuilder()\n  .uri(URI.create(url))\n  .header(\"Authorization\", \"Bearer ${authorization_token}\")\n  .header(\"Content-Type\", \"application/json\")\n  .PATCH(HttpRequest.BodyPublishers.ofString(${your payload here}))\n  .build();\n\nHttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());\nSystem.out.println(response.body());\n"
      - label: 🐘 PHP
        lang: PHP
        source: "<?php\n\n$url = \"http://example.com/api/v1/companies/:company_id/counterparts/:counterpart_id\"; // Replace with the correct Sibill integration API host\n\n$ch = curl_init($url);\n\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"PATCH\");\n\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    \"Authorization: Bearer ${authorization_token}\",\n    \"Content-Type: application/json\"\n]);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, <<<BODY\n${your payload here}\nBODY\n);\n\n$response = curl_exec($ch);\n\nif (curl_errno($ch)) {\n    echo 'Curl error: ' . curl_error($ch);\n} else {\n    echo 'Response:' . PHP_EOL;\n    echo $response;\n}\n\ncurl_close($ch);\n"
  /api/v1/counterparts/search:
    get:
      callbacks: {}
      description: 'Search for counterpart information from a third-party system.

        '
      operationId: SibillWeb.Integration.V1.CounterpartsActionsController.search
      parameters:
      - description: The VAT number of the counterpart to search
        in: query
        name: vat_number
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartSearchData'
          description: Ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Not found
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationError'
          description: Internal Server Error
      security:
      - authorization: []
      summary: Search counterpart informations
      tags:
      - Counterpart
      x-codeSamples:
      - label: ⚡ cURL
        lang: Shell
        source: "base_url=\"http://example.com\" # Replace with the correct Sibill integration API host\n\ncurl --request GET \\\n     --url ${base_url}/api/v1/counterparts/search \\\n     --header \"Authorization: Bearer ${authorization_token}\"\n"
      - label: 🌐 HTTP
        lang: HTTP
        source: 'GET /api/v1/counterparts/search HTTP/1.1

          Host: example.com # Replace with the correct Sibill integration API host

          Authorization: Bearer ${authorization_token}

          '
      - label: 💜 Elixir
        lang: Elixir
        source: 'Mix.install([:req])


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url <> "/api/v1/counterparts/search"

          headers = [{"Authorization", "Bearer ${authorization_token}"}]


          Req.get(url, headers: headers)

          '
      - label: 🐍 Python
        lang: Python
        source: 'import requests


          base_url = "http://example.com" # Replace with the correct Sibill integration API host

          url = base_url + "/api/v1/counterparts/search"

          headers = {"Authorization": "Bearer ${authorization_token}"}


          response = requests.get(url, headers=headers)

          print(response.text)

          '
      - label: ☕ Java
        lang: Java
        source: "import java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.net.URI;\n\nString base_url = \"http://example.com\"; // Replace with the correct Sibill integration API host\nString url = base_url + \"/api/v1/counterparts/search\";\n\nHttpClient client = HttpClient.newHttpClient();\nHttpRequest request = HttpRequest.newBuilder()\n  .uri(URI.create(url))\n  .header(\"Authorization\", \"Bearer ${authorization_token}\")\n  .GET()\n  .build();\n\nHttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());\nSystem.out.println(response.body());\n"
      - label: 🐘 PHP
        lang: PHP
        source: "<?php\n\n$url = \"http://example.com/api/v1/counterparts/search\"; // Replace with the correct Sibill integration API host\n\n$ch = curl_init($url);\n\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"GET\");\n\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    \"Authorization: Bearer ${authorization_token}\"\n]);\n\n$response = curl_exec($ch);\n\nif (curl_errno($ch)) {\n    echo 'Curl error: ' . curl_error($ch);\n} else {\n    echo 'Response:' . PHP_EOL;\n    echo $response;\n}\n\ncurl_close($ch);\n"
components:
  schemas:
    Page:
      properties:
        cursor:
          description: A cursor that can be used to fetch the next page of results
          nullable: true
          type: string
        size:
          description: The current page size
          type: integer
      title: Page
      type: object
    CounterpartCreate:
      description: Create counterpart data object
      properties:
        address:
          description: The address
          nullable: true
          type: string
        city:
          description: The city
          nullable: true
          type: string
        company_name:
          description: The company name of the counterpart
          nullable: true
          type: string
        country:
          description: The country (ISO code)
          type: string
        destination_code:
          description: The destination code (if applicable) for the Italian Electronic system (SDI).
          nullable: true
          type: string
        identity_type:
          description: 'The type of the counterpart.


            Possible values are:

            - `COMPANY`: a company

            - `PA`: a public authority

            - `PERSON`: a person

            - `CONTRACTOR`: a contractor

            '
          enum:
          - COMPANY
          - PA
          - PERSON
          - CONTRACTOR
          nullable: true
          type: string
        postal_code:
          description: The postal code (if applicable)
          nullable: true
          type: string
        province_code:
          description: The province code (if applicable)
          nullable: true
          type: string
        tax_number:
          description: The tax number
          nullable: true
          type: string
        vat_number:
          description: The VAT number
          nullable: true
          type: string
      required:
      - country
      title: CounterpartCreate
      type: object
    CounterpartData:
      description: Counterpart data representation
      properties:
        data:
          $ref: '#/components/schemas/CounterpartSchema'
      title: CounterpartData
      type: object
    CounterpartUpdate:
      description: Update counterpart data object
      properties:
        address:
          description: The address
          nullable: true
          type: string
        city:
          description: The city
          nullable: true
          type: string
        company_name:
          description: The company name of the counterpart
          nullable: true
          type: string
        country:
          description: The country (ISO code)
          nullable: true
          type: string
        destination_code:
          description: The destination code (if applicable) for the Italian Electronic system (SDI).
          nullable: true
          type: string
        postal_code:
          description: The postal code (if applicable)
          nullable: true
          type: string
        province_code:
          description: The province code (if applicable)
          nullable: true
          type: string
      title: CounterpartUpdate
      type: object
    CounterpartSearchData:
      description: Counterpart search result representation
      properties:
        data:
          $ref: '#/components/schemas/CounterpartSearchSchema'
      title: CounterpartSearchData
      type: object
    CounterpartList:
      description: List of counterpart representations
      properties:
        data:
          items:
            $ref: '#/components/schemas/CounterpartSchema'
          type: array
        page:
          $ref: '#/components/schemas/Page'
      title: CounterpartList
      type: object
    CounterpartSearchSchema:
      description: Counterpart search result representation
      properties:
        address:
          description: The address
          nullable: true
          readOnly: true
          type: string
        city:
          description: The city
          nullable: true
          readOnly: true
          type: string
        company_name:
          description: The company name of the counterpart
          nullable: true
          readOnly: true
          type: string
        country:
          description: The country
          nullable: true
          readOnly: true
          type: string
        postal_code:
          description: The postal code (if applicable)
          nullable: true
          readOnly: true
          type: string
        province_code:
          description: The province code (if applicable)
          nullable: true
          readOnly: true
          type: string
        tax_number:
          description: The tax number
          nullable: true
          readOnly: true
          type: string
        vat_number:
          description: The VAT number
          nullable: true
          readOnly: true
          type: string
      title: CounterpartSearchSchema
      type: object
    CounterpartSchema:
      description: Counterpart data representation
      properties:
        address:
          description: The address
          nullable: true
          readOnly: true
          type: string
        city:
          description: The city
          nullable: true
          readOnly: true
          type: string
        company_name:
          description: The company name of the counterpart
          nullable: true
          readOnly: true
          type: string
        country:
          description: The country
          nullable: true
          readOnly: true
          type: string
        destination_code:
          description: "The destination code (if applicable) for the Italian Electronic system (SDI).\nAll the letters must be uppercase.\n\nPossible (suggested) values are:\n  - `2R4GTO8`: for San Marino.\n  - `XXXXXXX`: for not Italian Country.\n  - `0000000`: for italian identity_type `PERSON`.\n  - defaulted to `999999`: italian identity_type `PA`.\n  - defaulted to `0000000`: if it's unknown.\n\nFor identity_type `COMPANY` and `CONTRACTOR` the lenght must be `7`.\nFor identity_type `PA` the lenght must be `6`.\n"
          nullable: true
          readOnly: true
          type: string
        id:
          description: The id of the counterpart
          example: 019f8035-9c6e-7bca-bc10-478400587b84
          format: uuid
          readOnly: true
          type: string
        identity_type:
          description: 'The type of the counterpart.


            Possible values are:

            - `COMPANY`: a company

            - `PA`: a public authority

            - `PERSON`: a person

            - `CONTRACTOR`: a contractor

            '
          enum:
          - COMPANY
          - PA
          - PERSON
          - CONTRACTOR
          nullable: true
          readOnly: true
          type: string
        postal_code:
          description: The postal code (if applicable)
          nullable: true
          readOnly: true
          type: string
        province_code:
          description: The province code (if applicable)
          nullable: true
          readOnly: true
          type: string
        tax_number:
          description: The tax number
          nullable: true
          readOnly: true
          type: string
        vat_number:
          description: The VAT number
          nullable: true
          readOnly: true
          type: string
      title: CounterpartSchema
      type: object
    IntegrationError:
      properties:
        errors:
          description: The list of errors encountered during the operation with detailed information
          items:
            properties:
              code:
                description: Short code identifying an error type
                example: bad_request
                type: string
              detail:
                description: The message detail that describes the error
                example: null value where string expected
                nullable: true
                type: string
              source:
                nullable: true
                properties:
                  pointer:
                    description: The exact position in the request where the error occurred
                    example: /data/attributes/name
                    type: string
                type: object
              title:
                description: The message title that describes the error. It is a short, human-readable summary of the problem
                example: Invalid value


# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sibill/refs/heads/main/openapi/sibill-counterpart-api-openapi.yml