Skip to content

Prana API (1.0)

API Prana

Welcome !!! In our developer portal you will find everything you need to interact with our platform.

Our API works with the REST interface through the HTTPS protocol and using the JSON format for processing calls.

All requests are validated against an API Key that can be obtained manually from the Configuration section of the PRANA app.

Our goal is to offer the clearest possible documentation here.

Any suggestions can be sent to: info@prana.software

API Key

To use your API key, you need only call the api with your key in the header as follow:

X-Api-Key

Download OpenAPI description
Languages
Servers
https://api.prana.software

Stock Regularization

Manage your Stock Regularizations

Operations
Operations

Request

Create a new inventory.

Bodyapplication/jsonrequired
numberinteger

Unique serial number of the document header.

Example: 1050
documentDatestring(date)

Date of the document in ISO format (yyyy-MM-dd).

Example: "2025-08-07"
quantityTotalnumber

Total quantity of all document lines.

Example: 120.5
observationsstring

Free text for header observations.

Example: "Deliver to warehouse B"
linesArray of objects(ApiInventoryLineWriteDto)

List of document lines. For structure, see ApiBaseLineWriteDto.java

warehouseinteger(int32)
valuationTypestring(ApiValuationTypeEnum)
Enum"AVERAGE_COST_PRICE""GROSS_PRICE_CURRENT_COST""NET_PRICE_CURRENT_COST"
doInventoryboolean
curl -i -X POST \
  https://api.prana.software/api/v1/inventory \
  -H 'Content-Type: application/json' \
  -d '{
    "number": 1050,
    "documentDate": "2025-08-07",
    "quantityTotal": 120.5,
    "observations": "Deliver to warehouse B",
    "lines": [
      {
        "id": 1001,
        "articleCombination": 5312,
        "sizeRange": 15,
        "assortment": 8,
        "lineNumber": 1,
        "articleDescription": "Cotton T-shirt - Blue",
        "packages": 3,
        "quantityPerPackage": 12,
        "price": 19.99,
        "lineObservations": "Special discount applied.",
        "details": [
          {
            "id": 200,
            "sizeRangeDetail": 15,
            "width": 12,
            "quantityPerPackage": 9.3
          }
        ],
        "totalLine": 0,
        "batchList": [
          {
            "id": 11,
            "batch": "LOT-2025B",
            "quantity": 75.5,
            "packages": 2
          }
        ],
        "serialNumberList": [
          {
            "id": 12,
            "serialNumber": "SN-20250807-XYZ"
          }
        ]
      }
    ],
    "warehouse": 0,
    "valuationType": "AVERAGE_COST_PRICE",
    "doInventory": true
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
numberintegerrequired

Unique serial number of the document header.

Example: 1001
documentDatestring(date)required

Date of the document in ISO format (yyyy-MM-dd).

Example: "2024-08-07"
quantityTotalnumber

Total quantity for all document lines.

Example: 200.5
observationsstring

Free text field for any observations related to the document.

Example: "Customer requested urgent delivery"
linesArray of objects(ApiInventoryLineReadDto)

List of detail lines for the document. For structure see: ApiBaseLineReadDto.java

inventoriedDatestring(date)

Date when the inventory was performed

Example: "2024-01-15"
inventoriedboolean

Flag indicating if the inventory has been completed

Example: true
warehouseobject(ApiWarehouseListReadDto)

Warehouse information where the inventory is located

valuationTypestring(ApiValuationTypeEnum)

Type of valuation method used for inventory

Enum"AVERAGE_COST_PRICE""GROSS_PRICE_CURRENT_COST""NET_PRICE_CURRENT_COST"
Example: "FIFO"
Response
application/json
{ "id": 1, "number": 1001, "documentDate": "2024-08-07", "quantityTotal": 200.5, "observations": "Customer requested urgent delivery", "lines": [ { … } ], "inventoriedDate": "2024-01-15", "inventoried": true, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "valuationType": "AVERAGE_COST_PRICE" }

Request

Get all your inventories.

Bodyapplication/jsonrequired
conditionobject(ApiCondition)

Condition to filter results

sortCriteriaArray of objects(ApiSortDto)

List of sorting criteria to apply

pageNumberinteger(int32)required

Page number to retrieve (0-based)

Example: 0
pageSizeinteger(int32)required

Number of items per page

