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
Operations

EquipmentRecord

Schema to display equipment assignment to a job. When this schema is included in Equipment POST request, the system will accepts job numbers to create new assignments (start date defaults to current date), and closes out any existing active assignments.

equipmentRecordGuidstringread-only
equipmentRecordEquipmentGuidstringread-only
equipmentRecordEquipmentCodestringread-only
equipmentRecordEquipmentDescriptionstringread-only
equipmentRecordJobNumberstringrequired

Must be an existing job number with Active, Assigned or Unassigned status

equipmentRecordStartDateintegerread-only

Timestamp in epoch milliseconds

equipmentRecordEndDateintegerread-only

Timestamp in epoch milliseconds

equipmentRecordLocationstringread-only
equipmentRecordNotesstringread-only
equipmentRecordGroupstringread-only
{ "equipmentRecordGuid": "string", "equipmentRecordEquipmentGuid": "string", "equipmentRecordEquipmentCode": "string", "equipmentRecordEquipmentDescription": "string", "equipmentRecordJobNumber": "string", "equipmentRecordStartDate": 0, "equipmentRecordEndDate": 0, "equipmentRecordLocation": "string", "equipmentRecordNotes": "string", "equipmentRecordGroup": "string" }

CrewRecord

Schema to display employee assignment to a job. When this schema is included in Employee POST request, the system will accepts job numbers to create new assignments (start date defaults to current date), and closes out any existing active assignments.

crewRecordIdintegerread-only
crewRecordEmployeeGuidstringread-only
crewRecordEmployeeNumberstringread-only
crewRecordEmployeeFullNamestringread-only
crewRecordTradestringread-only
crewRecordStatusstringread-only
Enum"New""WaitingForConfirmation""Confirmed""Fired"
crewRecordJobNumberstringrequired

Must be an existing job number with Active, Assigned or Unassigned status

crewRecordStartDateintegerread-only

Timestamp in epoch milliseconds

crewRecordEndDateintegerread-only

Timestamp in epoch milliseconds

crewRecordLocationstringread-only
crewRecordNotesstringread-only
crewRecordGroupstringread-only
{ "crewRecordId": 0, "crewRecordEmployeeGuid": "string", "crewRecordEmployeeNumber": "string", "crewRecordEmployeeFullName": "string", "crewRecordTrade": "string", "crewRecordStatus": "New", "crewRecordJobNumber": "string", "crewRecordStartDate": 0, "crewRecordEndDate": 0, "crewRecordLocation": "string", "crewRecordNotes": "string", "crewRecordGroup": "string" }

JobOrder

jobIdintegerread-only
jobGuidstring

Unique identifier, visible to developers and Aimsio admins. A new object must include either guid property or number property or both.

jobNumberstringrequired

Unique identifier, visible to end users. A new object must include either guid property or number property or both

jobNamestringrequired
jobDescriptionstring
jobStatusstringrequired

If the job has an assignee, the status is automatically set to Assigned, else it's default to Unassigned. For POST requests, the only applicable value is Finished for existing jobs.

Enum"Unassigned""Assigned""Active""Finished""Cancelled""Deleted"
jobTypeUnamestringread-only
jobClientCodestringrequired

Must be an existing customer code

jobClientGuidstringread-only
jobClientNamestringread-only
jobPriceBookNamestringrequired

Must be an existing pricebook name

jobPriceBookGuidstringread-only
jobStartDateintegerrequired

Timestamp in epoch millseconds

jobEndDateinteger

Timestamp in epoch millseconds. Must be equal or after jobStartDate

jobCreatedAtintegerread-only

Timestamp in epoch millseconds

jobUpdatedAtintegerread-only

Timestamp in epoch millseconds

jobShowInDispatchingboolean
jobAssigneeEmployeeNumberstring

Must be an existing employee number

jobAssigneeFullNamestringread-only
jobAssigneeUserNamestringread-only
jobAddressstring
jobLocationCodestring

Must be an existing location code

