Skip to main content

Inventory API (1.0.0)

Download OpenAPI specification:Download

commodities

configuration

Retrieve inventory configuration

Retrieve inventory configuration

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "adjustmentReasons": [
    ]
}

movements

Search Movements Between Dates

Search Movements Between Dates

Authorizations:
jwt
query Parameters
limit
integer

Limit page size of results

offset
integer

Number of results to skip for the current page

sortBy
string

Sort results by this field

sortDesc
boolean

Sort results descending if true, otherwise ascending

startDateISO
string

Filter by start date ISO

endDateISO
string

Filter by end date ISO

f:type
string

Filter by type

f:commodity
string

Filter by commodity

f:commodityType
string

Filter by commodity type

f:commodityGrade
string

Filter records by commodity grade

f:status
string

Filter by status

f:storageSourceId
string

Filter by movement source

f:storageDestinationId
string

Filter by movement destination

conflicts
boolean

Calculate conflicts if true

type
string
Enum: "intake" "internal" "outbound"

Filter by movement type

actions
boolean

Filter by movements requiring action

storageContractId
string

Id of a storage contract

format
string

Format for the endpoint response, supports JSON (default) or CSV

noContract
boolean
Default: false

Filter if not connected to a contract already

Responses

Response samples

Content type
application/json
{
  • "totalDocs": 0,
  • "limit": 0,
  • "offset": 0,
  • "docs": [
    ]
}

Create A Movement

Create A Movement

Authorizations:
jwt
Request Body schema: application/json
recordId
required
string
organisationId
string
organisationName
string
movementDateISO
required
string
weight
required
number
adjustToZero
boolean
Default: false
object or null
required
object
object or null
storageContractId
string or null

Responses

Request samples