Example: 20
curl -i -X POST \
  https://api.prana.software/api/v1/inventory/search \
  -H 'Content-Type: application/json' \
  -d '{
    "condition": {
      "field": "name",
      "value": "Example Value",
      "type": "EQ",
      "endValue": 100,
      "innerConditions": [
        {}
      ],
      "conditionType": "AND",
      "empty": false,
      "compareFields": false
    },
    "sortCriteria": [
      {
        "sortField": "name",
        "sortDirection": "ASC"
      }
    ],
    "pageNumber": 0,
    "pageSize": 20
  }'

Responses

OK

Bodyapplication/json
dataArray of objects(ApiInventoryListReadDto)required

List of data items for the current page

data[].​idinteger(int32)required

Unique identifier of the entity

Example: 1
data[].​numberinteger(int32)

Inventory number

Example: "INV-2024-001"
data[].​documentDatestring(date)

Document date

Example: "2024-01-15"
data[].​inventoriedDatestring(date)

Date when the inventory was performed

Example: "2024-01-15"
data[].​inventoriedboolean

Flag indicating if the inventory has been completed

Example: true
data[].​warehousestring

Warehouse name

Example: "Main Warehouse"
data[].​observationsstring

Observations about the inventory

Example: "Annual stock count"
data[].​valuationTypestring(ApiValuationTypeEnum)

Type of valuation method used for inventory

Enum"AVERAGE_COST_PRICE""GROSS_PRICE_CURRENT_COST""NET_PRICE_CURRENT_COST"
Example: "FIFO"
pageinteger(int32)required

Current page number (0-based)

Example: 0
totalinteger(int32)required

Total number of items across all pages

Example: 150
pagesinteger(int64)required

Last page number (0-based)

Example: 14
sizeinteger(int32)required

Number of items per page

Example: 10
Response
application/json
{ "data": [ { … } ], "page": 0, "total": 150, "pages": 14, "size": 10 }

Request

Get a specific inventories.

Path
idinteger(int32)required
curl -i -X GET \
  'https://api.prana.software/api/v1/inventory/{id}'

Responses

OK

Bodyapplication/json
idinteger(int32)required

Unique identifier of the entity

Example: 1
numberintegerrequired

Unique serial number of the document header.

Example: 1001
documentDatestring(date)required

Date of the document in ISO format (yyyy-MM-dd).

Example: "2024-08-07"
quantityTotalnumber

Total quantity for all document lines.

Example: 200.5
observationsstring

Free text field for any observations related to the document.

Example: "Customer requested urgent delivery"
linesArray of objects(ApiInventoryLineReadDto)

List of detail lines for the document. For structure see: ApiBaseLineReadDto.java

inventoriedDatestring(date)

Date when the inventory was performed

Example: "2024-01-15"
inventoriedboolean

Flag indicating if the inventory has been completed

Example: true
warehouseobject(ApiWarehouseListReadDto)

Warehouse information where the inventory is located

valuationTypestring(ApiValuationTypeEnum)

Type of valuation method used for inventory

Enum"AVERAGE_COST_PRICE""GROSS_PRICE_CURRENT_COST""NET_PRICE_CURRENT_COST"
Example: "FIFO"
Response
application/json
{ "id": 1, "number": 1001, "documentDate": "2024-08-07", "quantityTotal": 200.5, "observations": "Customer requested urgent delivery", "lines": [ { … } ], "inventoriedDate": "2024-01-15", "inventoried": true, "warehouse": { "id": 1, "code": "ALM01", "description": "Central warehouse", "population": "Madrid", "active": true }, "valuationType": "AVERAGE_COST_PRICE" }
Operations
Operations
Operations
Operations
Operations
Operations

Stock Transfer

Manage your Stock Transfers

Operations
Operations

Warehouse Movement

Manage your warehouse movements

Operations
Operations
Operations

DeliveryNote

Manage your DeliveryNotes

Operations

Warehouse Accumulate

Manage your warehouse accumulates

Operations
Operations
Operations

Entity Last Update

Manage the last-updated timestamps for entities

Operations

Period

Retrieves the available accounting periods in the app

Operations
Operations
Operations

Purchase Invoice

Manage your Purchase Invoices

Operations
Operations
Operations

Payment Method

Manage your Payment Methods

Operations
Operations

Recurring Billing Templates

Manage your recurring billing templates

Operations
Operations

Billing Series

Manage your Billing Series

Operations
Operations
Operations

PurchaseDeliveryNote

Manage your PurchaseDeliveryNotes

Operations
Operations
Operations