Skip to content

Introduction

Aimsio provides a set of API endpoints and supported actions to facilitate communication with external software platforms / ERPs.

Each Aimsio account can access two server options: sandbox and portal

  • sandbox is the test environment we used to implement and test configuration changes for an account before live deployment.

  • portal is the live environment where accounts store their live transactions

Authentication

Our API utilizes basic username and password authentication to access the API.

If you already have an Admin username set up for your account inside Aimsio, this can be used for API authentication. However, the best practice would be to set up a separate user for integration purposes and keep this set of credentials private only to the developer.

Aimsio users also require specific permissions to access our API. Please contact our support/integration team so they can enable the required permissions.

Throughput limitation

We currently limit API calls after calls exceed more than 10 calls per second. If our API receives too many requests (ie: if the queue takes longer than 5 seconds to return the call), the request will timeout.

Up to 10 parallel calls are permitted. We do not limit the number of sequential calls. If your organization requires more headroom to complete calls to our API, please get in touch with us.

Usage - Querying data

For most entities with GET requests supported, there are two endpoints we supported:

  • GET all objects of that type

  • GET one speficic object based on its unique identifier (GUID/Id)

When you send a GET all request, the system will return an JSON array, and each JSON contains the following properties:

  • dtype: The object type

  • guid/id: Unique identifier of the object, generated by the Aimsio system

  • updatedAt: Object's last update timestamp in epoch millseconds

Using the returned Guid or ID, you can then query each specific object from the GET single request.

Usage - Posting data

To upload data, please review the object properties and example requests for each POST endpoint.

For our Master Data endpoints, you can create/edit new entries into Aimsio system.

For some other endpoints like Invoice or Timecard, we don't allow POSTing new entries, but updating status of existing entries are supported.

Object types like NRBs or Crew/Equipment records are included in the JobOrder GET response, but have to be POSTed through their own endpoints.

  • Crew records: Employee endpoint

  • Equipment records: Equipment endpoint

  • NRB records: NRB endpoint

Download OpenAPI description
Languages
Servers
Mock server

https://api.aimsio.com/_mock/aimsio_api/

Sandbox

https://sandbox.aimsio.com/

Production

https://portal.aimsio.com/

Operations

BillableItem

billableItemGuidstring

Unique identifier and is automatically generated by Aimsio system. This is only used to update existing object

billableItemCodestringrequired

Unique identifier, visible to end users. Required for creating or updating an object

billableItemNamestringrequired
billableItemTypeUnamestring

Required when creating a new object. Either billableItemTypeUname or billableItemTypeName is required

Enum"labour""equipment""material""service""unit_billing""per_diem""accommodation""mileage""surcharge"
billableItemTypeNamestringrequired

Required when creating a new object. Either billableItemTypeUname or billableItemTypeName is required

billableItemIsTradebooleanrequired

Set this to true if billableItemTypeName = 'Labour'

billableItemIsEquipmentbooleanrequired

Set this to true if billableItemTypeName = 'Equipment'

billableItemCategorystring
billableItemDescriptionstring
billableItemStatusstring
billableItemDefaultRatenumberrequired
billableItemDefaultRateTypestringrequired

Either billableItemDefaultRateType or billableItemDefaultRateTypeUname is required'

billableItemDefaultRateTypeUnamestring

Either billableItemDefaultRateType or billableItemDefaultRateTypeUname is required'

billableItemDefaultRate2number
billableItemDefaultRateType2string

If billableItemDefaultRate2 is provided, either billableItemDefaultRateType2 or billableItemDefaultRateTypeUname2 is required

billableItemDefaultRateTypeUname2string

If billableItemDefaultRate2 is provided, either billableItemDefaultRateType2 or billableItemDefaultRateTypeUname2 is required

billableItemDefaultRate3number
billableItemDefaultRateType3string

If billableItemDefaultRate3 is provided, either billableItemDefaultRateType3 or billableItemDefaultRateTypeUname3 is required

billableItemDefaultRateTypeUname3string

If billableItemDefaultRate3 is provided, either billableItemDefaultRateType3 or billableItemDefaultRateTypeUname3 is required

billableItemDefaultCostnumber

Cost Rates are only available for certain customer tiers

billableItemDefaultCost2number

Cost Rates are only available for certain customer tiers

billableItemDefaultCost3number

Cost Rates are only available for certain customer tiers

billableItemGlAccountNumberstring

Applicable to accounts with GL Account master data enabled. Must be an existing GL Account number

billableItemGlAccountInfostringread-only
billableItemCreatedAtintegerread-only

Timestamp in epoch millseconds

billableItemCreatedByUserNamestringread-only
billableItemCreatedByFullNamestringread-only
billableItemUpdatedAtinteger

Timestamp in epoch millseconds

billableItemLastModifiedByUserNamestringread-only
billableItemLastModifiedByFullNamestringread-only
billableItemIsDeletedbooleanread-only
billableItemFormDataobject(Additional Form Data (attached to objects))

Read-only schema used in GET requests to display object's custom fields data. For POST requests, refer to CustomFieldDataList

