Basware APIs for Purchase-to-Pay and Master Data import
The Basware APIs documented here are for Purchase-to-Pay use cases and for importing Master Data to Basware services. This document describes data schemas and available methods. Basware APIs work using REST API calls initiated by customer. Please visit the [P2P API pages](https://developer.basware.com/api/p2p) on Basware API developer site for full API documentation. **Data formats** Basware APIs use JSON data format with UTF-8 character encoding. **Descriptions of data fields are under the API methods, on tab 'Schema'.** The API has a rich set of fields, many of which are optional. Simplified example requests are available as a downloadable Postman collection on the [preconfigured API calls](https://developer.basware.com/api/p2p/templates) section on Basware API developer site. **Authentication** API clients authenticate using [OAUTH2 or Basic HTTP authentication](https://developer.basware.com/api/p2p/manual#Authentication). All communication is secured by using the HTTPS protocol (HTTP over TLS, TLS version 1.2 or later). You must make all API requests over HTTPS. API requests made without authentication are not accepted. API clients need to take into account that Basware domain certificates are renewed regularly. For details see, the [authentication and access rights](https://developer.basware.com/api/p2p/manual#Authentication) section on the Basware API developer site. **Record identifiers** All records have an external identifier (externalCode or invoiceId). This needs to be provided when posting new records, updating existing records or getting a single record by ID through Basware API. ExternalCode identifiers need to be unique within an interface and record codes (such as accountCode) need to be unique within a company. This applies per API account (tenant) - different API accounts can have same externalCodes and record codes. **Push notifications** Basware API is able to send webhook based [push notifications](https://developer.basware.com/api/p2p/manual#PushNotifications) from accountingDocuments, exportedPurchaseOrders, exportedPurchaseRequisitions, exportedContracts, exportedContractSpends and requestStatus APIs. For details, see the [push notifications](https://developer.basware.com/api/p2p/manual#PushNotifications) section on Basware API developer site. **API Versioning** Every time there is a backwards-incompatible change to the API, a new major version will be released. This major version is part of the URL path. The current major version is v1. Unless informed by our technical support department that we are discontinuing support for a particular API version, you do not need to switch API versions. We will let you know at least 12 months in advance if an old API version is to be deprecated. Major change is a new version of the API that requires changes from the API consumer before the new version can be taken into use. This change would for example be a change to existing fields or adding new mandatory fields. Minor change is a new version of the API that is backward compatible and does not require changes from the API consumer. Minor change would consist of for example adding a new non-mandatory field. Please make sure your API client accepts new non-mandatory fields. **API Client requirements** API clients need to accept new JSON fields as well as absence of null fields from the response JSONs. Consecutive API calls are needed for processing large amounts of records. The record limit varies by endpoint. It is 100 for AccountingDocuments, MatchingOrderLines and PurchaseRequisitions, 200 for vendors, 500 for most other APIs. Size of each incoming request is also limited to 6mb. Please distribute the payload over multiple requests to stay below the respective limits. Programs using Basware API need to handle redirects either at the application layer or the HTTP layer since certain APIs allow larger payloads by redirecting the response. *** _File version: 26.06.05.402._
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://developer.basware.com/schemas/p2p",
"title": "Basware APIs for Purchase-to-Pay and Master Data import",
"description": "The Basware APIs documented here are for Purchase-to-Pay use cases and for importing Master Data to Basware services. This document describes data schemas and available methods. Basware APIs work using REST API calls initiated by customer. Please visit the [P2P API pages](https://developer.basware.com/api/p2p) on Basware API developer site for full API documentation.\n\n**Data formats**\n\nBasware APIs use JSON data format with UTF-8 character encoding. **Descriptions of data fields are under the API methods, on tab 'Schema'.** The API has a rich set of fields, many of which are optional. Simplified example requests are available as a downloadable Postman collection on the [preconfigured API calls](https://developer.basware.com/api/p2p/templates) section on Basware API developer site.\n\n**Authentication**\n\nAPI clients authenticate using [OAUTH2 or Basic HTTP authentication](https://developer.basware.com/api/p2p/manual#Authentication). All communication is secured by using the HTTPS protocol (HTTP over TLS, TLS version 1.2 or later). You must make all API requests over HTTPS. API requests made without authentication are not accepted. API clients need to take into account that Basware domain certificates are renewed regularly. For details see, the [authentication and access rights](https://developer.basware.com/api/p2p/manual#Authentication) section on the Basware API developer site.\n\n**Record identifiers**\n\nAll records have an external identifier (externalCode or invoiceId). This needs to be provided when posting new records, updating existing records or getting a single record by ID through Basware API.\n\nExternalCode identifiers need to be unique within an interface and record codes (such as accountCode) need to be unique within a company. This applies per API account (tenant) - different API accounts can have same externalCodes and record codes. \n\n**Push notifications**\n\nBasware API is able to send webhook based [push notifications](https://developer.basware.com/api/p2p/manual#PushNotifications) from accountingDocuments, exportedPurchaseOrders, exportedPurchaseRequisitions, exportedContracts, exportedContractSpends and requestStatus APIs. For details, see the [push notifications](https://developer.basware.com/api/p2p/manual#PushNotifications) section on Basware API developer site.\n\n**API Versioning**\n\nEvery time there is a backwards-incompatible change to the API, a new major version will be released. This major version is part of the URL path. The current major version is v1.\n\nUnless informed by our technical support department that we are discontinuing support for a particular API version, you do not need to switch API versions. We will let you know at least 12 months in advance if an old API version is to be deprecated.\n\nMajor change is a new version of the API that requires changes from the API consumer before the new version can be taken into use. This change would for example be a change to existing fields or adding new mandatory fields. \n\nMinor change is a new version of the API that is backward compatible and does not require changes from the API consumer. Minor change would consist of for example adding a new non-mandatory field. Please make sure your API client accepts new non-mandatory fields.\n\n**API Client requirements**\n\nAPI clients need to accept new JSON fields as well as absence of null fields from the response JSONs.\n\nConsecutive API calls are needed for processing large amounts of records. The record limit varies by endpoint. It is 100 for AccountingDocuments, MatchingOrderLines and PurchaseRequisitions, 200 for vendors, 500 for most other APIs. Size of each incoming request is also limited to 6mb. Please distribute the payload over multiple requests to stay below the respective limits.\n\nPrograms using Basware API need to handle redirects either at the application layer or the HTTP layer since certain APIs allow larger payloads by redirecting the response.\n\n***\n_File version: 26.06.05.402._",
"$defs": {
"AccountCompanyEntity": {
"required": [
"active",
"companyCode",
"inherit"
],
"type": "object",
"properties": {
"companyCode": {
"maxLength": 32,
"minLength": 1,
"type": "string",
"description": "Defines a company code that the account is mapped to",
"example": "BW01"
},
"inherit": {
"type": "boolean",
"description": "The value specifies whether the property is inherited to lower organizations.",
"example": false
},
"active": {
"type": "boolean",
"description": "This flag will enable the data to be visible on UI, provided if the value is true, not visible in case of value is false. It will be also used for soft delete.",
"example": true
}
},
"additionalProperties": false
},
"AccountEntity": {
"required": [
"accountCode",
"accountNames",
"companies",
"externalCode"
],
"type": "object",
"properties": {
"accountCode": {
"maxLength": 25,
"minLength": 1,
"type": "string",
"description": "Defines a code for the account (used for invoice coding).",
"example": "10012"
},
"accountNames": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LanguageTranslationEntity"
},
"description": "Defines name(s) for the account (used for invoice coding). Please always include 'en-US' language tag for Basware global support, as well as any local-language tag being used. If both translations are not available, please use the same string with both language tags."
},
"taxCode": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Tax code.",
"nullable": true,
"example": "T25"
},
"text1": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Text1-5 can be used for additional, customer-specific, text fields.",
"nullable": true,
"example": ""
},
"text2": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "",
"nullable": true,
"example": ""
},
"text3": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "",
"nullable": true,
"example": ""
},
"text4": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "",
"nullable": true,
"example": ""
},
"text5": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "",
"nullable": true,
"example": ""
},
"companies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountCompanyEntity"
},
"description": "List of company units to associate account to P2P organization hierarchy"
},
"externalCode": {
"maxLength": 36,
"minLength": 1,
"type": "string",
"description": "External identifier that is used as a key in API.",
"example": "4847-31231212-212121-1212"
},
"lastUpdated": {
"type": "string",
"description": "Timestamp when the record was last sent to API. Set automatically.",
"format": "date-time"
}
},
"additionalProperties": false
},
"AccountResponse": {
"required": [
"accounts"
],
"type": "object",
"properties": {
"accounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountEntity"
}
}
},
"additionalProperties": false
},
"AccountingDocumentEntity": {
"required": [
"companyCode",
"currencyCode",
"invoiceId",
"paymentBlock",
"processingStatus",
"supplierCode"
],
"type": "object",
"properties": {
"invoiceId": {
"maxLength": 36,
"minLength": 1,
"type": "string",
"description": "Unique identifier for an invoice generated by Basware P2P. Must be returned in when sending acknowledgement, transferResponse or paymentResponse to the invoice.",
"example": "138e7d94997847aebe7432e521b3dac9"
},
"bumid": {
"maxLength": 36,
"minLength": 0,
"type": "string",
"description": "Unique identifier for a business document generated by BT, used between Basware P2P and other Basware systems.",
"nullable": true,
"example": "c6d7067f-eb67-4289-89ec-819446078a3a"
},
"p2pProcessingMode": {
"enum": [
"Standard",
"InvoiceEnrichment"
],
"type": "string",
"description": "Specifies the P2P processing mode for the invoice. Standard = Ivoice has been processed in Basware P2P and is approved for payment. InvoiceEnrichment = Invoice data contents have been enriched for processing, invoice approval is to be handled separately in receiving system.",
"example": "Standard"
},
"invoiceNumber": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "Invoice number (from supplier).",
"nullable": true,
"example": "80000330200233"
},
"voucherNumber1": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Voucher Number 1 (for accounting). Voucher numbers can be generated by Basware or returned from customer ERP.",
"nullable": true,
"example": "114785224"
},
"voucherNumber2": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Voucher Number 2 (for accounting). Voucher numbers can be generated by Basware or returned from customer ERP.",
"nullable": true,
"example": "774785220"
},
"voucherDate": {
"type": "string",
"description": "Voucher date can be used to determine the target accounting period for invoice in receiving (ERP) system.",
"format": "date-time",
"nullable": true
},
"processingStatus": {
"enum": [
"WaitingForPrebook",
"PrebookInProgress",
"Prebooked",
"PrebookFailed",
"WaitingForTransfer",
"TransferInProgress",
"Transferred",
"TransferFailed",
"WaitingForPrebookCancelation",
"PrebookCancelationInProgress",
"PrebookCanceled",
"PrebookCancelFailed",
"WaitingToBeRemoved",
"Removed",
"RemoveFailed",
"WaitingToBeReturned",
"Returned",
"ReturnFailed",
"WaitingToBeCompleted",
"CompletionInProgress",
"Completed",
"CompletionFailed",
"Paid",
"New",
"WaitingForEnrichmentTransfer",
"EnrichmentTransferInProgress",
"EnrichmentTransferred",
"EnrichmentTransferFailed",
"InDocumentFilter",
"DocumentFilterReleased"
],
"type": "string",
"description": "Processing status of the invoice in Basware API."
},
"originService": {
"type": "integer",
"description": "Describes how the invoice got created (as e-invoice, scanned from paper, extracted from pdf, etc)",
"format": "int32"
},
"companyCode": {
"maxLength": 32,
"minLength": 1,
"type": "string",
"description": "Company code.",
"example": "BW00"
},
"companyName": {
"maxLength": 250,
"minLength": 2,
"type": "string",
"description": "Company name.",
"nullable": true,
"example": "Basware Helsinki"
},
"organizationCode": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Organization element in the higher level of the organization than companyCode. This organization element collects the spend from the lower organization units.",
"nullable": true,
"example": "BWFIN"
},
"organizationName": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Organization element name.",
"nullable": true,
"example": "Basware Finland"
},
"supplierCode": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "A party that supplied goods or services referred in the invoice.",
"example": "430022"
},
"supplierName": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Supplier name.",
"nullable": true,
"example": "Easy Office Supplies Inc."
},
"currencyCode": {
"maxLength": 3,
"minLength": 2,
"type": "string",
"description": "Invoice currency.",
"example": "EUR"
},
"netSum": {
"type": "number",
"description": "Invoice net sum (invoice total without tax), in invoice currecy.",
"format": "double",
"nullable": true,
"example": 1000
},
"grossSum": {
"type": "number",
"description": "Invoice gross sum (invoice total with tax), in invoice currecy.",
"format": "double",
"nullable": true,
"example": 1160
},
"taxCode": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Tax code.",
"nullable": true,
"example": "T16"
},
"taxPercent1": {
"maximum": 1000000000,
"minimum": -1000000000,
"type": "number",
"description": "Tax percentage.",
"format": "double",
"nullable": true,
"example": 16
},
"taxPercent2": {
"type": "number",
"description": "Second tax percentage (for example for partially deductible VAT).",
"format": "double",
"nullable": true,
"example": 0
},
"taxSum1": {
"type": "number",
"description": "Invoice tax sum to be paid, in invoice currency.",
"format": "double",
"nullable": true,
"example": 160
},
"taxSum2": {
"type": "number",
"description": "Invoice tax sum that is excluded from the tax sum to be paid, in invoice currency.",
"format": "double",
"nullable": true,
"example": 0
},
"invoiceDate": {
"type": "string",
"description": "Invoice date (from supplier).",
"format": "date-time",
"nullable": true
},
"baseLineDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dueDate": {
"type": "string",
"description": "Due date. The last payment date before penalties.",
"format": "date-time",
"nullable": true
},
"cashDate": {
"type": "string",
"description": "Cash cate. The last payment date with discount.",
"format": "date-time",
"nullable": true
},
"cashPercent": {
"maximum": 100,
"minimum": 0,
"type": "number",
"description": "Percentage out of invoice total that can be excluded if the invoice is paid before the cashDate.",
"format": "double",
"nullable": true,
"example": 2
},
"cashSum": {
"type": "number",
"description": "Cash discount amount in invoice currency.",
"format": "double",
"nullable": true,
"example": 23.2
},
"referencePerson": {
"maxLength": 255,
"minLength": 0,
"type": "string",
"description": "Person that has been referenced in the invoice.",
"nullable": true,
"example": "Jane Buyer"
},
"contractNumber": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Contract number.",
"nullable": true,
"example": "AX94055432"
},
"description": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "A short description of an invoice.",
"nullable": true,
"example": "More information about the invoice."
},
"invoiceTypeCode": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Invoice type code.",
"nullable": true,
"example": "RE"
},
"invoiceTypeName": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Invoice type name.",
"nullable": true,
"example": "Purchase order based invoice"
},
"paymentMethod": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Payment method.",
"nullable": true,
"example": "BankTransfer"
},
"paymentBlock": {
"type": "boolean",
"description": "Identifies if the payment of this invoice should be denied by the ERP system and additonal steps like approval must take place before the invoice can be paid. Normally this parameter has value False when Basware P2P sends invoice for transfer.",
"example": false
},
"paymentTermCode": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Payment term code.",
"nullable": true,
"example": "7D2-NT30"
},
"paymentTermName": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Payment term name.",
"nullable": true,
"example": "7 days -2%, 30 days Net"
},
"paymentTermExternalCode": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "Payment term external code.",
"nullable": true,
"example": "7D2-NT30"
},
"paymentPlanReference": {
"maxLength": 255,
"minLength": 0,
"type": "string",
"description": "Payment plan reference.",
"nullable": true,
"example": "737-12321"
},
"paymentRevelsalDocument": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Payment reversal document.",
"nullable": true,
"example": "245576456"
},
"codingDate": {
"type": "string",
"description": "Coding date.",
"format": "date-time",
"nullable": true
},
"prebooked": {
"type": "boolean",
"description": "Identifies if the cost is already prebooked in ERP system. Some systems require prebooking the cost before invoice can be sent for payment.",
"nullable": true,
"example": false
},
"referenceNumber": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "Payment reference number.",
"nullable": true,
"example": "16422-3210654-1872000-1110"
},
"supplierBankIBAN": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "Supplier bank account (IBAN).",
"nullable": true,
"example": "IT60X0542811101000000123456"
},
"supplierBankBBAN": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "Supplier bank account.",
"nullable": true,
"example": "539007547034"
},
"supplierBankBIC": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Supplier bank SWIFT/BIC code.",
"nullable": true,
"example": "CTBAAU2W"
},
"supplierBankName": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Supplier bank name.",
"nullable": true,
"example": "Bankers United"
},
"accountingPeriod": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "Code for target accounting period (if specified by Basware P2P).",
"nullable": true,
"example": "2021-01"
},
"accountingGroup": {
"maxLength": 50,
"minLength": 0,
"type": "string",
"description": "Name for target accounting period (if specified by Basware P2P).",
"nullable": true,
"example": "January 2021"
},
"removalReason": {
"enum": [
"NotDefined",
"Duplicate",
"MissingData",
"MissingPO",
"Statement",
"NonInvoice",
"ProcessingTimeExpired",
"InvoiceMatched",
"ZeroValue",
"Confidential",
"Reprocessed",
"IncorrectVAT",
"ErrorInBankDetails",
"CreditorUnknown",
"IncorrectRecipient",
"IncorrectValidator",
"InvoiceNotCompliantWithOrder",
"SupportingDocumentationMissing",
"NotCompliantWithDelivery",
"ContractEnded",
"IncorrectInvoiceAmount",
"SupplierUnknown",
"InvoiceProcessedElsewhere",
"PaymentNotReceivedOrCanceled",
"ReasonOtherThanIncorrectValidator",
"OtherContactYourBuyer",
"Other"
],
"type": "string",
"description": "Specifies reason code why the invoice was removed. \r\nNote: Whether the invoice has been removed can only be checked from the invoice status field. ProcessingStatus: \"Removed\" means the invoice has been removed."
},
"removalReasonComment": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "Free text comment related to removing invoice.",
"nullable": true
},
"disputeInfo": {
"$ref": "#/components/schemas/DisputeInfo"
},
"clearingReferenceId": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "Government issued invoice identifier which provides evidence of successful tax clearance for the invoice. Used on invoices in countries requiring tax clearance.",
"nullable": true,
"example": "2222222222-20231018-077835639C85-1E"
},
"clearingCountry": {
"maxLength": 25,
"minLength": 0,
"type": "string",
"description": "Country of clearance. Specifies the issuing authority whose tax clearing platform is used.",
"nullable": true,
"example": "PL"
},
"clearingDate": {
"type": "string",
"description": "Date of clearance in government tax clearing platform.",
"format": "date-time",
"nullable": true
},
"paymentMessage": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"description": "Payment message.",
"nullable": true,
"example": ""
},
"text1": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"description": "text1-60 can be used for additional, customer-specific, invoice header text fields.",
"nullable": true,
"example": ""
},
"text2": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text3": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text4": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text5": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text6": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text7": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text8": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text9": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text10": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text11": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text12": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text13": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text14": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text15": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text16": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text17": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text18": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text19": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text20": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text21": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text22": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text23": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text24": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text25": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text26": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text27": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text28": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text29": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text30": {
"maxLength": 100,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text31": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text32": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text33": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text34": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text35": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text36": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text37": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text38": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text39": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text40": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text41": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text42": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text43": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text44": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text45": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text46": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text47": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": true,
"example": ""
},
"text48": {
"maxLength": 250,
"minLength": 0,
"type": "string",
"nullable": tru
# --- truncated at 32 KB (738 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/basware/refs/heads/main/json-schema/basware-p2p-schema.json