jobLocationNamestringread-only
jobLocationLatnumber
jobLocationLongnumber
jobDirectionstring
jobWBSScheduleobject(WBSSchedule)
jobWBSScheduleGuidstringread-only
jobNRBsArray of objects(NonrecurringBillableItem)read-only
jobCrewRecordsArray of objects(CrewRecord)read-only
jobEquipmentRecordsArray of objects(EquipmentRecord)read-only
jobOrderFormDataobject(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
{ "jobId": 0, "jobGuid": "string", "jobNumber": "string", "jobName": "string", "jobDescription": "string", "jobStatus": "Unassigned", "jobTypeUname": "string", "jobClientCode": "string", "jobClientGuid": "string", "jobClientName": "string", "jobPriceBookName": "string", "jobPriceBookGuid": "string", "jobStartDate": 0, "jobEndDate": 0, "jobCreatedAt": 0, "jobUpdatedAt": 0, "jobShowInDispatching": true, "jobAssigneeEmployeeNumber": "string", "jobAssigneeFullName": "string", "jobAssigneeUserName": "string", "jobAddress": "string", "jobLocationCode": "string", "jobLocationName": "string", "jobLocationLat": 0, "jobLocationLong": 0, "jobDirection": "string", "jobWBSSchedule": { "jobScheduleGuid": "string", "jobScheduleBudgetEntryOption": "PerDetailedBreakDown", "jobScheduleContractValueEntryOption": "PerJob", "jobScheduleChangeSettingOption": "Manual", "jobScheduleConversionRules": [], "jobScheduleIsDeleted": true, "jobScheduleIncludeNRBInNonBillableCalculation": true, "jobScheduleActualsWithNoWBS": [], "jobScheduleRootActivity": {}, "jobScheduleBudgetNonBillablePriceBookGuid": "string", "jobScheduleBudgetNonBillablePriceBookName": "string", "jobScheduleCreatedAt": 0, "jobScheduleUpdatedAt": 0 }, "jobWBSScheduleGuid": "string", "jobNRBs": [ {} ], "jobCrewRecords": [ {} ], "jobEquipmentRecords": [ {} ], "jobOrderFormData": { "formDataFormTypeUname": "string", "formDataGuid": "string", "formDataFieldDataList": [] } }

WBSSchedule

jobScheduleGuidstring
jobScheduleBudgetEntryOptionstring
Enum"PerDetailedBreakDown""PerWBS""PerBillableItem"
jobScheduleContractValueEntryOptionstring
Enum"PerJob""PerWBS"
jobScheduleChangeSettingOptionstring
Enum"Manual""AutomatedFromChangeOrder"
jobScheduleConversionRulesArray of objects
jobScheduleIsDeletedbooleanread-only
jobScheduleIncludeNRBInNonBillableCalculationboolean
jobScheduleActualsWithNoWBSArray of objects(WBSActivityQty)
jobScheduleRootActivityobject(WBSActivity)
jobScheduleBudgetNonBillablePriceBookGuidstringread-only
jobScheduleBudgetNonBillablePriceBookNamestringread-only
jobScheduleCreatedAtintegerread-only
jobScheduleUpdatedAtintegerread-only
{ "jobScheduleGuid": "string", "jobScheduleBudgetEntryOption": "PerDetailedBreakDown", "jobScheduleContractValueEntryOption": "PerJob", "jobScheduleChangeSettingOption": "Manual", "jobScheduleConversionRules": [ {} ], "jobScheduleIsDeleted": true, "jobScheduleIncludeNRBInNonBillableCalculation": true, "jobScheduleActualsWithNoWBS": [ {} ], "jobScheduleRootActivity": { "wbsActivityGuid": "string", "wbsActivitySubCode": "string", "wbsActivitySubCostCode": "string", "wbsActivityName": "string", "wbsActivityCode": "string", "wbsActivityCostCode": "string", "wbsActivityCodeAndName": "string", "wbsActivitySharedIdentifier": "string", "wbsActivityPath": "string", "wbsActivityPlannedStartDate": 0, "wbsActivityPlannedEndDate": 0, "wbsActivityRevisedStartDate": 0, "wbsActivityRevisedEndDate": 0, "wbsActivityActualStartDate": 0, "wbsActivityActualLastDate": 0, "wbsActivityHierarchicalOrder": "string", "wbsActivityUoM": "string", "wbsActivityContractValue": 0, "wbsActivityOriginalContractValue": 0, "wbsActivityChangesToContractValue": 0, "wbsActivityPlannedUnitCost": 0, "wbsActivityContractUnitRate": 0, "wbsActivityRevenueUnitRate": 0, "wbsActivityCostUnitRate": 0, "wbsActivityEarnedValue": 0, "wbsActivityEarnedRevenue": 0, "wbsActivityOriginalQuantity": 0, "wbsActivityChangesToQuantity": 0, "wbsActivityRemainingQuantity": 0, "wbsActivityBudget": 0, "wbsActivityBudgetOverride": 0, "wbsActivityRemainingBudget": 0, "wbsActivityRemainingSpend": "string", "wbsActivityCommittedPO": 0, "wbsActivityCost": 0, "wbsActivityTimecardHours": 0, "wbsActivityEAC": "string", "wbsActivityEACMethod": "TREND_BASED", "wbsActivityCPI": "string", "wbsActivityForecastedRemainingCPI": "string", "wbsActivityEstimateToComplete": "string", "wbsActivityMargin": 0, "wbsActivityPlannedMarginPercentage": 0, "wbsActivityMarginPercentage": 0, "wbsActivityTotal": 0, "wbsActivityCurrent": 0, "wbsActivityProgress": 0, "wbsActivityWeight": 0, "wbsActivityInvoiced": 0, "wbsActivityActualDollarBillable": 0, "wbsActivityActualDollarNonBillable": 0, "wbsActivityNotes": "string", "wbsActivityDetailedBreakdown": null, "wbsActivityChildrenCount": 0, "wbsActivityChildren": [] }, "jobScheduleBudgetNonBillablePriceBookGuid": "string", "jobScheduleBudgetNonBillablePriceBookName": "string", "jobScheduleCreatedAt": 0, "jobScheduleUpdatedAt": 0 }

WBSActivityQty

wbsActivityBreakdownGuidstring
wbsActivityBreakdownParentActivityGuidstringread-only
wbsActivityBreakdownBillableTypeUnamestring
Enum"labour""equipment""material""service""unit_billing""per_diem""accommodation""mileage""surcharge"
wbsActivityBreakdownBillableTypeNamestringread-only
wbsActivityBreakdownBudgetQtynumber
wbsActivityBreakdownBudgetRevenuenumber
wbsActivityBreakdownActualQtyUsednumber
wbsActivityBreakdownActualQtyExtranumber
wbsActivityBreakdownActualTotalUsednumber
wbsActivityBreakdownActualTotalExtranumber
{ "wbsActivityBreakdownGuid": "string", "wbsActivityBreakdownParentActivityGuid": "string", "wbsActivityBreakdownBillableTypeUname": "labour", "wbsActivityBreakdownBillableTypeName": "string", "wbsActivityBreakdownBudgetQty": 0, "wbsActivityBreakdownBudgetRevenue": 0, "wbsActivityBreakdownActualQtyUsed": 0, "wbsActivityBreakdownActualQtyExtra": 0, "wbsActivityBreakdownActualTotalUsed": 0, "wbsActivityBreakdownActualTotalExtra": 0 }

WBSActivity

wbsActivityGuidstring

Unique identifier, visible to developers and Aimsio admins. A new object must include either guid property or number property or both.

wbsActivitySubCodestringrequired
wbsActivitySubCostCodestring
wbsActivityNamestringrequired

WBS activity name

wbsActivityCodestringread-only

Concatenation of parent WBS Activity code + current WBS Activity's subcode

wbsActivityCostCodestringread-only

Concatenation of parent WBS Activity cost code + current WBS Activity's sub cost code

wbsActivityCodeAndNamestringread-only

Combined code and name for display

wbsActivitySharedIdentifierstringrequired

External system ID

wbsActivityPathstringread-only
wbsActivityPlannedStartDateintegerrequired

Timestamp in epoch milliseconds

wbsActivityPlannedEndDateintegerrequired

Timestamp in epoch milliseconds

wbsActivityRevisedStartDateinteger

Timestamp in epoch milliseconds

wbsActivityRevisedEndDateinteger

Timestamp in epoch milliseconds

wbsActivityActualStartDateinteger

Timestamp in epoch milliseconds

wbsActivityActualLastDateinteger

Timestamp in epoch milliseconds

wbsActivityHierarchicalOrderstringrequired

Position in the WBS hierarchy

wbsActivityUoMstring

Unit of measure

wbsActivityContractValuenumberread-only
wbsActivityOriginalContractValuenumber
wbsActivityChangesToContractValuenumber
wbsActivityPlannedUnitCostnumberread-only
wbsActivityContractUnitRatenumberread-only
wbsActivityRevenueUnitRatenumberread-only
wbsActivityCostUnitRatenumber
wbsActivityEarnedValuenumberread-only
wbsActivityEarnedRevenuenumberread-only
wbsActivityOriginalQuantitynumber
wbsActivityChangesToQuantitynumberread-only
wbsActivityRemainingQuantitynumberread-only
wbsActivityBudgetnumberread-only
wbsActivityBudgetOverridenumber
wbsActivityRemainingBudgetnumberread-only
wbsActivityRemainingSpendstringread-only
wbsActivityCommittedPOnumberread-only
wbsActivityCostnumberread-only
wbsActivityTimecardHoursnumberread-only
wbsActivityEACstringread-only
wbsActivityEACMethodstring
Enum"TREND_BASED""PERFORMANCE_ADJUSTED""BOTTOM_UP"
wbsActivityCPIstringread-only
wbsActivityForecastedRemainingCPIstring
wbsActivityEstimateToCompletestring
wbsActivityMarginnumberread-only
wbsActivityPlannedMarginPercentagenumberread-only
wbsActivityMarginPercentagenumberread-only
wbsActivityTotalnumberrequired
wbsActivityCurrentnumber
wbsActivityProgressnumberread-only
wbsActivityWeightinteger
wbsActivityInvoicednumberread-only
wbsActivityActualDollarBillablenumberread-only
wbsActivityActualDollarNonBillablenumberread-only
wbsActivityNotesstring
wbsActivityDetailedBreakdownany
wbsActivityChildrenCountinteger

Number of child activities

wbsActivityChildrenArray of objects(WBSActivityQty)

Child WBSActivity

{ "wbsActivityGuid": "string", "wbsActivitySubCode": "string", "wbsActivitySubCostCode": "string", "wbsActivityName": "string", "wbsActivityCode": "string", "wbsActivityCostCode": "string", "wbsActivityCodeAndName": "string", "wbsActivitySharedIdentifier": "string", "wbsActivityPath": "string", "wbsActivityPlannedStartDate": 0, "wbsActivityPlannedEndDate": 0, "wbsActivityRevisedStartDate": 0, "wbsActivityRevisedEndDate": 0, "wbsActivityActualStartDate": 0, "wbsActivityActualLastDate": 0, "wbsActivityHierarchicalOrder": "string", "wbsActivityUoM": "string", "wbsActivityContractValue": 0, "wbsActivityOriginalContractValue": 0, "wbsActivityChangesToContractValue": 0, "wbsActivityPlannedUnitCost": 0, "wbsActivityContractUnitRate": 0, "wbsActivityRevenueUnitRate": 0, "wbsActivityCostUnitRate": 0, "wbsActivityEarnedValue": 0, "wbsActivityEarnedRevenue": 0, "wbsActivityOriginalQuantity": 0, "wbsActivityChangesToQuantity": 0, "wbsActivityRemainingQuantity": 0, "wbsActivityBudget": 0, "wbsActivityBudgetOverride": 0, "wbsActivityRemainingBudget": 0, "wbsActivityRemainingSpend": "string", "wbsActivityCommittedPO": 0, "wbsActivityCost": 0, "wbsActivityTimecardHours": 0, "wbsActivityEAC": "string", "wbsActivityEACMethod": "TREND_BASED", "wbsActivityCPI": "string", "wbsActivityForecastedRemainingCPI": "string", "wbsActivityEstimateToComplete": "string", "wbsActivityMargin": 0, "wbsActivityPlannedMarginPercentage": 0, "wbsActivityMarginPercentage": 0, "wbsActivityTotal": 0, "wbsActivityCurrent": 0, "wbsActivityProgress": 0, "wbsActivityWeight": 0, "wbsActivityInvoiced": 0, "wbsActivityActualDollarBillable": 0, "wbsActivityActualDollarNonBillable": 0, "wbsActivityNotes": "string", "wbsActivityDetailedBreakdown": null, "wbsActivityChildrenCount": 0, "wbsActivityChildren": [ {} ] }

NonrecurringBillableItem

nrbGuidstring

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

nrbExternalIdstringrequired

Recommended property to uniquely identify a new or existing object.

nrbOriginReferencestring

This property can be used to uniquely identify a new or existing object.

nrbJobOrderNumberstringrequired

Must be an existing job number

nrbWBSGuidstringread-only
nrbWBSSharedIdentifierstring

If provided, must be a valid WBS shared identifier under the NRB's job

nrbPONumberstring
nrbPurchaseOrderGuidstringread-only
nrbPurchaseOrderCostItemOriginReferencestringread-only
nrbInvoiceNumberstring
nrbInvoiceDateinteger

Timestamp in epoch millseconds

nrbNamestringrequired
nrbTypeUnamestring

For new objects, either nrbTypeUname or nrbTypeName is required

nrbTypeNamestringrequired

For new objects, either nrbTypeUname or nrbTypeName is required

nrbDocumentTypestring
Enum"RECEIPT_AP_INVOICE""RECEIPT_PACKING_SLIP""RECEIPT_FIELD_TICKET""RECEIPT_BOL"
nrbAccountTypestringrequired
Enum"Billable""Not Billable"
nrbIsBillablebooleanrequired
nrbVendorGuidstringread-only
nrbVendorCodestringrequired

Must be a valid existing company code that doesn't belong to "Client" type

nrbRatenumberrequired
nrbQuantitynumberrequired
nrbVendorTaxnumber
nrbUpchargenumber
nrbMarkupAppliesOnstring
Enum"SUB_TOTAL""SUB_TOTAL_AND_VENDOR_TAX"
nrbTotalAfterMarkupnumberread-only

Calculated by the system. nrbRate x nrbQuantity (+ nrbVendorTax if markup applies to vendor tax) x nrbUpcharge

nrbIsExportedboolean
isInternalboolean
nrbShouldReconcileWithPOboolean

If this flag is set to true, nrbExternalId and nrbPONumber are required

nrbBilledInGuidstringread-only
nrbBilledInNamestringread-only
nrbFileNamestring
nrbFileMimeTypestringwrite-only

Required if nrbFileName is provided

Enum"application/pdf""image/png""image/jpeg"
nrbFileBase64Contentstringwrite-only

Required if nrbFileName is provided

nrbNotesstring
nrbCreatedAtintegerread-only

Timestamp in epoch milliseconds

nrbCreatedByUserNamestringread-only
nrbCreatedByFullNamestringread-only
nrbUpdatedAtintegerread-only

Timestamp in epoch milliseconds

nrbLineItemsArray of objectsread-only
nrbParentGuidstringread-only

The parent NRB guid if this is a child NRB

nrbParentExternalIdstringread-only

The parent NRB external ID if this is a child NRB

nrbChildrenArray of NonrecurringBillableItem

Children NRB items. Only appicable if nrbDocumentType = RECEIPT_AP_INVOICE. Children nrbDocumentType must not be RECEIPT_AP_INVOICE

{ "nrbGuid": "string", "nrbExternalId": "string", "nrbOriginReference": "string", "nrbJobOrderNumber": "string", "nrbWBSGuid": "string", "nrbWBSSharedIdentifier": "string", "nrbPONumber": "string", "nrbPurchaseOrderGuid": "string", "nrbPurchaseOrderCostItemOriginReference": "string", "nrbInvoiceNumber": "string", "nrbInvoiceDate": 0, "nrbName": "string", "nrbTypeUname": "string", "nrbTypeName": "string", "nrbDocumentType": "RECEIPT_AP_INVOICE", "nrbAccountType": "Billable", "nrbIsBillable": true, "nrbVendorGuid": "string", "nrbVendorCode": "string", "nrbRate": 0, "nrbQuantity": 0, "nrbVendorTax": 0, "nrbUpcharge": 0, "nrbMarkupAppliesOn": "SUB_TOTAL", "nrbTotalAfterMarkup": 0, "nrbIsExported": true, "isInternal": true, "nrbShouldReconcileWithPO": true, "nrbBilledInGuid": "string", "nrbBilledInName": "string", "nrbFileName": "string", "nrbNotes": "string", "nrbCreatedAt": 0, "nrbCreatedByUserName": "string", "nrbCreatedByFullName": "string", "nrbUpdatedAt": 0, "nrbLineItems": [ {} ], "nrbParentGuid": "string", "nrbParentExternalId": "string", "nrbChildren": [ null ] }

Request

Create/update job order(s)

Security
basicAuth
Bodyapplication/json
jobListArray of objects(JobOrder)
curl -i -X POST \
  -u <username>:<password> \
  https://api.aimsio.com/_mock/aimsio_api/rest/api/standard/v1/JobOrder \
  -H 'Content-Type: application/json' \
  -d '{
    "jobList": [
      {
        "jobNumber": "JOB20250514",
        "jobName": "Directional Drilling",
        "jobDescription": "Details are attached below",
        "jobStatus": "Assigned",
        "jobTypeUname": "wmt_job",
        "jobClientCode": "ERS",
        "jobPriceBookName": "Default",
        "jobStartDate": 1747182163000,
        "jobEndDate": 1749860563000,
        "jobShowInDispatching": true,
        "jobAssigneeEmployeeNumber": "EMP002",
        "jobAddress": "Job Address",
        "jobLocationCode": "RD",
        "jobLocationLat": 0,
        "jobLocationLong": 0,
        "jobDirection": "Follow the directions as attached below.  Please review them in the App before you depart.",
        "customFieldDataList": [
          {
            "customFieldDataDtype": "SelectFieldData",
            "customFieldDataUname": "work_type",
            "customFieldDataStringValue": "T & M"
          },
          {
            "customFieldDataDtype": "LookupFieldData",
            "customFieldDataUname": "state_province",
            "customFieldDataStringValue": "Alberta"
          }
        ]
      }
    ]
  }'

