Skip to main content

Response format

All responses from INFast API are in JSON and follow a standardized format. Here are the details 🧐

Success

In case of success, the API returns a JSON with a data field.

Exception!

This only applies to endpoints that return a response. Some endpoints (such as delete an item) do not return any data.

Single entity

When the request returns a single entity (for example Get an Item by ID), data contains the entity.

Example
{
"data": {
"id": "63e3c82675de4f6978054579",
"portalId": "63e3c82675de4f6978054555",
"name": "Robinet Mitigeur GH520",
"type": "product",
"price": 45.96,
"vat": 20,
"buyingPrice": 35.74,
"reference": "P-000123",
"lastUpdate": "2023-07-21T17:32:28Z"
}
}

Multiple entities

When the request returns multiple entities (for example List Items), data is an array of entities.

Example
{
"data": [
{
"id": "63e3c82675de4f6978054579",
"portalId": "63e3c82675de4f6978054555",
"name": "Item #1",
...
},
{
"id": "666aa62f18a3a96aeb5d00b2",
"portalId": "63e3c82675de4f6978054555",
"name": "Item #2",
...
},
{
"id": "666aa63fe883e6236f34ae07",
"portalId": "63e3c82675de4f6978054555",
"name": "Item #3",
...
}
]
}

Error

In case of an error, the API returns a JSON detailing the error, in addition to the appropriate HTTP code.

Error object
{
"error": "Error message",
"code": 400,
"details": ["Some details about the error"]
}
  • error: the error message
  • code: the HTTP code for this error (same as response headers).
  • details: additional information to debug the error (optional).

Below are some examples of the most common error in the API.

Not found

You are trying to access an entity that does not exist, or no longer exists.

In the following example, details indicates that the document 648ac3762166300757144598 does not exist.

Example
{
"error": "not found",
"code": 404,
"details": [
{
"path": "/api/v2/documents/648ac3762166300757144598",
"message": "not found"
}
]
}

Input data validation failure

The input data you provided does not validate against our OpenAPI schema.

In the following example, details indicates that the customerId field does not meet the required format.

Example
{
"error": "request/body/customerId must NOT have fewer than 24 characters",
"code": 400,
"details": [
{
"path": "/body/customerId",
"message": "must NOT have fewer than 24 characters",
"errorCode": "minLength.openapi.validation"
}
]
}

Request parameters issue

The request parameters you provided do not validate against our OpenAPI schema.

In the following example, details indicates that the status parameter does not exist on the specified endpoint.

Example
{
"error": "Unknown query parameter 'status'",
"code": 400,
"details": [
{
"path": "/query/status",
"message": "Unknown query parameter 'status'"
}
]
}

Conflict error

Some actions cannot be performed depending on the state of the INFast application.

In the following example, the status of the document does not permit to delete it.

Example
{
"error": "Can not delete a validated document",
"code": 409
}