Skip to main content

Reading Data

The iDempiere REST API supports reading data using standard HTTP GET requests. These can be used to fetch collections of records, individual records by ID or UUID, and specific fields.


Response Format

Each GET request returns JSON-formatted data with the following structure:

  • id: Internal record ID
  • uid: Universally unique identifier (UUID)
  • model-name: The table/model name
  • {columnname}: Each field in the record is returned using type-specific formatting:
TypeFormat
StringJSON string (quoted)
Yes/Notrue or false
NumberJSON number (unquoted)
Date/TimeISO 8601 formatted string
Foreign KeyJSON object with propertyLabel, id, identifier, model-name
BinaryBase64-encoded string
ImageJSON object with propertyLabel, id, data, model-name

Getting a Collection of Records

To retrieve a list of records from a table, send a GET request to:

GET /api/v1/models/{table-name}

Example

GET /api/v1/models/c_tax

This returns a paginated list of tax records.

Sample Response

{
"page-count": 4,
"records-size": 2,
"skip-records": 0,
"row-count": 8,
"array-count": 2,
"records": [ ... ]
}

Each record in records follows the standard field format described above.


Getting a Single Record by ID or UUID

You can request an individual record by its ID or UUID using:

GET /api/v1/models/{table-name}/{id|uuid}

Example

GET /api/v1/models/c_tax/106

This returns the full JSON object for the record with ID 106.


Getting a Specific Field

To retrieve a single property from a record:

GET /api/v1/models/{table-name}/{id|uuid}/{property}

Example

GET /api/v1/models/c_tax/106/rate

This returns only the Rate field and related metadata for the record.

Sample Response

{
"id": 106,
"uid": "315dacb1-415c-45e7-8dac-a9a44fa8aca7",
"Rate": 7,
"model-name": "c_tax"
}

Ready to filter or sort results? Continue to the Querying Data guide.