Responses

Bodyapplication/json
dtypestring
Default "IntegrationImportResult"
idinteger
guidstring
importConfigurationstring
numberOfEntitiesCreatedinteger
numberOfEntitiesEditedinteger
numberOfEntitiesEditedWithErrorsinteger
numberOfEntitiesNotImportedDueToErrorsinteger
extrastring
noticesArray of objects
updatedAtinteger
importResultTypestring
numberOfEntitiesImportedinteger
Response
application/json
{ "dtype": "IntegrationImportResult", "id": 0, "guid": "4b3f8eef-4307-4068-ba88-9ef491945122", "importConfiguration": null, "numberOfEntitiesCreated": 0, "numberOfEntitiesEdited": 1, "numberOfEntitiesEditedWithErrors": 0, "numberOfEntitiesNotImportedDueToErrors": 0, "extra": null, "notices": [], "updatedAt": 1746815305412, "importResultType": null, "numberOfEntitiesImported": 1 }

Request

Retrieve all job orders in an account

Security
basicAuth
curl -i -X GET \
  -u <username>:<password> \
  https://api.aimsio.com/_mock/aimsio_api/rest/api/standard/v1/JobOrder

Responses

OK

Bodyapplication/json
valueArray of objects
Response
application/json
{ "value": [ {}, {}, {}, {}, {}, {}, {}, {} ] }

