The Invoicetronic API is a RESTful service that allows you to send and receive invoices through the Italian Servizio di Interscambio (SDI), or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools.
For more information, see Invoicetronic website
For the full integration guide, tutorials, SDKs and quickstarts, see the Documentation. A few cross-cutting topics worth knowing before integrating:
- Prerequisites — what you need to start in Sandbox and what's required to move to production.
- API Keys — how
ik_live_andik_test_keys select the environment. - Sandbox — free test environment that mirrors the live workflow, with no credits consumed.
- Rate Limiting — per-second, per-minute and per-day limits; how to handle
429 Too Many Requests. - Pagination —
pageandpage_sizeparameters and theInvoicetronic-Total-Countresponse header. - CORS — calling the API from the browser; allowed origins are configured per key.
- Webhooks — real-time event notifications with HMAC-SHA256 signature validation.
- Localization — use the
Accept-Languageheader to receive error messages in Italian, English or German.
-
API version: 1.14.0
-
Build date: 2026-07-07T07:14:59.942270Z[Etc/UTC]
-
Generator version: 7.20.0
Automatically generated by the OpenAPI Generator
Building the API client library requires:
- Java 1.8+
- Maven/Gradle
To install the API client library to your local Maven repository, simply execute:
mvn clean installTo deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
mvn clean deployRefer to the OSSRH Guide for more information.
Add this dependency to your project's POM:
<dependency>
<groupId>com.invoicetronic</groupId>
<artifactId>java-sdk</artifactId>
<version>1.9</version>
<scope>compile</scope>
</dependency>Add this dependency to your project's build file:
repositories {
mavenCentral() // Needed if the 'java-sdk' jar has been published to maven central.
mavenLocal() // Needed if the 'java-sdk' jar has been published to the local maven repo.
}
dependencies {
implementation "com.invoicetronic:java-sdk:1.9"
}At first generate the JAR by executing:
mvn clean packageThen manually install the following JARs:
target/java-sdk-1.9.jartarget/lib/*.jar
Please follow the installation instruction and execute the following Java code:
import com.invoicetronic.sdk.*;
import com.invoicetronic.sdk.auth.*;
import com.invoicetronic.sdk.model.*;
import com.invoicetronic.sdk.api.CompanyApi;
public class CompanyApiExample {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://localhost");
// Configure HTTP basic authorization: Basic
HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
CompanyApi apiInstance = new CompanyApi(defaultClient);
Integer page = 1; // Integer | Page number.
Integer pageSize = 100; // Integer | Items per page. Cannot be greater than 200.
String sort = "sort_example"; // String | Sort by field. Prefix with '-' for descending order.
String q = "q_example"; // String | Full-text search across committente, prestatore, identifier, and file name.
try {
List<Company> result = apiInstance.companyGet(page, pageSize, sort, q);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling CompanyApi#companyGet");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}All URIs are relative to http://localhost
| Class | Method | HTTP request | Description |
|---|---|---|---|
| CompanyApi | companyGet | GET /company | List companies |
| CompanyApi | companyIdDelete | DELETE /company/{id} | Delete a company |
| CompanyApi | companyIdGet | GET /company/{id} | Get a company by id |
| CompanyApi | companyPost | POST /company | Add a company |
| CompanyApi | companyPut | PUT /company | Update a company |
| CompanyApi | companyVatGet | GET /company/{vat} | Get a company by vat number |
| ExportApi | exportGet | GET /export | Export invoices as a ZIP archive |
| HealthApi | healthGet | GET /health | Health check |
| LogApi | logGet | GET /log | List events |
| LogApi | logIdGet | GET /log/{id} | Get an event by id |
| ReceiveApi | receiveGet | GET /receive | List incoming invoices |
| ReceiveApi | receiveIdDelete | DELETE /receive/{id} | Delete an incoming invoice by id |
| ReceiveApi | receiveIdGet | GET /receive/{id} | Get an incoming invoice by id |
| ReceiveApi | receiveIdPayloadGet | GET /receive/{id}/payload | Get a receive invoice payload by id |
| SendApi | sendFilePost | POST /send/file | Add an invoice by file |
| SendApi | sendGet | GET /send | List invoices |
| SendApi | sendIdGet | GET /send/{id} | Get a invoice by id |
| SendApi | sendIdPayloadGet | GET /send/{id}/payload | Get a send invoice payload by id |
| SendApi | sendIdentifierGet | GET /send/{identifier} | Get a invoice by identifier |
| SendApi | sendJsonPost | POST /send/json | Add an invoice by json |
| SendApi | sendPost | POST /send | Add an invoice |
| SendApi | sendValidateFilePost | POST /send/validate/file | Validate an invoice file |
| SendApi | sendValidateJsonPost | POST /send/validate/json | Validate an invoice by json |
| SendApi | sendValidatePost | POST /send/validate | Validate an invoice |
| SendApi | sendValidateXmlPost | POST /send/validate/xml | Validate an invoice by xml |
| SendApi | sendXmlPost | POST /send/xml | Add an invoice by xml |
| StatusApi | statusGet | GET /status | Account status |
| UpdateApi | updateGet | GET /update | List updates |
| UpdateApi | updateIdGet | GET /update/{id} | Get an update by id |
| WebhookApi | webhookGet | GET /webhook | List webhooks |
| WebhookApi | webhookIdDelete | DELETE /webhook/{id} | Delete a webhook by id |
| WebhookApi | webhookIdGet | GET /webhook/{id} | Get a webhook by id |
| WebhookApi | webhookPost | POST /webhook | Add a webhook |
| WebhookApi | webhookPut | PUT /webhook | Update a webhook |
| WebhookApi | webhookhistoryGet | GET /webhookhistory | List webhook history items |
| WebhookApi | webhookhistoryIdGet | GET /webhookhistory/{id} | Get a webhook history item by id |
- Company
- DocumentData
- Error
- Event
- ProblemDetails
- Receive
- Send
- SendReduced
- Status
- Update
- WebHook
- WebHookHistory
Authentication schemes defined for the API:
- Type: HTTP basic authentication
It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.