{
  "openapi": "3.0.1",
  "info": {
    "title": "Peppol & VAT Check for Client Lists",
    "description": "Check your client list for e-invoicing: VAT format and check digits, VIES status, name match and Peppol registration for BE, NL, LU, FR and DE. Printable report in Dutch, French or English.",
    "version": "0.1",
    "x-build-id": "0h0L6aPldS7MgWw02"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/olliolli~peppol-client-data-check/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-olliolli-peppol-client-data-check",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/olliolli~peppol-client-data-check/runs": {
      "post": {
        "operationId": "runs-sync-olliolli-peppol-client-data-check",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/olliolli~peppol-client-data-check/run-sync": {
      "post": {
        "operationId": "run-sync-olliolli-peppol-client-data-check",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "clients": {
            "title": "Clients",
            "maxItems": 2000,
            "type": "array",
            "description": "Up to 2,000 clients. Each client: {\"id\": VAT or company number in any common format (required), \"name\": optional, \"postalCode\": optional, \"reference\": optional, for example your client number, \"country\": optional, BE / NL / FR / LU / DE, used for numbers without a country prefix, \"peppolId\": optional, the Peppol ID you have on file for this client, e.g. 0208:0403170701 or 0204:991-12345-67}. With a name and postal code the actor also compares them with the VIES record. Entries without an id are skipped.",
            "items": {
              "type": "object"
            }
          },
          "identifiers": {
            "title": "Or: a simple list of numbers",
            "maxItems": 2000,
            "type": "array",
            "description": "VAT or company numbers, one per line, in any common format (BE 0403.170.701, 0403170701, NL004495445B01, FR60513067645, LU26375245, DE136695976). Use this or clients; both are combined.",
            "items": {
              "type": "string",
              "maxLength": 100
            }
          },
          "datasetId": {
            "title": "Or: dataset with your client list",
            "type": "string",
            "description": "A dataset with one row per client. Column names are matched loosely (capitalisation, spaces, dashes and accents do not matter): vat, vat_number, vat_nr, btw, btw_nummer, btw_nr, tva, numero_tva, ust_id, ust_idnr, enterprise_number, ondernemingsnummer, kbo, bce, company_number, siren or siret for the number (siren/siret are read as French and ust_id as German when the number has no prefix); name, company, naam or nom; postal_code, postcode, zip, code_postal or plz; reference, ref, client_id or klantnummer; optionally country / land / pays and peppol_id / peppol (a Peppol ID like 0208:0403170701). Up to 5,000 rows are read; at most 2,000 clients are processed per run."
          },
          "defaultCountry": {
            "title": "Default country",
            "enum": [
              "BE",
              "NL",
              "FR",
              "LU",
              "DE"
            ],
            "type": "string",
            "description": "Used when a number has no country prefix and its shape does not show the country. A 10-digit number starting with 0 or 1 is always read as a Belgian enterprise number; a 9-digit number is read as a SIREN only when this is France.",
            "default": "BE"
          },
          "peppolCheck": {
            "title": "Check Peppol registration",
            "type": "boolean",
            "description": "Checks whether the client is registered as a receiver in the Peppol network, using the network's own lookup (SML, via public DNS). No account needed.",
            "default": true
          },
          "viesCheck": {
            "title": "Check VAT numbers in VIES",
            "type": "boolean",
            "description": "Checks with the European Commission's VIES service whether the VAT number is active, and compares your name and postal code with the VIES record. Switch on VIES, Peppol or both.",
            "default": true
          },
          "previousDatasetId": {
            "title": "Compare with a previous run",
            "type": "string",
            "description": "Optional. The dataset of an earlier run of this actor. Rows get a changes list: newly registered on Peppol, Peppol registration removed, VAT became (in)active, other Peppol provider, new in the list."
          },
          "reportLanguage": {
            "title": "Report language",
            "enum": [
              "nl",
              "fr",
              "en"
            ],
            "type": "string",
            "description": "Language of the HTML and CSV reports (key-value store records REPORT_HTML and REPORT_CSV).",
            "default": "nl"
          },
          "maxRunSeconds": {
            "title": "Maximum processing time (seconds)",
            "minimum": 60,
            "maximum": 3600,
            "type": "integer",
            "description": "Stops new work at this time budget. Unprocessed clients are listed in OUTPUT and are picked up when the run is resumed.",
            "default": 1800
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}