Request

Retrieve one job order object by provided GUID

Security
basicAuth
Path
jobOrderGuidstringrequired
curl -i -X GET \
  -u <username>:<password> \
  'https://api.aimsio.com/_mock/aimsio_api/rest/api/standard/v1/JobOrder/{jobOrderGuid}'

Responses

Successful response

Bodyapplication/json
jobIdintegerread-only
jobGuidstring

Unique identifier, visible to developers and Aimsio admins. A new object must include either guid property or number property or both.

jobNumberstringrequired

Unique identifier, visible to end users. A new object must include either guid property or number property or both

jobNamestringrequired
jobDescriptionstring
jobStatusstringrequired

If the job has an assignee, the status is automatically set to Assigned, else it's default to Unassigned. For POST requests, the only applicable value is Finished for existing jobs.

Enum"Unassigned""Assigned""Active""Finished""Cancelled""Deleted"
jobTypeUnamestringread-only
jobClientCodestringrequired

Must be an existing customer code

jobClientGuidstringread-only
jobClientNamestringread-only
jobPriceBookNamestringrequired

Must be an existing pricebook name

jobPriceBookGuidstringread-only
jobStartDateintegerrequired

Timestamp in epoch millseconds

jobEndDateinteger

Timestamp in epoch millseconds. Must be equal or after jobStartDate