customFieldDataListArray of objects(CustomFieldData)write-only
{ "billableItemGuid": "string", "billableItemCode": "string", "billableItemName": "string", "billableItemTypeUname": "labour", "billableItemTypeName": "string", "billableItemIsTrade": true, "billableItemIsEquipment": true, "billableItemCategory": "string", "billableItemDescription": "string", "billableItemStatus": "string", "billableItemDefaultRate": 0, "billableItemDefaultRateType": "string", "billableItemDefaultRateTypeUname": "string", "billableItemDefaultRate2": 0, "billableItemDefaultRateType2": "string", "billableItemDefaultRateTypeUname2": "string", "billableItemDefaultRate3": 0, "billableItemDefaultRateType3": "string", "billableItemDefaultRateTypeUname3": "string", "billableItemDefaultCost": 0, "billableItemDefaultCost2": 0, "billableItemDefaultCost3": 0, "billableItemGlAccountNumber": "string", "billableItemGlAccountInfo": "string", "billableItemCreatedAt": 0, "billableItemCreatedByUserName": "string", "billableItemCreatedByFullName": "string", "billableItemUpdatedAt": 0, "billableItemLastModifiedByUserName": "string", "billableItemLastModifiedByFullName": "string", "billableItemIsDeleted": true, "billableItemFormData": { "formDataFormTypeUname": "string", "formDataGuid": "string", "formDataFieldDataList": [] } }

Pricebook

priceBookGuidstring
priceBookNamestringrequired
priceBookActionstringwrite-onlyrequired
Enum"ADD_OR_UPDATE""REPLACE"
priceBookIsDeletedbooleanread-only
priceBookCreatedAtintegerread-only
priceBookCreatedByUserNamestringread-only
priceBookCreatedByFullNamestringread-only
priceBookUpdatedAtintegerread-only
priceBookLastModifiedByUserNamestringread-only
priceBookLastModifiedByFullNamestringread-only
priceBookOriginReferencestring
priceItemListArray of objects(PriceItem)required
priceItemList[].​priceItemBillableItemGuidstringread-only
priceItemList[].​priceItemBillableItemNamestringrequired
priceItemList[].​priceItemBillableItemCodestringrequired
priceItemList[].​priceItemRatenumberrequired
priceItemList[].​priceItemRateTypeUnamestringrequired

Either priceItemRateTypeUname or priceItemRateType is required

priceItemList[].​priceItemRateTypestring
priceItemList[].​priceItemRate2number
priceItemList[].​priceItemRateTypeUname2string

If priceItemRate2 is provided, either billableItemDefaultRateType2 or billableItemDefaultRateTypeUname2 is required

priceItemList[].​priceItemRateType2string
priceItemList[].​priceItemRate3number
priceItemList[].​priceItemRateTypeUname3string

If priceItemRate3 is provided, either billableItemDefaultRateType3 or billableItemDefaultRateTypeUname3 is required

priceItemList[].​priceItemRateType3string
priceItemList[].​priceItemDefaultCostnumber
priceItemList[].​priceItemDefaultCost2number
priceItemList[].​priceItemDefaultCost3number
priceItemList[].​priceItemBillableItemIsDeletedbooleanread-only
priceItemList[].​priceItemFormDataobject(Additional Form Data (attached to objects))

Read-only schema used in GET requests to display object's custom fields data. For POST requests, refer to CustomFieldDataList

priceItemList[].​customFieldDataListArray of objects(CustomFieldData)write-only
{ "priceBookGuid": "string", "priceBookName": "string", "priceBookIsDeleted": true, "priceBookCreatedAt": 0, "priceBookCreatedByUserName": "string", "priceBookCreatedByFullName": "string", "priceBookUpdatedAt": 0, "priceBookLastModifiedByUserName": "string", "priceBookLastModifiedByFullName": "string", "priceBookOriginReference": "string", "priceItemList": [ {} ] }

PriceItem

priceItemBillableItemGuidstringread-only
priceItemBillableItemNamestringrequired
priceItemBillableItemCodestringrequired
priceItemRatenumberrequired
priceItemRateTypeUnamestringrequired

Either priceItemRateTypeUname or priceItemRateType is required

priceItemRateTypestring
priceItemRate2number
priceItemRateTypeUname2string

If priceItemRate2 is provided, either billableItemDefaultRateType2 or billableItemDefaultRateTypeUname2 is required

priceItemRateType2string
priceItemRate3number
priceItemRateTypeUname3string

If priceItemRate3 is provided, either billableItemDefaultRateType3 or billableItemDefaultRateTypeUname3 is required

priceItemRateType3string
priceItemDefaultCostnumber
priceItemDefaultCost2number
priceItemDefaultCost3number
priceItemBillableItemIsDeletedbooleanread-only
priceItemFormDataobject(Additional Form Data (attached to objects))

Read-only schema used in GET requests to display object's custom fields data. For POST requests, refer to CustomFieldDataList

customFieldDataListArray of objects(CustomFieldData)write-only
{ "priceItemBillableItemGuid": "string", "priceItemBillableItemName": "string", "priceItemBillableItemCode": "string", "priceItemRate": 0, "priceItemRateTypeUname": "string", "priceItemRateType": "string", "priceItemRate2": 0, "priceItemRateTypeUname2": "string", "priceItemRateType2": "string", "priceItemRate3": 0, "priceItemRateTypeUname3": "string", "priceItemRateType3": "string", "priceItemDefaultCost": 0, "priceItemDefaultCost2": 0, "priceItemDefaultCost3": 0, "priceItemBillableItemIsDeleted": true, "priceItemFormData": { "formDataFormTypeUname": "string", "formDataGuid": "string", "formDataFieldDataList": [] } }
Operations
Operations
Operations