{"swagger": "2.0", "info": {"title": "InvoiceXchange", "description": "This page contains the documentation on how to use Crowdz Invoice Exchange through API calls.\n\n> Note: This documentation is still in development, so for missing parts you may have to\n[reverse engineer the Crowdz API] to figure out how to use an API endpoint, OR you can contact us at support@crowdz.io \n\n### Request Content-Type\n\nThe Content-Type for POST and PUT requests can be set to `application/x-www-form-urlencoded`,\n`application\\json`.\n\n### Endpoint Names and Response Content-Type\n\nMost API endpoints takes input in JSON.\nThe URL `/invoice/create` or `/invoice/create/` takes invoice details in JSON to create invoice,\n# Authentication\n\nSome endpoints may not require any authentication, pretty much anything else will\nrequire you to be authenticated.\n\nTo become authenticated you will need to create an API Key from the \"API Access\" menu in dashboard. You can visit your API dashboard at given URL https://exchange.crowdz.io/invoiceExchange/api/key/create/\n\nOnce you have your API Key you can pass it in header while calling APIs. Key should be \"Authorization\" and value should be \"Api-Key \" followed by your API Key.\nas an HTTP header like this:\n```\ncurl -X POST \"https://exchange.crowdz.io/invx/api/v1/invoice/create\" \\\n-H \"Authorization: Api-Key 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19\"\n```\nand this is how POST requests will look:\n```\ncurl -X POST \"https://exchange.crowdz.io/invx/api/v1/invoice/create\" \\\n-H \"Content-Type: application/json;\" \\\n-H \"Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19\" \\\n--request POST --data { \"InvoiceHeader\": {...}, \"Invoice_Line\": [ { \"invoice_items\": {...}, \"line_header\": {...} } ] }\n```\n", "termsOfService": "", "contact": {"email": "info@crowdz.io"}, "license": {"name": "Copyright \u00a9 Crowdz"}, "x-logo": {"backgroundColor": "#FFFFFF", "url": "https://media.crowdz.io/invx-static/api/logo-black-purple.png"}, "version": "v1"}, "host": "api.crowdz.io", "schemes": ["http"], "basePath": "/invx/api/v1", "consumes": ["application/json"], "produces": ["application/json"], "securityDefinitions": {"API_KEY": {"description": "Access token for API request.", "in": "header", "name": "Authorization", "type": "apiKey"}}, "security": [{"API_KEY": []}], "paths": {"/customer/create/": {"post": {"operationId": "Create Customer", "description": "Create customer API endpoint", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/ExternalGlobalCompanyDirectory"}}], "responses": {"201": {"description": "Success", "schema": {"$ref": "#/definitions/CreateCustomerResponse"}}, "400": {"description": "Bad Request", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "405": {"description": "Method not allowed", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}}, "tags": ["Customer"]}, "parameters": []}, "/customer/getcustomer/": {"get": {"operationId": "Get Customer Detail", "description": "Get customer details API endpoint", "parameters": [{"name": "contact_id", "in": "query", "description": "Contact Id", "required": true, "type": "string"}, {"name": "registration_num", "in": "query", "description": "Registration number is optional if tax number is provided.", "required": false, "type": "string"}, {"name": "tax_num", "in": "query", "description": "Tax number is optional if registration number is provided.", "required": false, "type": "string"}], "responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/GetCustomerData"}}, "400": {"description": "Bad Request", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "405": {"description": "Method not allowed", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}}, "tags": ["Customer"]}, "parameters": []}, "/invoice/create/": {"post": {"operationId": "Create Invoice", "description": "Create invoice API endpoint", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/CustInvoiceProcessor"}}], "responses": {"201": {"description": "Success", "schema": {"$ref": "#/definitions/CreateInvoiceResponse"}}, "400": {"description": "Bad Request", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "405": {"description": "Method not allowed", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}}, "tags": ["Invoices"]}, "parameters": []}, "/invoice/getTransaction/": {"get": {"operationId": "Get Transaction", "description": "Get blockchain transaction hash details", "parameters": [{"name": "transaction_hash", "in": "query", "description": "Ethereum transaction hash", "type": "string"}], "responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/TransactionHashResponse"}}, "400": {"description": "Bad Request", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "405": {"description": "Method not allowed", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}}, "tags": ["Blockchain"]}, "parameters": []}, "/invoice/getinvoice/": {"get": {"operationId": "Get Invoice Detail", "description": "Get invoice details API endpoint", "parameters": [{"name": "invoice_no", "in": "query", "description": "Invoice Number", "required": true, "type": "string"}, {"name": "access_id", "in": "query", "description": "Access Identifier (optional)", "type": "string"}], "responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/GetInvoiceDetail"}}, "400": {"description": "Bad Request", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "405": {"description": "Method not allowed", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}}, "tags": ["Invoices"]}, "parameters": []}, "/invoice/payment/": {"get": {"operationId": "Get Invoice Payment", "description": "Get invoice payment details API endpoint", "parameters": [{"name": "invoice_no", "in": "query", "description": "Invoice Number", "required": true, "type": "string"}, {"name": "access_id", "in": "query", "description": "Access Identifier (optional)", "required": false, "type": "string"}], "responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/InvoicePaymentDetail"}}, "400": {"description": "Bad Request", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "401": {"description": "Unauthorized", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "403": {"description": "Forbidden", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}, "405": {"description": "Method not allowed", "schema": {"$ref": "#/definitions/CreateErrorResponse"}}}, "tags": ["Payments"]}, "parameters": []}}, "definitions": {"ExternalAddress": {"description": "customer address", "type": "object", "properties": {"type": {"title": "Type", "description": "Address Type", "type": "string", "x-nullable": true}, "line1": {"title": "Line1", "description": "Building, Floor or Suite", "type": "string", "x-nullable": true}, "line2": {"title": "Line2", "description": "APT/Building of the user", "type": "string", "x-nullable": true}, "city": {"title": "City", "description": "City of the user", "type": "string", "maxLength": 100, "x-nullable": true}, "country": {"title": "Country", "description": "Country of the user", "type": "string", "maxLength": 200, "x-nullable": true}, "region": {"title": "Region", "description": "State of user", "type": "string", "x-nullable": true}, "postalCode": {"title": "Postalcode", "description": "Zip Code of user", "type": "string", "x-nullable": true}}}, "ExternalPhone": {"description": "contact phone", "type": "object", "properties": {"number": {"title": "Number", "type": "string", "x-nullable": true}, "type": {"title": "Type", "type": "string", "x-nullable": true}}}, "ExternalContacts": {"description": "contacts", "type": "object", "properties": {"name": {"title": "Name", "description": "contact name", "type": "string", "x-nullable": true}, "email": {"title": "Email", "description": "contact email", "type": "string", "x-nullable": true}, "phone": {"description": "contact phone", "type": "array", "items": {"$ref": "#/definitions/ExternalPhone"}}, "address": {"$ref": "#/definitions/ExternalAddress"}}}, "ExternalGlobalCompanyDirectory": {"required": ["id", "customerName"], "type": "object", "properties": {"id": {"title": "Id", "description": "customer identifier", "type": "string", "minLength": 1}, "customerName": {"title": "Customername", "description": "company name", "type": "string", "minLength": 1}, "contactName": {"title": "Contactname", "description": "contact name", "type": "string", "x-nullable": true}, "emailAddress": {"title": "Emailaddress", "description": "customer email address", "type": "string", "x-nullable": true}, "phone": {"title": "Phone", "description": "customer phone number", "type": "string", "x-nullable": true}, "addresses": {"description": "customer address", "type": "array", "items": {"$ref": "#/definitions/ExternalAddress"}}, "contacts": {"description": "contacts", "type": "array", "items": {"$ref": "#/definitions/ExternalContacts"}}, "registrationNumber": {"title": "Registrationnumber", "description": "registration number", "type": "string", "x-nullable": true}, "taxNumber": {"title": "Taxnumber", "description": "tax number", "type": "string", "x-nullable": true}, "status": {"title": "Status", "type": "string", "maxLength": 100, "x-nullable": true}}}, "CreateCustomerResponse": {"type": "object", "properties": {"Status": {"title": "Status", "type": "string", "default": "success", "minLength": 1}, "Message": {"title": "Message", "type": "string", "default": "Customer Created Successfully.", "minLength": 1}}}, "CreateErrorResponse": {"type": "object", "properties": {"detail": {"title": "Detail", "type": "string", "default": "An specific information for the occurence of this error.", "minLength": 1}, "error_code": {"title": "Error code", "type": "string", "default": "Error Response code", "minLength": 1}}}, "GetCustomerAddress": {"type": "object", "properties": {"type": {"title": "Type", "description": "Address Type", "type": "string", "enum": ["default", "shipping", "billing", "contact", "other"], "x-nullable": true}, "line1": {"title": "Line1", "description": "Building, Floor or Suite", "type": "string", "readOnly": true}, "line2": {"title": "Line2", "description": "APT/Building of the user", "type": "string", "readOnly": true}, "city": {"title": "City", "description": "City of the user", "type": "string", "maxLength": 100, "x-nullable": true}, "region": {"title": "Region", "description": "State of the user", "type": "string", "readOnly": true}, "country": {"title": "Country", "description": "Country of the user", "type": "string", "maxLength": 200, "x-nullable": true}, "postalCode": {"title": "Postalcode", "description": "Zip Code", "type": "string", "readOnly": true}}}, "GetCustomerPhone": {"required": ["number"], "type": "object", "properties": {"number": {"title": "Phone Number", "type": "string", "maxLength": 255, "minLength": 1}, "type": {"title": "Type", "description": "Phone Number Type", "type": "string", "readOnly": true}}}, "GetCustomerContact": {"type": "object", "properties": {"name": {"title": "Name", "description": "Contact Name", "type": "string", "readOnly": true}, "email": {"title": "Email", "description": "Contact Email", "type": "string", "readOnly": true}, "phone": {"description": "Contact Phone Details", "type": "array", "items": {"$ref": "#/definitions/GetCustomerPhone"}, "readOnly": true}, "address": {"$ref": "#/definitions/GetCustomerAddress"}, "status": {"title": "Status", "description": "Status", "type": "string", "readOnly": true}}}, "GetCustomerData": {"type": "object", "properties": {"id": {"title": "Id", "description": "Customer Identifier", "type": "string", "readOnly": true}, "customerName": {"title": "Customername", "description": "Company Name", "type": "string", "readOnly": true}, "contactName": {"title": "Contactname", "description": "Contact Name", "type": "string", "readOnly": true}, "emailAddress": {"title": "Emailaddress", "description": "Email Address", "type": "string", "readOnly": true}, "phone": {"title": "Phone", "description": "Phone Number", "type": "string", "readOnly": true}, "addresses": {"description": "Customer Address Details", "type": "array", "items": {"$ref": "#/definitions/GetCustomerAddress"}, "readOnly": true}, "contacts": {"description": "Contact Details", "type": "array", "items": {"$ref": "#/definitions/GetCustomerContact"}, "readOnly": true}, "registrationNumber": {"title": "Registrationnumber", "description": "Registration Number", "type": "string", "readOnly": true}, "taxNumber": {"title": "Taxnumber", "description": "Tax Number", "type": "string", "readOnly": true}, "status": {"title": "Status", "description": "Status", "type": "string", "readOnly": true}, "modifiedDate": {"title": "Modifieddate", "description": "Date when object is modified", "type": "string", "readOnly": true}}}, "CustInvoiceAddress": {"title": "Bill to", "description": "Billing/Shipping Address Details", "required": ["Company"], "type": "object", "properties": {"Company": {"title": "Company", "description": "company name", "type": "string", "minLength": 1}, "Address1": {"title": "Address1", "description": "Street", "type": "string", "minLength": 1}, "Address2": {"title": "Address2", "description": "APT/Building", "type": "string", "minLength": 1}, "City": {"title": "City", "description": "City of the user", "type": "string", "minLength": 1}, "State": {"title": "State", "description": "State of the user", "type": "string", "minLength": 1}, "Country": {"title": "Country", "description": "Country of the user", "type": "string", "minLength": 1}, "Postal_Code": {"title": "Postal code", "description": "Zip Code", "type": "string", "maxLength": 6, "minLength": 1}, "Contact_Name": {"title": "Contact name", "description": "Contact Name", "type": "string", "minLength": 1}, "Contact_Phone": {"title": "Contact phone", "description": "Contact Phone", "type": "string", "minLength": 1, "x-nullable": true}, "Contact_Email": {"title": "Contact email", "description": "Email Address", "type": "string", "format": "email", "minLength": 1, "x-nullable": true}}}, "CustInvoice": {"title": "Invoiceheader", "description": "Invoice Details", "required": ["Invoice_Amount", "Invoice_Num", "Invoice_Date", "Currency_Code", "Bill_To", "Ship_To"], "type": "object", "properties": {"Invoice_Type": {"title": "Invoice type", "description": "Invoice Type", "type": "string", "enum": ["S", "C"], "default": "S"}, "Invoice_Amount": {"title": "Invoice amount", "description": "Total Invoice Amount", "type": "string", "format": "decimal"}, "Payment_Terms": {"title": "Payment terms", "description": "Invoice Term", "type": "integer"}, "Invoice_Num": {"title": "Invoice num", "description": "Invoice Number", "type": "string", "minLength": 1}, "Invoice_Date": {"title": "Invoice date", "description": "Inoice Date", "type": "string", "format": "date"}, "Invoice_Due_Date": {"title": "Invoice due date", "description": "Invoice Due Date", "type": "string", "format": "date"}, "Currency_Code": {"title": "Currency code", "description": "Currency Code", "type": "string", "minLength": 1}, "PO_Num": {"title": "Po num", "description": "Purchase Order Number", "type": "string", "minLength": 1}, "Bill_To": {"$ref": "#/definitions/CustInvoiceAddress"}, "Ship_To": {"$ref": "#/definitions/CustInvoiceAddress"}}}, "CustInvoiceItem": {"description": "Invoice Item Details", "type": "object", "properties": {"Part_Description": {"title": "Part description", "description": "Product Description", "type": "string", "minLength": 1}, "Quantity": {"title": "Quantity", "description": "Item Quantity", "type": "integer"}, "Order_Unit": {"title": "Order unit", "description": "'Product Unit", "type": "string", "enum": ["EA", "UN"]}, "Unit_Price": {"title": "Unit price", "description": "Product Price", "type": "string", "format": "decimal"}, "Extended_Price": {"title": "Extended price", "description": "Total Amount", "type": "string", "format": "decimal"}}}, "CustomerAddress": {"title": "Address", "type": "object", "properties": {"Address1": {"title": "Address1", "description": "Building, Floor or Suite", "type": "string", "x-nullable": true}, "Address2": {"title": "Address2", "description": "APT/Building of the user", "type": "string", "x-nullable": true}, "City": {"title": "City", "description": "City of the user", "type": "string", "x-nullable": true}, "State": {"title": "State", "description": "State of the user", "type": "string", "x-nullable": true}, "Country": {"title": "Country", "description": "Country of the user", "type": "string", "x-nullable": true}, "Postal_Code": {"title": "Postal code", "description": "zip code", "type": "string", "x-nullable": true}, "Contact_Name": {"title": "Contact name", "description": "contact name", "type": "string", "x-nullable": true}, "Contact_Phone": {"title": "Contact phone", "description": "contact phone", "type": "string", "x-nullable": true}, "Contact_Email": {"title": "Contact email", "description": "Email address", "type": "string", "x-nullable": true}}}, "Customer": {"title": "Customer", "description": "Buyer Details", "required": ["company_name", "address"], "type": "object", "properties": {"company_name": {"title": "Company Name", "type": "string", "maxLength": 500, "minLength": 1}, "tax_number": {"title": "Tax ID/VAT No.", "type": "string", "maxLength": 100, "x-nullable": true}, "registration_number": {"title": "Registration No.", "type": "string", "maxLength": 100, "x-nullable": true}, "address": {"$ref": "#/definitions/CustomerAddress"}}}, "CustomDatas": {"description": "Custom Details", "type": "object", "properties": {"customer_internal_id": {"title": "Customer internal id", "description": "Key-1", "type": "string", "minLength": 1}, "invoice_id": {"title": "Invoice id", "description": "Key-2", "type": "string", "minLength": 1}, "invoice_internal_id": {"title": "Invoice internal id", "description": "Key-3", "type": "string", "minLength": 1}, "custom_form_id": {"title": "Custom form id", "description": "Key-4", "type": "string", "minLength": 1}}}, "CustInvoiceFile": {"description": "Attachment Details", "type": "object", "properties": {"encoding": {"title": "Encoding", "type": "string", "minLength": 1}, "mime_type": {"title": "Mime type", "type": "string", "minLength": 1}, "data": {"title": "Data", "type": "string", "minLength": 1}}}, "CustInvoiceProcessor": {"required": ["InvoiceHeader", "Customer"], "type": "object", "properties": {"InvoiceHeader": {"$ref": "#/definitions/CustInvoice"}, "Invoice_Lines": {"description": "Invoice Item Details", "type": "array", "items": {"$ref": "#/definitions/CustInvoiceItem"}}, "Customer": {"$ref": "#/definitions/Customer"}, "custom_data": {"description": "Custom Details", "type": "array", "items": {"$ref": "#/definitions/CustomDatas"}}, "Attachments": {"description": "Attachment Details", "type": "array", "items": {"$ref": "#/definitions/CustInvoiceFile"}}}}, "CreateInvoiceResponse": {"type": "object", "properties": {"Status": {"title": "Status", "type": "string", "default": "success", "minLength": 1}, "Message": {"title": "Message", "type": "string", "default": "Invoice has been accepted, you don't need to do anything now. We will process it and let you know if we encounter any problem", "minLength": 1}}}, "TransactionHashResponse": {"type": "object", "properties": {"transaction_hash": {"title": "Transaction hash", "type": "string", "default": "", "minLength": 1}, "blockNumber": {"title": "Blocknumber", "type": "string", "default": "", "minLength": 1}, "From": {"title": "From", "type": "string", "default": "", "minLength": 1}, "Gas_Price": {"title": "Gas price", "type": "string", "default": "", "minLength": 1}, "hash": {"title": "Hash", "type": "string", "default": "", "minLength": 1}, "Input_Data": {"title": "Input data", "type": "string", "default": "", "minLength": 1}, "Nonce": {"title": "Nonce", "type": "string", "default": "", "minLength": 1}, "To": {"title": "To", "type": "string", "default": "", "minLength": 1}, "transactionIndex": {"title": "Transactionindex", "type": "string", "default": "", "minLength": 1}}}, "GetInvoiceAddress": {"title": "Bill to", "description": "Billing/Shipping Address Details", "type": "object", "properties": {"Company": {"title": "Company", "description": "Company Name", "type": "string", "readOnly": true}, "Address1": {"title": "Address1", "description": "Street", "type": "string", "readOnly": true}, "Address2": {"title": "Address2", "description": "APT/Building", "type": "string", "readOnly": true}, "City": {"title": "City", "description": "City", "type": "string", "readOnly": true}, "State": {"title": "State", "description": "State", "type": "string", "readOnly": true}, "Country": {"title": "Country", "description": "Country", "type": "string", "readOnly": true}, "Postal_Code": {"title": "Postal code", "description": "Zip Code", "type": "string", "readOnly": true}, "Contact_Name": {"title": "Contact name", "description": "Contact Name", "type": "string", "readOnly": true}, "Contact_Phone": {"title": "Contact phone", "description": "Contact Phone", "type": "string", "readOnly": true}, "Contact_Email": {"title": "Contact email", "description": "Email Address", "type": "string", "readOnly": true}}}, "GetInvoice": {"title": "Invoiceheader", "description": "Invoice Details", "type": "object", "properties": {"Invoice_Type": {"title": "Invoice type", "description": "Invoice Type", "type": "string", "readOnly": true}, "Invoice_Amount": {"title": "Invoice amount", "description": "Total Invoice Amount", "type": "string", "readOnly": true}, "Payment_Terms": {"title": "Payment terms", "description": "Invoice Term", "type": "string", "readOnly": true}, "Invoice_Num": {"title": "Invoice num", "description": "Invoice Number", "type": "string", "readOnly": true}, "Invoice_Date": {"title": "Invoice date", "description": "Invoice Date", "type": "string", "readOnly": true}, "Invoice_Due_Date": {"title": "Invoice due date", "description": "Invoice Due Date", "type": "string", "readOnly": true}, "Currency_Code": {"title": "Currency code", "description": "Currency Code", "type": "string", "readOnly": true}, "PONum": {"title": "Ponum", "description": "Purchase Order Number", "type": "string", "readOnly": true}, "Bill_To": {"$ref": "#/definitions/GetInvoiceAddress"}, "Ship_To": {"$ref": "#/definitions/GetInvoiceAddress"}}}, "GetInvoiceItem": {"type": "object", "properties": {"Part_Description": {"title": "Part description", "description": "Product Description", "type": "string", "readOnly": true}, "Quantity": {"title": "Quantity", "description": "Item Quantity", "type": "string", "readOnly": true}, "Order_Unit": {"title": "Order unit", "description": "Product Unit", "type": "string", "readOnly": true}, "Unit_Price": {"title": "Unit price", "description": "Product Price", "type": "string", "readOnly": true}, "Extended_Price": {"title": "Extended price", "description": "Total Amount", "type": "string", "readOnly": true}}}, "GetCustomersAddress": {"title": "Address", "description": "Address Details", "type": "object", "properties": {"Address1": {"title": "Address1", "description": "Building, Floor or Suite", "type": "string", "readOnly": true}, "Address2": {"title": "Address2", "description": "APT/Building of the user", "type": "string", "readOnly": true}, "City": {"title": "City", "description": "City of user", "type": "string", "readOnly": true}, "State": {"title": "State", "description": "State of user", "type": "string", "readOnly": true}, "Country": {"title": "Country", "description": "Country of user", "type": "string", "readOnly": true}, "Postal_Code": {"title": "Postal code", "description": "Zip Code", "type": "string", "readOnly": true}, "Contact_Name": {"title": "Contact name", "description": "Contact Name", "type": "string", "readOnly": true}, "Contact_Phone": {"title": "Contact phone", "description": "Contact Phone", "type": "string", "readOnly": true}, "Contact_Email": {"title": "Contact email", "description": "Contact Email", "type": "string", "readOnly": true}}}, "GetCustomersData": {"title": "Customer", "description": "Customer Details", "required": ["company_name"], "type": "object", "properties": {"company_name": {"title": "Company Name", "type": "string", "maxLength": 500, "minLength": 1}, "tax_number": {"title": "Tax ID/VAT No.", "type": "string", "maxLength": 100, "x-nullable": true}, "registration_number": {"title": "Registration No.", "type": "string", "maxLength": 100, "x-nullable": true}, "address": {"$ref": "#/definitions/GetCustomersAddress"}}}, "CustomData": {"type": "object", "properties": {"customer_internal_id": {"title": "Customer internal id", "description": "Key-1", "type": "string", "readOnly": true}, "invoice_id": {"title": "Invoice id", "description": "Key-2", "type": "string", "readOnly": true}, "invoice_internal_id": {"title": "Invoice internal id", "description": "Key-3", "type": "string", "readOnly": true}, "custom_form_id": {"title": "Custom form id", "description": "Key-4", "type": "string", "readOnly": true}}}, "GetInvoiceFile": {"type": "object", "properties": {"encoding": {"title": "Encoding", "description": "encoding", "type": "string", "readOnly": true}, "mime_type": {"title": "Mime type", "description": "mime type", "type": "string", "readOnly": true}, "data": {"title": "Data", "description": "data", "type": "string", "readOnly": true}}}, "GetInvoiceDetail": {"type": "object", "properties": {"InvoiceHeader": {"$ref": "#/definitions/GetInvoice"}, "Invoice_Lines": {"description": "Invoice Item Details", "type": "array", "items": {"$ref": "#/definitions/GetInvoiceItem"}, "readOnly": true}, "Customer": {"$ref": "#/definitions/GetCustomersData"}, "custom_data": {"description": "Custom Details", "type": "array", "items": {"$ref": "#/definitions/CustomData"}, "readOnly": true}, "Attachments": {"description": "Attachment Details", "type": "array", "items": {"$ref": "#/definitions/GetInvoiceFile"}, "readOnly": true}}}, "PaymentDetails": {"type": "object", "properties": {"from_account": {"title": "From account", "type": "integer", "x-nullable": true}, "to_account": {"title": "To account", "type": "integer", "x-nullable": true}, "transaction_method": {"title": "Transaction method", "type": "string", "maxLength": 200, "x-nullable": true}, "transaction_amount": {"title": "Transaction amount", "description": "Transaction Amount", "type": "string", "format": "decimal", "x-nullable": true}, "transaction_id": {"title": "Transaction id", "type": "string", "maxLength": 250, "x-nullable": true}, "transaction_status": {"title": "Transaction status", "type": "string", "enum": ["success", "pending", "processing", "failed"], "x-nullable": true}, "date_paid": {"title": "Date paid", "type": "string", "readOnly": true}}}, "InvoicePaymentDetail": {"type": "object", "properties": {"invoice_no": {"title": "Invoice no", "description": "Invoice Number", "type": "string", "readOnly": true}, "currency": {"title": "Currency", "description": "Currency", "type": "string", "readOnly": true}, "invoice_amount": {"title": "Invoice amount", "description": "Total Invoice Amount", "type": "string", "readOnly": true}, "amount_paid": {"title": "Amount paid", "description": "Amount Paid", "type": "string", "readOnly": true}, "amount_due": {"title": "Amount due", "description": "Amount Due", "type": "string", "readOnly": true}, "payment_status": {"title": "Payment status", "type": "string", "enum": ["pending", "partial_paid", "paid"]}, "payment_details": {"description": "Payment Details", "type": "array", "items": {"$ref": "#/definitions/PaymentDetails"}, "readOnly": true}, "custom_data": {"description": "Custom Details", "type": "array", "items": {"$ref": "#/definitions/CustomData"}, "readOnly": true}}}}}