jobCreatedAtintegerread-only

Timestamp in epoch millseconds

jobUpdatedAtintegerread-only

Timestamp in epoch millseconds

jobShowInDispatchingboolean
jobAssigneeEmployeeNumberstring

Must be an existing employee number

jobAssigneeFullNamestringread-only
jobAssigneeUserNamestringread-only
jobAddressstring
jobLocationCodestring

Must be an existing location code

jobLocationNamestringread-only
jobLocationLatnumber
jobLocationLongnumber
jobDirectionstring
jobWBSScheduleobject(WBSSchedule)
jobWBSScheduleGuidstringread-only
jobNRBsArray of objects(NonrecurringBillableItem)read-only
jobCrewRecordsArray of objects(CrewRecord)read-only
jobEquipmentRecordsArray of objects(EquipmentRecord)read-only
jobOrderFormDataobject(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

Response
application/json
{ "jobId": 0, "jobGuid": "string", "jobNumber": "string", "jobName": "string", "jobDescription": "string", "jobStatus": "Unassigned", "jobTypeUname": "string", "jobClientCode": "string", "jobClientGuid": "string", "jobClientName": "string", "jobPriceBookName": "string", "jobPriceBookGuid": "string", "jobStartDate": 0, "jobEndDate": 0, "jobCreatedAt": 0, "jobUpdatedAt": 0, "jobShowInDispatching": true, "jobAssigneeEmployeeNumber": "string", "jobAssigneeFullName": "string", "jobAssigneeUserName": "string", "jobAddress": "string", "jobLocationCode": "string", "jobLocationName": "string", "jobLocationLat": 0, "jobLocationLong": 0, "jobDirection": "string", "jobWBSSchedule": { "jobScheduleGuid": "string", "jobScheduleBudgetEntryOption": "PerDetailedBreakDown", "jobScheduleContractValueEntryOption": "PerJob", "jobScheduleChangeSettingOption": "Manual", "jobScheduleConversionRules": [], "jobScheduleIsDeleted": true, "jobScheduleIncludeNRBInNonBillableCalculation": true, "jobScheduleActualsWithNoWBS": [], "jobScheduleRootActivity": {}, "jobScheduleBudgetNonBillablePriceBookGuid": "string", "jobScheduleBudgetNonBillablePriceBookName": "string", "jobScheduleCreatedAt": 0, "jobScheduleUpdatedAt": 0 }, "jobWBSScheduleGuid": "string", "jobNRBs": [ {} ], "jobCrewRecords": [ {} ], "jobEquipmentRecords": [ {} ], "jobOrderFormData": { "formDataFormTypeUname": "string", "formDataGuid": "string", "formDataFieldDataList": [] } }
Operations
Operations