Content type
application/json
{
  • "recordId": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "movementDateISO": "string",
  • "weight": 0,
  • "adjustToZero": false,
  • "driver": {
    },
  • "destination": {
    },
  • "adjustment": {
    },
  • "storageContractId": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Create Movements

Create Movements

Authorizations:
jwt
Request Body schema: application/json
required
Array of objects
organisationId
string
organisationName
string
movementDateISO
required
string
adjustToZero
boolean
Default: false
object or null
required
object
storageContractId
string or null

Responses

Request samples

Content type
application/json
{
  • "records": [
    ],
  • "organisationId": "string",
  • "organisationName": "string",
  • "movementDateISO": "string",
  • "adjustToZero": false,
  • "driver": {
    },
  • "destination": {
    },
  • "storageContractId": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Create A Movement

Create A Movement

Authorizations:
jwt
Request Body schema: application/json
recordId
required
string
contractId
string or null
contractReference
string or null
organisationId
string
organisationName
string
movementDateISO
required
string
weight
required
number
sold
required
boolean
adjustToZero
boolean
Default: false
object or null
required
object
object or null
storageContractId
string or null

Responses

Request samples

Content type
application/json
{
  • "recordId": "string",
  • "contractId": "string",
  • "contractReference": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "movementDateISO": "string",
  • "weight": 0,
  • "sold": true,
  • "adjustToZero": false,
  • "driver": {
    },
  • "destination": {
    },
  • "adjustment": {
    },
  • "storageContractId": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Create Movements

Create Movements

Authorizations:
jwt
Request Body schema: application/json
required
Array of objects
organisationId
string
organisationName
string
movementDateISO
required
string
sold
required
boolean
adjustToZero
boolean
Default: false
object or null
required
object
contractId
string or null
contractReference
string or null
storageContractId
string or null

Responses

Request samples

Content type
application/json
{
  • "records": [
    ],
  • "organisationId": "string",
  • "organisationName": "string",
  • "movementDateISO": "string",
  • "sold": true,
  • "adjustToZero": false,
  • "driver": {
    },
  • "destination": {
    },
  • "contractId": "string",
  • "contractReference": "string",
  • "storageContractId": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Delete Movement

Delete Movement

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
recordId
string

Responses

Request samples

Content type
application/json
{
  • "recordId": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Edit Movement

Edit Movement

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
recordId
required
string
contractId
string or null
contractReference
string or null
organisationId
string
organisationName
string
movementDateISO
required
string
weight
required
number
adjustToZero
boolean
Default: false
object or null
required
object
storageContractId
string or null

Responses

Request samples

Content type
application/json
{
  • "recordId": "string",
  • "contractId": "string",
  • "contractReference": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "movementDateISO": "string",
  • "weight": 0,
  • "adjustToZero": false,
  • "driver": {
    },
  • "destination": {
    },
  • "storageContractId": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Edit Movement

Edit Movement

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
recordId
required
string
contractId
string or null
contractReference
string or null
organisationId
string
organisationName
string
movementDateISO
required
string
weight
required
number
adjustToZero
boolean
Default: false
object or null
required
object
storageContractId
string or null

Responses

Request samples

Content type
application/json
{
  • "recordId": "string",
  • "contractId": "string",
  • "contractReference": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "movementDateISO": "string",
  • "weight": 0,
  • "adjustToZero": false,
  • "driver": {
    },
  • "destination": {
    },
  • "storageContractId": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Update Movement Actions

Update Movement Actions

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
recordId
required
string
isComplete
boolean
adjustToZero
boolean
Default: false
object or null
object

Responses

Request samples

Content type
application/json
{
  • "recordId": "string",
  • "isComplete": true,
  • "adjustToZero": false,
  • "driver": {
    },
  • "weighbridge": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Get Expired Movements

Get Expired Movements

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "totalDocs": 0,
  • "limit": 0,
  • "offset": 0,
  • "docs": [
    ]
}

Apply Passed Movements

Apply Passed Movements

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Duplicate a movement

Duplicate a movement

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
recordId
required
string
count
required
number

Responses

Request samples

Content type
application/json
{
  • "recordId": "string",
  • "count": 0
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

records

Get Record

Get Record

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "name": "string",
  • "status": "string",
  • "owned": true,
  • "soldTo": "string",
  • "soldWeight": 0,
  • "source": "planting",
  • "type": "crop",
  • "commodity": {
    },
  • "harvestYear": "string",
  • "isRecordInStorage": true,
  • "yield": {
    },
  • "harvest": {
    },
  • "storage": {
    },
  • "timeline": [
    ]
}

Update Record

Update Record

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
commodityGrade
number or null

Adjustment to commodity grade

harvestYear
string

Adjustment to harvest year

tags
Array of numbers
plantingAtUTC
string or null
plantingAtDateType
string or null
Enum: "date" "month"
plantingExpectedYield
number or null

Responses

Request samples

Content type
application/json
{
  • "commodityGrade": 0,
  • "harvestYear": "string",
  • "tags": [
    ],
  • "plantingAtUTC": "string",
  • "plantingAtDateType": "date",
  • "plantingExpectedYield": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "name": "string",
  • "status": "string",
  • "owned": true,
  • "soldTo": "string",
  • "soldWeight": 0,
  • "source": "planting",
  • "type": "crop",
  • "commodity": {
    },
  • "harvestYear": "string",
  • "isRecordInStorage": true,
  • "yield": {
    },
  • "harvest": {
    },
  • "storage": {
    },
  • "timeline": [
    ]
}

Get Records by id

Get Records by id

Authorizations:
jwt
query Parameters
ids
required
string

Comma separated list of ids

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create adjustments for one or more records

Create adjustments for one or more records

Authorizations:
jwt
Request Body schema: application/json
required
Array of objects

Array of records to adjust

Array of objects or null

A list of files to associate with the adjustments

reasonId
required
number or null

Reason for the adjustment, from dropdown of managed reasons

Responses

Request samples

Content type
application/json
{
  • "records": [
    ],
  • "files": [
    ],
  • "reasonId": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Creates or updates a file on an adjustment

Creates or updates a file on an adjustment

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

adjustmentId
required
number

Adjustment ID

Request Body schema: application/json
name
string
id
required
string
url
string or null
userName
string or null
createdAtUTC
string or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "id": "string",
  • "url": "string",
  • "userName": "string",
  • "createdAtUTC": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Deletes a file on an adjustment

Deletes a file on an adjustment

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

adjustmentId
required
number

Adjustment ID

fileId
required
string

File ID

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Add a sample to this record

Add a sample to this record

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
Array of objects

Array of sample fields

object or null
Array of objects or null or null
commodityGradeId
number

If adjusting the grade, the new grade for the record.

Responses

Request samples

Content type
application/json
{
  • "fields": [
    ],
  • "file": {
    },
  • "files": [
    ],
  • "commodityGradeId": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "name": "string",
  • "status": "string",
  • "owned": true,
  • "soldTo": "string",
  • "soldWeight": 0,
  • "source": "planting",
  • "type": "crop",
  • "commodity": {
    },
  • "harvestYear": "string",
  • "isRecordInStorage": true,
  • "yield": {
    },
  • "harvest": {
    },
  • "storage": {
    },
  • "timeline": [
    ]
}

Search Inventory Record

Search Inventory Record

Authorizations:
jwt
query Parameters
limit
integer

Limit page size of results

offset
integer

Number of results to skip for the current page

sortBy
string

Sort results by this field

sortDesc
boolean

Sort results descending if true, otherwise ascending

docs
boolean

Defaults to true, but if included and set to false, only fitlers will be returned for the search, no documents

f:type
string

Filter by type

f:tags
string

Filter by tags

f:commodity
string

Filter by commodity

f:commodityGrade
string

Filter records by commodity grade

f:commodityTags
string

Filter records by commodity tags

f:commodityType
string

Filter by commodity type

f:commodityVariety
string

Filter records by commodity variety

f:harvestYear
string

Filter by harvest year

f:organisationId
string

Filter records by inventory owner

f:storageOrganisationId
string

Filter records by storage owner

f:storageId
string

Filter by storage location

f:storageType
string

records storage type

format
string

Format for the endpoint response, supports JSON (default) or CSV

ownerStatus
string

Filter records by owned by or stored by

f:businessUnitIds
string

Filter by business units

requiresCleaning
boolean

Requires Cleaning

f:location
string

Filter by location

f:regionISO
string

Filter by region ISO

f:tagl
string

Filter by location tag

f:tagm
string

Filter by management type tag

Responses

Response samples

Content type
application/json
{
  • "docs": [
    ],
  • "custom": {
    },
  • "totalDocs": 0,
  • "limit": 0,
  • "offset": 0,
  • "clearUrl": "string",
  • "activeFilters": [
    ],
  • "facets": [
    ],
  • "aggregations": [
    ]
}

Create a new inventory record

Create a new inventory record

Authorizations:
jwt
Request Body schema: application/json
rowNumber
number

Row number identifier

name
string or null

Name of the commodity

adjustToZero
boolean or null
Default: false

Automatically adjust store to zero if it contains inventory from a different harvest year.

owned
required
boolean
Default: true

Represents whether the owner of the inventory record owns the commodity stored or is storing on behalf of another organisation.

bulkPlanting
boolean or null
Default: false

Is this a bulk planting

Array of objects or null

Array of storage locations where the new inventory record is being stored

type
required
string
Enum: "crop" "produce"

Type of commodity

harvestYear
required
string
required
object
required
object
tags
Array of strings

Custom tags to help organise inventory

Responses

Request samples

Content type
application/json
{
  • "rowNumber": 0,
  • "name": "string",
  • "adjustToZero": false,
  • "owned": true,
  • "bulkPlanting": false,
  • "storage": [
    ],
  • "type": "crop",
  • "harvestYear": "string",
  • "commodity": {
    },
  • "source": {
    },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "name": "string",
  • "status": "string",
  • "owned": true,
  • "soldTo": "string",
  • "soldWeight": 0,
  • "source": "planting",
  • "type": "crop",
  • "commodity": {
    },
  • "harvestYear": "string",
  • "isRecordInStorage": true,
  • "yield": {
    },
  • "harvest": {
    },
  • "storage": {
    }
}

cleanEmptyFields

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Create new plantings

Create new plantings

Authorizations:
jwt
Request Body schema: application/json
Array
rowNumber
required
number

Row number identifier

name
string or null

Name of the commodity

type
required
string
Enum: "crop" "produce"

Type of commodity

harvestYear
required
string
owned
required
boolean
Default: true

Represents whether the owner of the inventory record owns the commodity stored or is storing on behalf of another organisation.

required
object
required
object
required
object or null
adjustToZero
boolean or null
Default: false

Automatically adjust store to zero if it contains inventory from a different harvest year.

tags
Array of strings

Custom tags to help organise inventory

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": 0,
  • "validation": 0,
  • "errors": 0,
  • "results": [
    ]
}

Deletes a sample on a record

Deletes a sample on a record

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

sampleId
required
number

Sample ID

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

varieties

Suggest varieties

Suggest varieties based on term

Authorizations:
jwt
query Parameters
commodityType
string

Filter by commodity type

commodity
string

Filter by commodity

query
required
string

Free text search field for querying

Responses

Response samples

Content type
application/json
[
  • {
    }
]

storage

Get organisations with commodity

Returns list of organisations that have the specified commodity in store

Authorizations:
jwt
query Parameters
commodityType
string

Filter by commodity type

commodity
string

Filter by commodity

commodityGrade
string

Filter by commodity grade

regionISOs
string

Filter by region ISO, comma seperated list

Responses

Response samples

Content type
application/json
{
  • "organisationsWithInventory": [
    ],
  • "organisationsWithCommodity": [
    ]
}

Get Storage

Get storage facilities

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "businessUnits": [
    ],
  • "name": "string",
  • "area": 0,
  • "type": "field",
  • "isConflicted": true,
  • "location": {
    },
  • "substorageCount": 0,
  • "substorage": [
    ]
}

Update a storage location

Update a storage location

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
businessUnitIds
Array of strings
name
string
object or null
tags
Array of strings

Custom tags to help organise storage

Array of objects or null
area
number or null

Responses

Request samples

Content type
application/json
{
  • "businessUnitIds": [
    ],
  • "name": "string",
  • "location": {
    },
  • "tags": [
    ],
  • "substorage": [
    ],
  • "area": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "businessUnits": [
    ],
  • "name": "string",
  • "area": 0,
  • "type": "field",
  • "isConflicted": true,
  • "location": {
    },
  • "substorageCount": 0,
  • "substorage": [
    ]
}

Deletes a storage location

Deletes a storage location

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Get substorage and all future movements with conflict status if any

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

query Parameters
substorageId
string

Filter by substorage id

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Deletes a substorage location

Deletes a substorage location

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

substorageId
required
number

Substorage ID

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Get storage locations by inventory record ids

Get storage locations by inventory record ids

Authorizations:
jwt
query Parameters
ids
required
string

Comma separated list of ids

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Search storage facilities

Search Storage

Authorizations:
jwt
query Parameters
limit
integer

Limit page size of results

offset
integer

Number of results to skip for the current page

sortBy
string

Sort results by this field

sortDesc
boolean

Sort results descending if true, otherwise ascending

docs
boolean

Defaults to true, but if included and set to false, only fitlers will be returned for the search, no documents

format
string

Format for the endpoint response, supports JSON (default) or CSV

query
string

Free text search field for querying

f:type
string

Filter by type

f:commodity
string

Filter by commodity

f:commodityType
string

Filter by commodity type

f:commodityGrade
string

Filter records by commodity grade

f:commodityVariety
string

Filter records by commodity variety

f:tags
string

Filter by tags

f:hasInventory
boolean

Filter by has inventory

f:harvestYear
string

Filter by harvest year

f:ownerOrganisationId
string

Filter records by inventory owner

f:storageId
string

Filter by storage location

f:inventoryType
string

Filter by inventory type (crop / produce

conflict
boolean

Filter by conflicted storage locations if set

f:businessUnitIds
string

Filter by business units

Responses

Response samples

Content type
application/json
{
  • "docs": [
    ],
  • "custom": { },
  • "totalDocs": 0,
  • "limit": 0,
  • "offset": 0,
  • "clearUrl": "string",
  • "activeFilters": [
    ],
  • "facets": [
    ],
  • "aggregations": [
    ]
}

Create a new storage location

Create a new storage location

Authorizations:
jwt
Request Body schema: application/json
name
required
string
area
number or null
type
required
string
Enum: "field" "store"
businessUnitIds
Array of strings
required
object or null
tags
Array of strings

Custom tags to help organise storage

required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "area": 0,
  • "type": "field",
  • "businessUnitIds": [
    ],
  • "location": {
    },
  • "tags": [
    ],
  • "substorage": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "businessUnits": [
    ],
  • "name": "string",
  • "area": 0,
  • "type": "field",
  • "isConflicted": true,
  • "location": {
    },
  • "substorageCount": 0,
  • "substorage": [
    ]
}

List Storage

List storage facilities

Authorizations:
jwt
query Parameters
limit
integer

Limit page size of results

offset
integer

Number of results to skip for the current page

type
string

Filter by type

sortBy
string

Sort results by this field

sortDesc
boolean

Sort results descending if true, otherwise ascending

format
string

Format for the endpoint response, supports JSON (default) or CSV

query
string

Free text search field for querying

conflict
boolean

Filter by conflicted storage locations if set

storeCommodity
number

Filter stores by supported store commodities

businessUnitIds
string

Filter by business units

commodity
string

Filter by commodity

commodityType
string

Filter by commodity type

commodityGrade
string

Filter records by commodity grade

tags
string

Filter by tags

harvestYear
string

Filter by harvest year

Responses

Response samples

Content type
application/json
{
  • "docs": [
    ],
  • "custom": { },
  • "totalDocs": 0,
  • "limit": 0,
  • "offset": 0,
  • "clearUrl": "string",
  • "activeFilters": [
    ],
  • "facets": [
    ],
  • "aggregations": [
    ]
}

List Storage Facility Names

Return a list of storage facility id and name and location summary for an organisation

Authorizations:
jwt

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Storage type ahead

suggests a storage location based on name && address

Authorizations:
jwt
query Parameters
query
required
string

Free text search field for querying

Responses

Response samples

Content type
application/json
[
  • {
    }
]

add commodity to storage

adds the desired commodity as a storable option on the sotage

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
substorageId
required
number
commodityId
required
number
weight
required
number

Responses

Request samples

Content type
application/json
{
  • "substorageId": 0,
  • "commodityId": 0,
  • "weight": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "businessUnits": [
    ],
  • "name": "string",
  • "area": 0,
  • "type": "field",
  • "isConflicted": true,
  • "location": {
    },
  • "substorageCount": 0,
  • "substorage": [
    ]
}

Determine conflict status for all storage locations

Authorizations:
jwt
query Parameters
storageId
string

Filter by storage id

organisationId
string

Filter by organisation Id

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Get storage counts by business units

Returns count of stores and fields by business unit id

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Updates business units of storage locations in bulk

Authorizations:
jwt
Request Body schema: application/json
businessUnitId
required
string
storageIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "businessUnitId": "string",
  • "storageIds": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Split a field into multiple fields

Authorizations:
jwt
Request Body schema: application/json
Array
source
required
string
name
required
string
hectares
required
number
variety
string or null
rowNumber
number

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

storageGetMissingRecord

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

storageGetMissingStore

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

storageGetDuplicates

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

storage contracts

Lookup storage contract

Lookup available storage contract for an intake

Authorizations:
jwt
query Parameters
commodity
required
string

Filter by commodity

commodityType
required
string

Filter by commodity type

commodityGrade
string

Filter records by commodity grade

dateISO
required
string

Filter by date

ownerOrganisationId
required
string

Filter records by inventory owner

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "owner": {
    },
  • "details": {
    },
  • "inventory": {
    }
}

Search Storage Contracts

Search Storage Contracts

Authorizations:
jwt
query Parameters
limit
integer

Limit page size of results

offset
integer

Number of results to skip for the current page

sortBy
string

Sort results by this field

sortDesc
boolean

Sort results descending if true, otherwise ascending

docs
boolean

Defaults to true, but if included and set to false, only fitlers will be returned for the search, no documents

status
string

Filter by status

format
string

Format for the endpoint response, supports JSON (default) or CSV

query
string

Free text search field for querying

f:tags
string

Filter by tags

f:commodity
string

Filter by commodity

f:commodityType
string

Filter by commodity type

f:commodityGrade
string

Filter records by commodity grade

f:ownerOrganisationId
string

Filter records by inventory owner

Responses

Response samples

Content type
application/json
{
  • "docs": [
    ],
  • "custom": { },
  • "totalDocs": 0,
  • "limit": 0,
  • "offset": 0,
  • "clearUrl": "string",
  • "activeFilters": [
    ],
  • "facets": [
    ],
  • "aggregations": [
    ]
}

Create a new Storage Contract

Create a new storageContractUpdate contract

Authorizations:
jwt
Request Body schema: application/json
ownerOrganisationId
required
string
ownerOrganisationName
required
string
required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "ownerOrganisationId": "1-A",
  • "ownerOrganisationName": "Andrews Farm",
  • "details": {
    },
  • "inventory": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "owner": {
    },
  • "details": {
    },
  • "inventory": {
    }
}

Retrieve a Storage Contract

Retrieves a single Storage Contract using the id

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "owner": {
    },
  • "details": {
    },
  • "inventory": {
    }
}

Update storage contract

Update storage contract

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "details": {
    },
  • "inventory": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "owner": {
    },
  • "details": {
    },
  • "inventory": {
    }
}

Delete a Storage Contract

Delete a Storage Contract

Authorizations:
jwt
path Parameters
id
required
string

ID of the Storage Contract to delete

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Commodities

Retrieve commodities

Retrieve commodities

query Parameters
countryISO
string

Filter by country

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve commodity info by organisation

Retrieve commodity info by organisation

Authorizations:
jwt

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve commodity specifications

Retrieve commodity specifications

Authorizations:
jwt
path Parameters
commodityType
required
string
Example: crop

Commodity type

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve commodity default specifications

Retrieve commodity default specifications

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

query Parameters
commodityGrade
string

Filter records by commodity grade

commodityType
string

Filter by commodity type

Responses

Response samples

Content type
application/json
[
  • {
    }
]

adjustments

Create adjustments for one or more records

Create adjustments for one or more records

Authorizations:
jwt
Request Body schema: application/json
required
Array of objects

Array of records to adjust

Array of objects or null

A list of files to associate with the adjustments

reasonId
required
number or null

Reason for the adjustment, from dropdown of managed reasons

Responses

Request samples

Content type
application/json
{
  • "records": [
    ],
  • "files": [
    ],
  • "reasonId": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

Creates or updates a file on an adjustment

Creates or updates a file on an adjustment

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

adjustmentId
required
number

Adjustment ID

Request Body schema: application/json
name
string
id
required
string
url
string or null
userName
string or null
createdAtUTC
string or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "id": "string",
  • "url": "string",
  • "userName": "string",
  • "createdAtUTC": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Deletes a file on an adjustment

Deletes a file on an adjustment

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

adjustmentId
required
number

Adjustment ID

fileId
required
string

File ID

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

samples

Add a sample to this record

Add a sample to this record

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
Array of objects

Array of sample fields

object or null
Array of objects or null or null
commodityGradeId
number

If adjusting the grade, the new grade for the record.

Responses

Request samples

Content type
application/json
{
  • "fields": [
    ],
  • "file": {
    },
  • "files": [
    ],
  • "commodityGradeId": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "name": "string",
  • "status": "string",
  • "owned": true,
  • "soldTo": "string",
  • "soldWeight": 0,
  • "source": "planting",
  • "type": "crop",
  • "commodity": {
    },
  • "harvestYear": "string",
  • "isRecordInStorage": true,
  • "yield": {
    },
  • "harvest": {
    },
  • "storage": {
    },
  • "timeline": [
    ]
}

storage notes

Create a new Storage Note

Create a new informative note relating to a specific store or substore

Authorizations:
jwt
Request Body schema: application/json
storageId
required
string
substorageId
number or null
reasonId
required
number
note
required
string
Array of objects or null or null

Responses

Request samples

Content type
application/json
{
  • "storageId": "string",
  • "substorageId": 0,
  • "reasonId": 0,
  • "note": "string",
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "storageId": "string",
  • "substorageId": 0,
  • "reasonId": 0,
  • "reasonDescription": "string",
  • "note": "string",
  • "files": [
    ],
  • "createdBy": "string",
  • "createdByName": "string",
  • "createdAtUTC": "string"
}

Query Storage Note by StorageId and SubstorageId

Queries the storage notes using storageId and substorageId returning a timeline

Authorizations:
jwt
query Parameters
storageId
required
string

Filter by storage id

substorageId
string

Filter by substorage id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

trade-availability

Create Trade Availability Inventory Records

Create trade availability inventory records

Authorizations:
jwt
Request Body schema: application/json
required
Array of objects
Array
type
required
string
Enum: "crop" "produce"

Commodity type

harvestYear
required
string
required
object
weight
required
number
soldWeight
number or null
businessUnitIds
Array of strings
tags
Array of strings

Responses

Request samples

Content type
application/json
{
  • "commodities": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "name": "string",
  • "status": "string",
  • "owned": true,
  • "soldTo": "string",
  • "soldWeight": 0,
  • "source": "planting",
  • "type": "crop",
  • "commodity": {
    },
  • "harvestYear": "string",
  • "isRecordInStorage": true,
  • "yield": {
    },
  • "harvest": {
    },
  • "storage": {
    }
}

Patch Trade Availability Inventory Record

Patch trade availability inventory record

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
businessUnitIds
Array of strings
commodityGrade
number or null
commodityWeight
number
soldWeight
number or null
tags
Array of strings

Responses

Request samples

Content type
application/json
{
  • "businessUnitIds": [
    ],
  • "commodityGrade": 0,
  • "commodityWeight": 0,
  • "soldWeight": 0,
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "organisationId": "string",
  • "organisationName": "string",
  • "name": "string",
  • "status": "string",
  • "owned": true,
  • "soldTo": "string",
  • "soldWeight": 0,
  • "source": "planting",
  • "type": "crop",
  • "commodity": {
    },
  • "harvestYear": "string",
  • "isRecordInStorage": true,
  • "yield": {
    },
  • "harvest": {
    },
  • "storage": {
    }
}

Deletes a trade record

Deletes a trade record

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

harvest-plan

Create harvest plans for existings org records

Temporary endpoint to create harvest plans for existing org records

Authorizations:
jwt
Request Body schema: application/json
organisationId
string
organisationName
string

Responses

Request samples

Content type
application/json
{
  • "organisationId": "string",
  • "organisationName": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Search Harvest Plans

Search Harvest Plans

Authorizations:
jwt
query Parameters
limit
integer

Limit page size of results

offset
integer

Number of results to skip for the current page

sortBy
string

Sort results by this field

sortDesc
boolean

Sort results descending if true, otherwise ascending

f:harvestYear
string

Filter by harvest year

f:commodity
string

Filter by commodity

f:commodityType
string

Filter by commodity type

f:businessUnitIds
string

Filter by business units

f:regionISO
string

Filter by region ISO

tags
string

Filter by tags

format
string

Format for the endpoint response, supports JSON (default) or CSV

docs
boolean

Defaults to true, but if included and set to false, only fitlers will be returned for the search, no documents

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Harvest Plans

Get Harvest Plan

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "harvestYear": "string",
  • "status": "string",
  • "commodity": {
    },
  • "businessUnit": {
    },
  • "businessUnitIds": [
    ],
  • "summary": {
    },
  • "records": [
    ]
}

Search Harvest Plan History

Search Harvest Plan History

Authorizations:
jwt
query Parameters
f:harvestYear
string

Filter by harvest year

f:commodity
string

Filter by commodity

f:commodityType
string

Filter by commodity type

f:businessUnitIds
string

Filter by business units

f:regionISO
string

Filter by region ISO

Responses

Response samples

Content type
application/json
{
  • "labels": [
    ],
  • "datasets": [
    ]
}

Update Harvest Plans

Update Harvest Plans

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Adjusts estimated remaining area for fields in a harvest plan

Adjusts estimated remaining area for fields in a harvest plan

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
Array
fieldId
required
string
areaRemaining
required
number
originalAreaRemaining
required
number

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": "string",
  • "harvestYear": "string",
  • "status": "string",
  • "commodity": {
    },
  • "businessUnit": {
    },
  • "businessUnitIds": [
    ],
  • "summary": {
    },
  • "records": [
    ]
}

Search Harvest Plan Loads

Search Harvest Plan Loads

Authorizations:
jwt
query Parameters
limit
integer

Limit page size of results

offset
integer

Number of results to skip for the current page

sortBy
string

Sort results by this field

sortDesc
boolean

Sort results descending if true, otherwise ascending

format
string

Format for the endpoint response, supports JSON (default) or CSV

docs
boolean

Defaults to true, but if included and set to false, only fitlers will be returned for the search, no documents

harvestPlanId
required
string

Filter by harvest plan

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new load to a harvest plan

Add a new load to a harvest plan

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
Array
fieldId
required
string
commodityId
required
number
commodityGroupId
required
number
storageId
required
string
substorageId
required
number
dateISO
required
string
weightNet
required
number
moisture
required
number or null
temperature
required
number or null
driverName
required
string or null
driverRegistration
required
string or null
required
object or null

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": "string",
  • "fieldId": "string",
  • "fieldName": "string",
  • "storageId": "string",
  • "storageName": "string",
  • "substorageId": 0,
  • "substorageName": "string",
  • "recordId": "string",
  • "movementId": 0,
  • "commodity": {
    },
  • "dateISO": "string",
  • "weightNet": {
    },
  • "fieldArea": 0,
  • "moisture": 0,
  • "temperature": 0,
  • "driverName": "string",
  • "driverRegistration": "string",
  • "sample": {
    }
}

Deletes a load from a harvest plan

Deletes a load from a harvest plan

Authorizations:
jwt
path Parameters
id
required
string

Id of the resource

Request Body schema: application/json
Array
loadId
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Storage

Import a batch of fields

CSV Import endpoint to create a set of fields

Authorizations:
jwt
Request Body schema: multipart/form-data
organisationId
string or null
organisationName
string or null
file
required
Array of strings <binary>

Responses

Response samples

Content type
application/json
{
  • "success": 0,
  • "validation": 0,
  • "errors": 0,
  • "results": [
    ]
}

Import a batch of stores

CSV Import endpoint to create a set of stores

Authorizations:
jwt
Request Body schema: multipart/form-data
organisationId
string or null
organisationName
string or null
file
required
Array of strings <binary>

Responses

Response samples

Content type
application/json
{
  • "success": 0,
  • "validation": 0,
  • "errors": 0,
  • "results": [
    ]
}

Split a field into multiple fields

Authorizations:
jwt
Request Body schema: multipart/form-data
organisationId
string or null
organisationName
string or null
file
required
Array of strings <binary>

Responses

Response samples

Content type
application/json
{
  • "success": 0,
  • "validation": 0,
  • "errors": 0,
  • "results": [
    ]
}

Fix field yields

Authorizations:
jwt
Request Body schema: multipart/form-data
organisationId
string or null
organisationName
string or null
file
required
Array of strings <binary>

Responses

Response samples

Content type
application/json
{
  • "success": 0,
  • "validation": 0,
  • "errors": 0,
  • "results": [
    ]
}

Inventory

Import a batch of existing inventory

CSV Import endpoint to create a set of inventory in existing storage locations

Authorizations:
jwt
Request Body schema: multipart/form-data
organisationId
string or null
organisationName
string or null
file
required
Array of strings <binary>

Responses

Response samples

Content type
application/json
{
  • "success": 0,
  • "validation": 0,
  • "errors": 0,
  • "results": [
    ]
}

Import a batch of existing inventory

CSV Import endpoint to create a set of inventory in existing field locations

Authorizations:
jwt
Request Body schema: multipart/form-data
organisationId
string or null
organisationName
string or null
file
required
Array of strings <binary>

Responses

Response samples

Content type
application/json
{
  • "success": 0,
  • "validation": 0,
  • "errors": 0,
  • "results": [
    ]
}

Misc

Misc

Authorizations:
jwt

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Inventory System

Ping api

Ping inventory api

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Execute event

Execute event in inventory module

Authorizations:
jwt
path Parameters
action
required
string

Action to perform

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}

Update system settings

Change the system settings document in the inventory module

Authorizations:
jwt
Request Body schema: application/json
required
object
level
required
string
filter
required
string or null

Responses

Request samples

Content type
application/json
{
  • "logging": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": "string"
}