Path: api/v1/assets
This API is JSON:API compliant.
This endpoint supports the following methods:
GET POST PATCH
This endpoint requires an OAuth bearer token, and returns errors in a standard shape. See API Conventions for authentication, error responses and paging, which apply to every endpoint.
The resource type for this endpoint is Asset
The identifier is assetno
Relationships
A relationship links this Asset to another resource. By default only the related resource's type and id are returned. Relationships marked Includable can be embedded in the response via the include query parameter (see Includes below). To set or change a relationship, send a resource identifier (type and id) for it. Postable means the relationship can be set when creating the resource (POST); Patchable means it can be changed when updating an existing resource (PATCH). Some relationships are Postable but not Patchable — they can be set at creation but not changed afterwards. A value sent for a relationship that is not Postable/Patchable in that context is not applied.
| Relationship | Type | Returns | Includable | Postable | Patchable |
|---|---|---|---|---|---|
| accountManager | CardFile | object | ✓ | ✓ | ✓ |
| item | Item | array | ✓ | ✓ | ✓ |
| name | CardFile | object | ✓ | ✓ | ✓ |
| owner | CardFile | object | ✓ | ✓ | ✓ |
| request | CardFile | object | ✓ | ✓ | ✓ |
| ship | CardFile | object | ✓ | ✓ | ✓ |
Includes
Use the include query parameter to embed Includable relationships in a single response, for example:GET /api/v1/assets/{assetno}?include=owner,ship,accountManager,name,item,request
Embedded resources are returned in a top-level included array, not nested inside the relationship. Match each one back to its relationship by type and id.
For example, requesting include=owner returns the owner reference under relationships and the full resource in the included array. The reference and the included entry share the same type and id:
GET /api/v1/assets/{assetno}?include=owner
{
"data": {
"type": "Asset",
"id": "1001",
"relationships": {
"owner": {
"data": { "type": "CardFile", "id": "2002" }
}
}
},
"included": [
{
"type": "CardFile",
"id": "2002",
"attributes": { ... }
}
]
}
Attributes
The Asset resource type attributes are as follows:
| Attribute | Type | Read-only | Description |
|---|---|---|---|
| assetCode | string | The asset code. | |
| attn | string | The request contact (attention) name. | |
| BranchCode | string | The branch code. On update, must match a configured branch. Branches are optional in Jim2 - this is only set when your site is configured to use branches. |
|
| comment | string | A general comment on the asset. | |
| companyCode | string | ✓ | The company code. |
| costCentre | string | The cost centre. | |
| costValue | number | The cost value. | |
| custRef | string | The customer's reference for the asset. | |
| dateIn | string | The date the asset came in, as an ISO date. | |
| dateOut | string | The date the asset went out, as an ISO date. | |
| eKMRequestThresholdOverrideNo | integer | The EKM request threshold override number. | |
| eKMStatusCode | string | The EKM status code. | |
| GLDeptCode | string | The GL department code. On update, must match a configured GL department. GL departments are optional in Jim2 - this is only set when your site is configured to use GL departments. |
|
| groups | array of object | ✓ | The groups the asset belongs to. See the groups section below. |
| itemDesc | string | The item description. | |
| priority | string | The asset's priority. | |
| reqDays | Nullable`1 | The default number of days until due (required days). | |
| reqHours | Nullable`1 | The default number of hours until due (required hours). | |
| requestByName | string | ✓ | The name of the page request the asset was requested by. |
| serialNo | string | The asset's serial number. | |
| shipComment | string | A shipping comment for the asset. | |
| shipInfo | string | Shipping information for the asset. | |
| status | string | The asset's status. | |
| SubBranchCode | string | The sub-branch code. On update, must match a configured sub-branch. Sub-branches are optional in Jim2 - this is only set when your site is configured to use sub-branches. |
|
| useShipAddr | boolean | Whether to use the ship address for the asset. | |
| warDateIn | string | The warranty start date, as an ISO date. | |
| warDateOut | string | The warranty end date, as an ISO date. |
Attributes of each element in the groups array.
| Attribute | Type | Read-only | Description |
|---|---|---|---|
| id | integer | The group's unique identifier. | |
| name | string | The group's name. | |
| type | string | The group's type. |
Path: api/v1/assets?filter[isActive]=True&filter[owner.id]=6&filter[custRef][-like]CR-MCH Response: This example shows the maximum set of fields the endpoint can return, all populated. A real response only contains the data that applies to that record, so fields that are empty or not relevant are omitted — do not assume every field shown here will be present in every response. This is a list. To keep the example readable, only the first item below is written out; the later items have been trimmed down in this documentation. In a real response each item comes back with the data applicable to that record (as described above). Side-loading related resources with the include query parameter is not supported on list endpoints: an include parameter is ignored here and no included section is returned. To retrieve a related resource, request it directly using the id shown in each item's relationships, or use the single-resource (get by id) endpoint, which does support include.
Example GET (Return all)
{
"data": [
{
"id": "10",
"type": "Asset",
"attributes": {
"assetCode": "MCH.C3",
"priority": "Normal",
"status": "Booked",
"custRef": "CR-MCH-C3",
"reqDays": 7,
"reqHours": 2,
"serialNo": "7-1234ABC-MCHC3",
"dateIn": "2025-10-03",
"dateOut": "2026-10-02",
"warDateIn": "2025-10-03",
"warDateOut": "2027-10-02",
"shipInfo": "Acme Corporation Pty Ltd\r\n12 Industrial Ave\r\nCHATSWOOD NSW 2067",
"useShipAddr": true,
"shipComment": "Deliver to loading dock B before 3pm.",
"itemDesc": "MultiFunction Centre Type 2",
"attn": "Jane Smith",
"requestByName": "Acme Service Desk",
"comment": "Unit under full service contract.",
"companyCode": "HAPPEN",
"BranchCode": "SYD",
"SubBranchCode": "SYD-NORTH",
"GLDeptCode": "SERVICE",
"eKMRequestThresholdOverrideNo": 250,
"eKMStatusCode": "ACTIVE",
"costCentre": "CC-100",
"costValue": 4250.00,
"groups": [
{
"type": "Region",
"id": 1,
"name": "East Coast"
}
]
},
"relationships": {
"owner": { "data": { "type": "CardFile", "id": "6" } },
"ship": { "data": { "type": "CardFile", "id": "6" } },
"item": { "data": { "type": "Item", "id": "6" } },
"accountManager": { "data": { "type": "CardFile", "id": "16" } },
"name": { "data": { "type": "CardFile", "id": "16" } },
"request": { "data": { "type": "CardFile", "id": "7" } }
},
"links": {
"self": "/jim_webapi/api/v1/assets/10"
}
},
{
"id": "11",
"type": "Asset",
"attributes": {
"assetCode": "PMP.A1",
"status": "In Service"
}
}
]
}
Path: api/v1/assets/10?include=owner,ship,accountManager,name,item,request Response: This example shows the maximum set of fields the endpoint can return, all populated. A real response only contains the data that applies to that record, so fields that are empty or not relevant are omitted — do not assume every field shown here will be present in every response.
Example GET (Return specific)
{
"data": {
"id": "10",
"type": "Asset",
"attributes": {
"assetCode": "MCH.C3",
"priority": "Normal",
"status": "Booked",
"custRef": "CR-MCH-C3",
"reqDays": 7,
"reqHours": 2,
"serialNo": "7-1234ABC-MCHC3",
"dateIn": "2025-10-03",
"dateOut": "2026-10-02",
"warDateIn": "2025-10-03",
"warDateOut": "2027-10-02",
"shipInfo": "Acme Corporation Pty Ltd\r\n12 Industrial Ave\r\nCHATSWOOD NSW 2067",
"useShipAddr": true,
"shipComment": "Deliver to loading dock B before 3pm.",
"itemDesc": "MultiFunction Centre Type 2",
"attn": "Jane Smith",
"requestByName": "Acme Service Desk",
"comment": "Unit under full service contract.",
"companyCode": "HAPPEN",
"BranchCode": "SYD",
"SubBranchCode": "SYD-NORTH",
"GLDeptCode": "SERVICE",
"eKMRequestThresholdOverrideNo": 250,
"eKMStatusCode": "ACTIVE",
"costCentre": "CC-100",
"costValue": 4250.00,
"groups": [
{
"type": "Region",
"id": 1,
"name": "East Coast"
}
]
},
"relationships": {
"owner": { "data": { "type": "CardFile", "id": "6" } },
"ship": { "data": { "type": "CardFile", "id": "6" } },
"item": { "data": { "type": "Item", "id": "6" } },
"accountManager": { "data": { "type": "CardFile", "id": "16" } },
"name": { "data": { "type": "CardFile", "id": "16" } },
"request": { "data": { "type": "CardFile", "id": "7" } }
},
"links": {
"self": "/jim_webapi/api/v1/assets/10"
}
},
"included": [
{
"type": "CardFile",
"id": "6",
"attributes": {
"cardNo": 6,
"cardCode": "ACME",
"contact": "Jane Smith",
"name": "Acme Corporation Pty Ltd",
"aBN": "51 824 753 556",
"aCN": "824 753 556",
"shipVia": "Courier Express",
"shipAmount": 15.00,
"branchCode": "SYD",
"subBranchCode": "SYD-NORTH",
"gLDeptCode": "SERVICE",
"customer": {
"terms": "30 Days",
"priceLevel": "Retail",
"custPONo": "PO-ACME-4471",
"currencyCode": "AUD",
"creditHold": "OFF( Auto )",
"creditLimit": 50000.00,
"accFeePerc": 1.50,
"bPayRefNo": "1234567890",
"backorder": "Allow Backorders",
"requiredDays": 30,
"requiredHours": 4,
"taxPaid": true,
"taxExclCode": "GST",
"taxInclCode": "GSTINC",
"batchInvGroupBy": "Customer",
"sendStatementVia": "Email",
"sendInvVia": "Email",
"groups": [
{ "type": "Region", "id": 1, "name": "East Coast" }
]
},
"address": {
"isAddressResidential": false,
"streetAddress": "12 Industrial Ave",
"suburb": "Chatswood",
"state": "NSW",
"postCode": "2067",
"country": "Australia"
},
"delAddress": {
"isAddressResidential": false,
"streetAddress": "12 Industrial Ave",
"suburb": "Chatswood",
"state": "NSW",
"postCode": "2067",
"country": "Australia"
}
},
"relationships": {
"contacts": {
"data": [
{ "type": "CardFileContact", "id": "6-1" }
]
},
"accountManager": {
"data": { "type": "CardFile", "id": "7" }
}
}
},
{
"type": "CardFile",
"id": "16",
"attributes": {
"cardNo": 16,
"cardCode": "STAFF.AM",
"contact": "Alex Manager",
"name": "Alex Manager",
"aBN": "",
"aCN": "",
"shipVia": "",
"shipAmount": 0.00,
"branchCode": "SYD",
"subBranchCode": "SYD-NORTH",
"gLDeptCode": "SALES",
"customer": {
"terms": "30 Days",
"priceLevel": "Retail",
"custPONo": "PO-AM-001",
"currencyCode": "AUD",
"creditHold": "OFF( Auto )",
"creditLimit": 10000.00,
"accFeePerc": 0.00,
"bPayRefNo": "9900112233",
"backorder": "Allow Backorders",
"requiredDays": 7,
"requiredHours": 0,
"taxPaid": false,
"taxExclCode": "GST",
"taxInclCode": "GSTINC",
"batchInvGroupBy": "Customer",
"sendStatementVia": "Email",
"sendInvVia": "Email",
"groups": [
{ "type": "Region", "id": 1, "name": "East Coast" }
]
},
"address": {
"isAddressResidential": false,
"streetAddress": "Level 2, 88 Market Street",
"suburb": "Sydney",
"state": "NSW",
"postCode": "2000",
"country": "Australia"
},
"delAddress": {
"isAddressResidential": false,
"streetAddress": "Level 2, 88 Market Street",
"suburb": "Sydney",
"state": "NSW",
"postCode": "2000",
"country": "Australia"
}
},
"relationships": {
"contacts": {
"data": [
{ "type": "CardFileContact", "id": "16-1" }
]
},
"accountManager": {
"data": { "type": "CardFile", "id": "7" }
}
}
},
{
"type": "CardFile",
"id": "7",
"attributes": {
"cardNo": 7,
"cardCode": "ACME.SVC",
"contact": "Service Desk",
"name": "Acme Corporation Pty Ltd",
"aBN": "",
"aCN": "",
"shipVia": "",
"shipAmount": 0.00,
"branchCode": "SYD",
"subBranchCode": "SYD-NORTH",
"gLDeptCode": "SERVICE",
"customer": {
"terms": "30 Days",
"priceLevel": "Retail",
"custPONo": "PO-ACME-SVC-01",
"currencyCode": "AUD",
"creditHold": "OFF( Auto )",
"creditLimit": 25000.00,
"accFeePerc": 0.00,
"bPayRefNo": "5566778899",
"backorder": "Allow Backorders",
"requiredDays": 14,
"requiredHours": 0,
"taxPaid": true,
"taxExclCode": "GST",
"taxInclCode": "GSTINC",
"batchInvGroupBy": "Customer",
"sendStatementVia": "Email",
"sendInvVia": "Email",
"groups": [
{ "type": "Region", "id": 1, "name": "East Coast" }
]
},
"address": {
"isAddressResidential": false,
"streetAddress": "12 Industrial Ave",
"suburb": "Chatswood",
"state": "NSW",
"postCode": "2067",
"country": "Australia"
},
"delAddress": {
"isAddressResidential": false,
"streetAddress": "12 Industrial Ave",
"suburb": "Chatswood",
"state": "NSW",
"postCode": "2067",
"country": "Australia"
}
},
"relationships": {
"contacts": {
"data": [
{ "type": "CardFileContact", "id": "7-1" }
]
},
"accountManager": {
"data": { "type": "CardFile", "id": "16" }
}
}
},
{
"type": "Item",
"id": "6",
"attributes": {
"ItemCode": "MFC.TYPE2",
"Description": "MultiFunction Centre Type 2"
}
}
]
}
Path: api/v1/assets Request: Response: This example shows the maximum set of fields the endpoint can return, all populated. A real response only contains the data that applies to that record, so fields that are empty or not relevant are omitted — do not assume every field shown here will be present in every response.
Example POST
{
"data": {
"type": "Asset",
"attributes": {
"assetCode": "AST-0001",
"priority": "Normal",
"status": "Booked",
"custRef": "AssetCustRef",
"reqDays": 10,
"reqHours": 2,
"serialNo": "123456ABCD",
"dateIn": "2024-06-24",
"dateOut": "2024-07-24",
"warDateIn": "2024-06-24",
"warDateOut": "2025-06-24",
"shipInfo": "Ship to loading dock B",
"useShipAddr": true,
"shipComment": "Deliver during business hours",
"itemDesc": "Multifunction printer",
"attn": "John Smith",
"comment": "Installed on level 3",
"BranchCode": "SYD",
"SubBranchCode": "SYD-NORTH",
"GLDeptCode": "SERVICE",
"eKMRequestThresholdOverrideNo": 500,
"eKMStatusCode": "OK",
"costCentre": "CC-100",
"costValue": 1250.00
},
"relationships": {
"owner": {
"data": {
"type": "CardFile",
"id": "1"
}
},
"ship": {
"data": {
"type": "CardFile",
"id": "2"
}
},
"item": {
"data": {
"type": "Item",
"id": "1"
}
},
"accountManager": {
"data": {
"type": "CardFile",
"id": "16"
}
},
"name": {
"data": {
"type": "CardFile",
"id": "16"
}
},
"request": {
"data": {
"type": "CardFile",
"id": "1"
}
}
}
}
}
{
"data": {
"id": "53",
"type": "Asset",
"attributes": {
"assetCode": "53",
"priority": "Normal",
"status": "Booked",
"custRef": "AssetCustRef",
"reqDays": 10,
"reqHours": 2,
"serialNo": "123456ABCD",
"dateIn": "2026-03-15",
"dateOut": "2027-03-14",
"warDateIn": "2026-03-15",
"warDateOut": "2028-03-14",
"shipInfo": "Acme Corporation Pty Ltd\r\n12 Industrial Ave\r\nCHATSWOOD NSW 2067",
"useShipAddr": true,
"shipComment": "Deliver to loading dock B before 3pm.",
"itemDesc": "Sale",
"attn": "Jane Smith",
"requestByName": "Acme Service Desk",
"comment": "New asset created via API.",
"companyCode": "HAPPEN",
"BranchCode": "SYD",
"SubBranchCode": "SYD-NORTH",
"GLDeptCode": "SERVICE",
"eKMRequestThresholdOverrideNo": 250,
"eKMStatusCode": "ACTIVE",
"costCentre": "CC-100",
"costValue": 4250.00,
"groups": [
{
"type": "Region",
"id": 1,
"name": "East Coast"
}
]
},
"relationships": {
"owner": {
"data": {
"type": "CardFile",
"id": "1"
}
},
"ship": {
"data": {
"type": "CardFile",
"id": "2"
}
},
"item": {
"data": {
"type": "Item",
"id": "1"
}
},
"name": {
"data": {
"type": "CardFile",
"id": "16"
}
},
"accountManager": {
"data": {
"type": "CardFile",
"id": "16"
}
},
"request": {
"data": {
"type": "CardFile",
"id": "7"
}
}
},
"links": { "self": "/jim_initialtest/api/v1/asset/1/53" }
}
}
Path: api/v1/assets/10 Request: Response: This example shows the maximum set of fields the endpoint can return, all populated. A real response only contains the data that applies to that record, so fields that are empty or not relevant are omitted — do not assume every field shown here will be present in every response.
Example PATCH
{
"data": {
"id": "1",
"type": "Asset",
"attributes": {
"assetCode": "AST-0001",
"priority": "Normal",
"status": "Booked",
"custRef": "AssetCustRef",
"reqDays": 10,
"reqHours": 2,
"serialNo": "123456ABCD",
"dateIn": "2024-06-24",
"dateOut": "2024-07-24",
"warDateIn": "2024-06-24",
"warDateOut": "2025-06-24",
"shipInfo": "Ship to loading dock B",
"useShipAddr": true,
"shipComment": "Deliver during business hours",
"itemDesc": "Multifunction printer",
"attn": "John Smith",
"comment": "Installed on level 3",
"BranchCode": "SYD",
"SubBranchCode": "SYD-NORTH",
"GLDeptCode": "SERVICE",
"eKMRequestThresholdOverrideNo": 500,
"eKMStatusCode": "OK",
"costCentre": "CC-100",
"costValue": 1250.00
},
"relationships": {
"owner": {
"data": {
"type": "CardFile",
"id": "1"
}
},
"ship": {
"data": {
"type": "CardFile",
"id": "2"
}
},
"item": {
"data": {
"type": "Item",
"id": "1"
}
},
"accountManager": {
"data": {
"type": "CardFile",
"id": "16"
}
},
"name": {
"data": {
"type": "CardFile",
"id": "16"
}
},
"request": {
"data": {
"type": "CardFile",
"id": "1"
}
}
}
}
}
{
"data": {
"id": "1",
"type": "Asset",
"attributes": {
"assetCode": "BCMB.1",
"priority": "Normal",
"status": "Booked",
"custRef": "CONTRACT.SUB",
"reqDays": 14,
"reqHours": 4,
"serialNo": "1234ABC-BCMB1",
"dateIn": "2025-10-03",
"dateOut": "2026-10-02",
"warDateIn": "2025-10-03",
"warDateOut": "2027-10-02",
"shipInfo": "Simple cust #1\r\nSimple Cust Address\r\nAARONS PASS NSW 2850",
"useShipAddr": false,
"shipComment": "Call ahead before delivery.",
"itemDesc": "MultiFunction Centre Type 2",
"attn": "Jane Smith",
"requestByName": "Email (Text)",
"comment": "Serviced under managed print agreement.",
"companyCode": "HAPPEN",
"BranchCode": "SYD",
"SubBranchCode": "SYD-NORTH",
"GLDeptCode": "SERVICE",
"eKMRequestThresholdOverrideNo": 250,
"eKMStatusCode": "ACTIVE",
"costCentre": "CC-100",
"costValue": 4250.00,
"groups": [
{
"type": "Region",
"id": 1,
"name": "East Coast"
}
]
},
"relationships": {
"owner": {
"data": {
"type": "CardFile",
"id": "6"
}
},
"ship": {
"data": {
"type": "CardFile",
"id": "6"
}
},
"item": {
"data": {
"type": "Item",
"id": "6"
}
},
"name": {
"data": {
"type": "CardFile",
"id": "16"
}
},
"accountManager": {
"data": {
"type": "CardFile",
"id": "16"
}
},
"request": {
"data": {
"type": "CardFile",
"id": "20"
}
}
},
"links": { "self": "/jim_initialtest/api/v1/asset/1" }
}
}