NAV
Release 1.24

Helm CONNECT API Documentation


Overview & Policies

Please read all Overview and Policies sections carefully prior to using Helm CONNECT APIs. We reserve the right to revoke access to our APIs if we observe inappropriate behavior.

Notices

Notice: In 1.24 endpoints that return a “Next” link got changed. Please read notice here

API Authorization

All API HTTP requests must have the following headers attached

API-Key: <key>,
Content-Type: application/json

The key comes from the API key management section of the Users App.

User Defined Fields

Purpose

Data Model

User Defined Field Types

Account Type

URI

api/v2/public/accounttypes

Supported Verbs

Data Models

Account Type Model

{
    "Id": <GUID>,
    "Name": <string>,
    "IsCustomer": <boolean>,
    "IsAgent": <boolean>,
    "IsCompetitor": <boolean>
}

Account Type Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Account Types

URI

GET api/v2/public/accounttypes

Example Usage

GET api/v2/public/accounttypes

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Account Types in the format of the Account Types Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Account Type Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Either one of:


Activities

Create/Update Activity

URI

api/v1/core/activities/CreateOrUpdateActivity

Supported Verbs

Required Parameters

Data Model

Activity Model

  {
    "Id": <Guid>,
    "VesselId": <GUID>,
    "ActivityTypeId": <GUID>,
    "FromLocationId": <Guid>,
    "ToLocationId": <Guid>,
    "PlannedStartDate": <date>,
    "PlannedEndDate": <date>,
    "StartDate": <date>,
    "EndDate": <date>,
    "RecordedByPersonId": <GUID>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Activity Object Fields

Return Value

Action Accepted

  {
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>,
        "Details": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Activities

URI

api/v1/core/activities/FindActivities

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <Guid>,
          "VesselId": <GUID>,
          "ActivityTypeId": <GUID>,
          "FromLocationId": <Guid>,
          "ToLocationId": <Guid>,
          "PlannedStartDate": <date>,
          "PlannedEndDate": <date>,
          "StartDate": <date>,
          "EndDate": <date>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
        },
        ...
      ]
    }
  }

Archive Activity

URI

api/v1/core/activities/ArchiveActivity

Supported Verbs

Required Parameters

Data Model

Archive Activity Model

  {
    "Id": <Guid>
  }

Archive Activity Object Fields

Return Value

Action Accepted

  {
    "ActionType": "Archive",
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>
        "Message": <string>
      },
      ...
    ]
  }

Action Rejected

  "Data": <Array>

Create/Update Job Activity

URI

api/v1/jobs/activities/CreateOrUpdateJobActivity

Supported Verbs

Required Parameters

Data Model

Job Activity Model

  {
    "Id": <Guid>,
    "JobId": <GUID>,
    "ActivityTypeId": <GUID>,
    "FromLocationId": <Guid>,
    "ToLocationId": <Guid>,
    "PlannedStartDate": <date>,
    "PlannedEndDate": <date>,
    "StartDate": <date>,
    "EndDate": <date>,
    "IsStartDateAutomatic": <boolean>,
    "IsEndDateAutomatic": <boolean>,
    "RecordedByPersonId": <GUID>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Job Activity Object Fields

Return Value

Action Accepted

  {
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>,
        "Details": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Job Activities

URI

api/v1/jobs/activities/FindJobActivities

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "JobId": <GUID>,
          "ResourceId": <GUID>,
          "ActivityTypeId": <GUID>,
          "FromLocationId": <GUID>,
          "ToLocationId": <GUID>,
          "PlannedStartDate": <date>,
          "PlannedEndDate": <date>,
          "StartDate": <date>,
          "EndDate": <date>,
          "IsStartDateAutomatic": <boolean>,
          "IsEndDateAutomatic": <boolean>,
          "RecordedByPersonId": <GUID>,
          "UserDefined": UserDefinedDataModel (see User Defined Fields section for more details)
        },
        ...
      ]
    }
  }

Activity Type

URI

api/v2/public/activitytypes

Supported Verbs

Data Models

Activity Type Model

{
    "Id": <GUID>,
    "Name": <string>,
    "AccountingCode": <string>,
    "Type": <string>,
    "Tags": <Array>
    [
        {
            "Id": <GUID>,
            "Name": <string>,
        },
        ...
    ]
}

Activity Type Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Activity Types

URI

GET api/v2/public/activitytypes

or

GET api/v2/public/activitytypes/{Id}

Example Usage

// Get a paginated response of all activity types
GET api/v2/public/activitytypes

// Get a specific activity type by Id
GET api/v2/public/activitytypes/d21d73fb-bb69-11e8-8102-00155d040945

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Activity Types in the format of the Activity Types Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Activity Type Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions


Assets

Update Asset

URI

api/v1/core/assets/CreateOrUpdateAsset

Supported Verbs

Required Parameters

Data Model

Asset Model

  {
    "Id": <GUID>,
    "Name": <string>,
    "ShortName": <string>,
    "AccountingCode": <string>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Asset Object Fields

Return Value

Action Accepted

  {
    "Data":
    {
      "ActionType": <string>,
      "Id": <GUID>
    }
  }

Find Assets

URI

api/v1/core/assets/FindAssets

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ShortName": <string>,
          "AccountingCode": <string>,
          "VesselTypeNames": <string>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        }
        ...
      ]
    }
  }

Barging

Barges

URI

api/v2/public/bargingbarges

Supported Verbs

Data Models

Barge Model

{
    "Id": <GUID>,
    "Name": <string>
}

Barge Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Barges

URI

GET api/v2/public/bargingbarges

Example Usage

GET api/v2/public/bargingbarges

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Barges in the format of the Barges Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Barge Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Barging Commodities

URI

api/v2/public/bargingcommodities

Supported Verbs

Data Models

Barging Commodity Model

{
    "Id": <GUID>,
    "Name": <string>,
    "CommodityTypeId": <GUID>
}

Barging Commodity Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Barging Commodities

URI

GET api/v2/public/bargingcommodities

Example Usage

GET api/v2/public/bargingcommodities

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Bargig Commodities in the format of the Barging Commodity Type Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Barging Commodity Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Barging Commodity Types

URI

api/v2/public/bargingcommoditytypes

Supported Verbs

Data Models

Barging Commodity Type Model

{
    "Id": <GUID>,
    "Name": <string>
}

Barging Commodity Type Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Barging Commodity Types

URI

GET api/v2/public/bargingcommoditytypes

Example Usage

GET api/v2/public/bargingcommoditytypes

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Bargig Commodity Types in the format of the Barging Commodity Types Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Barging Commodity Type Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Barging Orders

URI

api/v2/public/bargingorders

Supported Verbs

Data Models

Barging Order Model

{
    "Id": <GUID>,
    "OrderNumber": <string>,
    "ShipperId": <GUID>,
    "OriginatorId": <GUID>,
    "CustomerId": <GUID>,
    "ConsigneeId": <GUID>,
    "CommodityId": <GUID>,
    "Quantity": <decimal>,
    "QuanityUnitId": <GUID>,
    "LoadLocationId": <GUID>,
    "UnloadLocationId": <GUID>,
    "LoadStartDate": <datetime>,
    "LoadEndDate": <datetime>,
    "RequestedStartDate": <datetime>,
    "UnloadStartDate": <datetime>,
    "UnloadEndDate": <datetime>,
    "BargeId": <GUID>,
    "BargeSizeNeeded": <integer>,
    "BillingComments": <string>,
    "OnHold": <boolean>,
    "PartialBarge": <boolean>,
    "ParentOrderId": <GUID>,
    "Billable": <boolean>,
    "OfficialQuantity": <decimal>,
    "OfficialQuantityUnitId": <GUID>,
    "OnTime": <datetime>,
    "OnTimeAdjusted": <datetime>,
    "SplitShipment": <boolean>,
    "UnloadingComments": <string>,
    "LoadingComments": <string>,
    "ArrivalDate": <datetime>,
    "ShoreNet": <decimal>,
    "ShoreGross": <decimal>,
    "BargeNet": <decimal>,
    "Created": <datetime>,
    "Tugs": <Array>
    [
        {
            "Id": <GUID>,
            "Name": <string>,
            "Spotting": <boolean>,
            "PickUp": <boolean>
        },
        ...
    ],
    "Trip": <Object> {
        "Id": <GUID>,
        "BeginDate": <datetime>,
        "EndDate": <datetime>,
        "Comments": <string>,
        "TripNumber": <string>,
        "BeginLocationId": <GUID>,
        "EndLocationId": <GUID>,
        "TripTypeId": <GUID>,
        "Tugs": <Array of GUID>,
        "Created": <datetime>,
    }
}

Barging Order Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Barging Orders

URI

GET api/v2/public/bargingorders

Example Usage

GET api/v2/public/bargingorders

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Bargig Orders in the format of the Barging Order Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Barging Order Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Barging Trips

URI

api/v2/public/bargingtrips

Supported Verbs

Data Models

Barging Trip Model

{
    "Id": <GUID>,
    "BeginDate": <datetime>,
    "EndDate": <datetime>,
    "Comments": <string>,
    "TripNumber": <string>,
    "BeginLocationId": <GUID>,
    "EndLocationId": <GUID>,
    "TripTypeId": <GUID>,
    "Tugs": <Array of GUID>,
    "Created": <datetime>,
    "Orders": <Array>
    [
        {
            "Id": <GUID>,
            "OrderNumber": <string>,
            "ShipperId": <GUID>,
            "OriginatorId": <GUID>,
            "CustomerId": <GUID>,
            "ConsigneeId": <GUID>,
            "CommodityId": <GUID>,
            "Quantity": <decimal>,
            "QuanityUnitId": <GUID>,
            "LoadLocationId": <GUID>,
            "UnloadLocationId": <GUID>,
            "LoadStartDate": <datetime>,
            "LoadEndDate": <datetime>,
            "RequestedStartDate": <datetime>,
            "UnloadStartDate": <datetime>,
            "UnloadEndDate": <datetime>,
            "BargeId": <GUID>,
            "BargeSizeNeeded": <integer>,
            "BillingComments": <string>,
            "OnHold": <boolean>,
            "PartialBarge": <boolean>,
            "ParentOrderId": <GUID>,
            "Billable": <boolean>,
            "OfficialQuantity": <decimal>,
            "OfficialQuantityUnitId": <GUID>,
            "OnTime": <datetime>,
            "OnTimeAdjusted": <datetime>,
            "SplitShipment": <boolean>,
            "UnloadingComments": <string>,
            "LoadingComments": <string>,
            "ArrivalDate": <datetime>,
            "ShoreNet": <decimal>,
            "ShoreGross": <decimal>,
            "BargeNet": <decimal>,
            "Created": <datetime>,
            "Tugs": <Array>
            [
                {
                    "Id": <GUID>,
                    "Name": <string>,
                    "Spotting": <boolean>,
                    "PickUp": <boolean>
                },
                ...
            ]
        },
        ...
    ]
}

Barging Trip Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Barging Trips

URI

GET api/v2/public/bargingtrips

Example Usage

GET api/v2/public/bargingtrips

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Bargig Trips in the format of the Barging Trip Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Barging Trip Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Barging Trip Types

URI

api/v2/public/bargingtriptypes

Supported Verbs

Data Models

Barging Trip Type Model

{
    "Id": <GUID>,
    "Name": <string>,
    "DefaultDurationHours": <decimal>,
    "DefaultStartLocationId": <GUID>,
    "DefaultEndLocationId": <GUID>
}

Barging Trip Type Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Barging Trip Types

URI

GET api/v2/public/bargingtriptypes

Example Usage

GET api/v2/public/bargingtriptypes

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Bargig Trip Types in the format of the Barging Trip Type Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Barging Trip Type Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Barging Units

URI

api/v2/public/bargingunits

Supported Verbs

Data Models

Barging Unit Model

{
    "Id": <GUID>,
    "Name": <string>
}

Barging Unit Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Barging Units

URI

GET api/v2/public/bargingunits

Example Usage

GET api/v2/public/bargingunits

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Barging Units in the format of the Barging Unit Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Barge Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions


Company

Create/Update Company

URI

api/v1/jobs/companies/CreateOrUpdateCompany

Supported Verbs

Required Parameters

Data Model

Company Model

[
  {
    "Id": <GUID>,
    "Name": <string>,
    "ShortName": <string>,
    "ExternalSystemCode": <string>,
    "IsMyCompany": <boolean>,
    "IsActive": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "AccountingTerm": 
    {
      "Name": <string>,
      "ExternalSystemCode": <string>
    }
  },
  ....
]

Company Object Fields

Return Value

With errors

  {
    "Data":
    [
      {
        "Name": <string>,
        "Errors":
        [
          {
            "Message": <string>,
            "Entity": <string>,
            "Details": <string>
          },
          ....
        ]
      }
    ]
  }

Without errors

  {
    "Data":
    {
      "Created": <Integer>,
      "Updated": <Integer>
    }
  }

Create/Update Account

URI

api/v1/jobs/companies/CreateOrUpdateCompanyAccount

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Account Model

  [
    {
      "Id": <GUID>,
      "Name": <string>,
      "Company":
      {
        "Id": <GUID>,
        "Name": <string>,
        "ShortName": <string>,
        "ExternalSystemCode": <string>,
        "IsMyCompany": <boolean>,
        "IsActive": <boolean>,
        "UserDefined":User Defined Data Model (see User Defined Fields section for more details),
        "AccountingTerm": 
        {
          "Name": <string>,
          "ExternalSystemCode": <string>
        }
      },
      "Division":
      {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
      },
      "AccountNumber": <string>,
      "AccountType": <string>,
      "AccountTypeId": <GUID>,
      "IsAR": <boolean>,
      "IsAP": <boolean>,
      "IsBlocked": <boolean>,
      "IsActive": <boolean>,
      "AccountingTerm": 
      {
        "Name": <string>,
        "ExternalSystemCode": <string>
      }
    },
    ....
  ]

Account Object Fields

Return Value

With errors

  {
    "Data":
    [
      {
        "Name": <Array>,
        "Errors":
        [
          {
            "Entity": <string>
          },
          ....
        ]
      }
    ]
  }

Without errors

  {
    "Data":
    {
      "Created": <Integer>,
      "Updated": <Integer>,
      "CompanyCreated": <Integer>
    }
  }

Create/Update Account Address

URI

api/v1/jobs/companies/CreateOrUpdateAccountAddress

Supported Verbs

Required Parameters

Data Model

Account Address Model

  [
    {
      "Id": <GUID>,
      "Account":
      {
        "Id": <GUID>,
        "Name": <string>,
        "AccountNumber": <string>
      },
      "Name": <string>,
      "Address": <string>,
      "City": <string>,
      "Zipcode": <string>,
      "State": <string>,
      "Country": <string>,
      "Email": <string>,
      "ExternalSystemCode": <string>,
      "Areas":
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>
        },
        ....
      ]
    },
    ....
  ]

Account Address Object Fields

Return Value

With errors

  {
    "Data":
    [
      {
        "Name": <Array>,
        "Errors":
        [
          {
            "Entity": <string>
          },
          ....
        ]
      }
    ]
  }

Without errors

  {
    "Data":
    {
      "Created": <Integer>,
      "Updated": <Integer>
    }
  }

Find Companies

URI

api/v1/jobs/companies/FindCompanies

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ShortName": <string>,
          "ExternalSystemCode": <string>,
          "IsMyCompany": <boolean>,
          "IsActive": <boolean>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
          "AccountingTerm":
          {
            "Name": <string>,
            "NumberOfDays": <integer>,
            "ExternalSystemCode": <string>
          },
          "Accounts": <Array>
          [
            {
              "Id": <GUID>,
              "Name": <string>,
              "Division":
              {
                "Id": <GUID>,
                "Name": <string>,
                "ExternalSystemCode": <string>
              },
              "AccountNumber": <string>,
              "AccountType": <string>,
              "AccountTypeId": <GUID>,
              "IsAR": <boolean>,
              "IsAP": <boolean>,
              "IsBlocked": <boolean>,
              "IsActive": <boolean>,
              "IsRequested": <boolean>,
              "AccountingTerm":
              {
                "Name": <string>,
                "NumberOfDays": <integer>,
                "ExternalSystemCode": <string>
              },
              "Addresses": <Array>
              [
                {
                  "Id": <GUID>,
                  "Name": <string>,
                  "Address": <string>,
                  "City": <string>,
                  "Zipcode": <string>,
                  "State": <string>,
                  "Country": <string>,
                  "Email": <string>,
                  "Areas":
                  [
                    {
                      "Id": <GUID>,
                      "Name": <string>,
                      "ExternalSystemCode": <string>
                    },
                    ....
                  ]
                },
                ....
              ]
            },
            ....
          ]
        },
        ....
      ]
    }
  }

Contract

URI

api/v2/public/contracts

Supported Verbs

Data Models

Contract Model

{
    "Id": <GUID>,
    "Name": <string>,
    "AccountId": <GUID>,
    "Account": 
    {
        "Id": <GUID>,
        "AccountNumber": <string>,
        "Name": <string>
    }
    "EffectiveDate": <string>,
    "ExpiryDate": <string>
}

Contract Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Required Permissions


Components

URI

api/v2/public/components

Supported Verbs

Data Models

Component Model

[
  {
    "Id": <GUID>,
    "Name": <string>,
    "SnippetTag": <string>,
    "VesselComponentId": <GUID>,
    "ParentComponentId": <GUID>,
    "AssetId": <GUID>,
    "Active": <boolean>,
    "Deactivated": <date>,
    "ComponentTypeId": <GUID>,
    "ComponentTypeName": <string>,
    "EssentialSystem": <boolean>,
    "MakeId": <GUID>,
    "MakeName": <string>,
    "ModelId": <GUID>,
    "ModelName": <string>,
    "Modified": <date>,
    "SerialNumber": <string>,
    "PartNumber": <string>,
    "ReceivePropagatedReadings": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  },
  ....
]

Component Fields

Error Model

  {
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
  }

Error Model Fields

Find Component

URI

GET api/v2/public/components

or

GET api/v2/public/components/{Id}

Example Usage

// Get a paginated response of all components
GET api/v2/public/components

// Get a specific component by Id
GET api/v2/public/components/d21d73fb-bb69-11e8-8102-00155d040945

Required Parameters

Optional Parameters

Required Permissions

One or both of the following:

Return Value

Action Accepted

Returns an array containing the requested components in the format of the Component Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Component Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Currency Exchange Rate

Create/Update Currency Exchange Rate

URI

api/v1/jobs/billing/CreateOrUpdateCurrencyExchangeRate

Supported Verbs

Required Parameters

Data Model

Currency Exchange Rate Model

  {
    "CurrencyType":
    {
      "Id": <GUID>,
      "Name": <string>,
    },
    "EffectiveDate": <date>,
    "ExchangeRate": <decimal>
  }

Currency Exchange Rate Object Fields

Return Value

Action Accepted

  "Data":
  {
    "CurrencyTypeId": <Guid>,
    "LogMessages":
    [
      {
        "Entity": <string>,
        "Message": <string>,
        "Details": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Delete Currency Exchange Rate

URI

api/v1/jobs/billing/DeleteCurrencyExchangeRate

Supported Verbs

Required Parameters

Data Model

Currency Exchange Rate Model

  {
    "CurrencyType":
    {
      "Id": <GUID>,
      "Name": <string>,
    },
    "EffectiveDate": <date>
  }

User Object Fields

Return Value

Action Accepted

  "Data":
  {
    "CurrencyTypeId": <Guid>,
    "ExchangeRatesDeleted": <integer>,
    "LogMessages":
    [
      {
        "Entity": <string>,
        "Message": <string>,
        "Details": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Divisions

Find Divisions

URI

api/v1/jobs/Divisions/FindDivisions

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ShortName": <string>,
          "ExternalSystemCode": <string>,
          "AccountingCode": <string>,
          "ParentDivisionId": <GUID>,
          "DivisionType":
          {
            "Id": <GUID>,
            "Name": <string>  
          },
        },
        ...
      ]
    }
  }

Earning Code

Create/Update Earning Code

URI

api/v1/Personnel/EarningCodes/CreateOrUpdateEarningCode

Supported Verbs

Required Parameters

Data Model

Earning Code Model

  {
    "Id": <GUID>,
    "Name": <string>,
    "AccountingCode": <string>,
    "QuantityType": <string>,
    "DoArchive": <boolean>
  }

Earning Code Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Earning Code

URI

api/v1/Personnel/EarningCodes/FindEarningCodes

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page":
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountingCode": <string>,
          "QuantityType": <string>
        },
        ....
      ]
    }
  }

Action Rejected

  "Data": <Array>

Event

Create/Update Event

URI

api/v1/core/events/CreateOrUpdateEvent

Supported Verbs

Required Parameters

Data Model

Event Model

  {
    "Id": <GUID>,
    "Description": <string>,
    "EventDate": <date>,
    "EventTypeId": <GUID>,
    "VesselId": <GUID>,
    "SpaceId": <GUID>,
    "LocationId": <GUID>,
    "RecordedByPersonId": <GUID>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Event Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType":  <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Events

URI

api/v1/core/events/FindEvents

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Description": <string>,
          "EventDate": <date>,
          "EventTypeId": <GUID>,
          "AssetId": <GUID>,
          "SpaceId": <GUID>,
          "LocationId": <GUID>,
          "RecordedByPersonId": <GUID>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
        },
        ...
      ]
    }
  }

Archive Event

URI

api/v1/core/events/ArchiveEvent

Supported Verbs

Required Parameters

Data Model

Archive Event Model

  {
    "Id": <Guid>
  }

Archive Event Object Fields

Return Value

Action Accepted

  {
    "ActionType": "Archive",
    "Id": <GUID>
  }

Action Rejected

  "Data": <Array>

Create/Update Trip Event

URI

api/v1/jobs/events/CreateOrUpdateTripEvent

Supported Verbs

Required Parameters

Data Model

Trip Event Model

  {
    "Id": <Guid>,
    "TripId": <GUID>,
    "EventTypeId": <GUID>,
    "Description": <string>,
    "EventDate": <date>,
    "LocationId": <GUID>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Trip Event Object Fields

Return Value

Action Accepted

  {
    "ActionType": <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>,
        "Details": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Trip Events

URI

api/v1/jobs/events/FindTripEvents

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "TripId": <GUID>,
          "EventTypeId": <GUID>,
          "Description": <string>,
          "EventDate": <date>,
          "LocationId": <Guid>,
          "UserDefined": UserDefinedDataModel (see User Defined Fields section for more details)
        },
        ...
      ]
    }
  }

Create/Update Job Event

URI

api/v1/jobs/events/CreateOrUpdateJobEvent

Supported Verbs

Required Parameters

Data Model

Job Event Model

  {
    "Id": <Guid>,
    "JobId": <GUID>,
    "EventTypeId": <GUID>,
    "Description": <string>,
    "PlannedEventDate": <date>,
    "EventDate": <date>,
    "LocationId": <GUID>,
    "RecordedByPersonId": <GUID>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Job Event Object Fields

Return Value

Action Accepted

  {
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>,
        "Details": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Job Events

URI

api/v1/jobs/events/FindJobEvents

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "ResourceId": <GUID>,
          "TripId": <GUID>,
          "JobId": <GUID>,
          "EventTypeId": <GUID>,
          "Description": <string>,
          "PlannedEventDate": <date>,
          "EventDate": <date>,
          "LocationId": <GUID>,
          "RecordedByPersonId": <GUID>,
          "UserDefined": UserDefinedDataModel (see User Defined Fields section for more details)
        },
        ...
      ]
    }
  }

Event Type

URI

api/v2/public/eventtypes

Supported Verbs

Data Models

Event Type Model

{
    "Id": <GUID>,
    "Name": <string>,
    "Spaces": <Array>
    [
        {
            "Id": <GUID>,
            "Name": <string>,
        },
        ...
    ],
    "Tags": <Array>
    [
        {
            "Id": <GUID>,
            "Name": <string>,
        },
        ...
    ]
}

Event Type Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Event Types

URI

GET api/v2/public/eventtypes

or

GET api/v2/public/eventtypes/{Id}

Example Usage

// Get a paginated response of all event types
GET api/v2/public/eventtypes

// Get a specific event type by Id
GET api/v2/public/eventtypes/d21d73fb-bb69-11e8-8102-00155d040945

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Event Types in the format of the Event Types Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Event Type Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions


Emergency Contacts

URI

api/v2/public/emergencycontacts

Supported Verbs

Data Models

Emergency Contact Model

{
    "Id": <GUID>,
    "PersonId": <GUID>,
    "Name": <string>,
    "PhoneNumber": <string>,
    "AlternatePhoneNumber": <string>,
    "EmailAddresses": <string>,
    "Relationship": <string>,
    "Address": <string>,
    "City": <string>,
    "Country": <string>,
    "StateOrProvince": <string>,
    "PostalZipCode": <string>,
    "SortOrder": <integer>,
    "UserDefinedFields": User Defined Data Model (see User Defined Fields section for more details)
}

Emergency Contact Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Emergency Contacts

URIs

GET api/v2/public/emergencycontacts

or

GET api/v2/public/emergencycontacts/{Id}

Example Usage

// Gets a paged result of emergency contacts
GET api/v2/public/emergencycontacts

// Gets a single emergency contact
GET api/v2/public/emergencycontacts/c5e69784-24c5-11e7-82c5-f01faf32a6aa

Required Parameters

Optional Parameters

Required Permissions

One or both of the following:

Return Value

Action Accepted

Returns an array containing the requested Emergency Contacts in the format of the Emergency Conact Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Emergency Contact Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Create Emergency Contact

URI

POST api/v2/public/emergencycontacts

Example Usage

// Add a single emergency contact
POST api/v2/public/emergencycontacts
{
    "PersonId": "c5e69784-24c5-11e7-82c5-f01faf32a6aa",
    "Name": "George Washington",
    "PhoneNumber": "202-456-1111"
}

// Add multiple emergency contacts.
POST api/v2/public/emergencycontacts
[
    {
        "PersonId": "c5e69784-24c5-11e7-82c5-f01faf32a6aa",
        "Name": "Benjamin Franklin",
        "PhoneNumber": "1-800-ASK-USPS"
    },
    {
        "PersonId": "c5e69784-24c5-11e7-82c5-f01faf32a6aa",
        "Name": "James Madison",
        "PhoneNumber": "1-866-272-6272"
    }
]

// The contacts current order would look like the following:
// - James Madison
// - Benjamin Franklin
// - George Washington

// Append an emergency contact
POST api/v2/public/emergencycontacts
{
    "PersonId": "c5e69784-24c5-11e7-82c5-f01faf32a6aa",
    "Name": "Alexandar Hamilton",
    "PhoneNumber": "(202) 622-2000",
    "SortOrder": 100,
}

// Contacts:
// - James Madison
// - Benjamin Franklin
// - George Washington
// - Alexander Hamilton

// Insert an emergency contact
POST api/v2/public/emergencycontacts
{
    "PersonId": "c5e69784-24c5-11e7-82c5-f01faf32a6aa",
    "Name": "Thomas Jefferson",
    "PhoneNumber": "1-866-272-6272",
    "SortOrder": 2,
}

// Contacts:
// - James Madison
// - Benjamin Franklin
// - Thomas Jefferson
// - George Washington
// - Alexander Hamilton

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns a single Emergency Contact Model or an array of Emergency Contact Model.

<Emergency Contact Model> | <Array of Emergency Contact Model>

Action Rejected

{
    "Errors": <Array of Error Model>
}

Update Emergency Contact

URI

PATCH api/v2/public/emergencycontacts

or

PATCH api/v2/public/emergencycontacts/{Id}

Example Usage

// Contacts:
// - James Madison
// - Benjamin Franklin
// - George Washington (Id: 7694520e-b2de-4dbe-9d6d-fbf8addd8a28)
// - Alexander Hamilton

// Update George to be the first contact
PATCH api/v2/public/emergencycontacts/7694520e-b2de-4dbe-9d6d-fbf8addd8a28
{
    "SortOrder": 0
}

// Contacts:
// - George Washington (Id: 7694520e-b2de-4dbe-9d6d-fbf8addd8a28)
// - James Madison
// - Benjamin Franklin
// - Alexander Hamilton

// Update an Emergency Contact's City
PATCH api/v2/public/emergencycontacts
{
    "Id": "7694520e-b2de-4dbe-9d6d-fbf8addd8a28",
    "City": "Mount Vernon"
}

// or

PATCH api/v2/public/emergencycontacts/7694520e-b2de-4dbe-9d6d-fbf8addd8a28
{
    "City": "Mount Vernon"
}

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns a single or an array of all modified Emergency Contacts. If there were two emergency contacts and the second one was updated to be the first, both contacts would be returned.

<Emergency Contact Model> | <Array of Emergency Contact Model>

Action Rejected

{
    "Errors": <Array of Error Model>
}

Delete Emergency Contact

URI

DELETE api/v2/public/emergencycontacts/{Id}

Example Usage

// Contacts:
// - James Madison
// - Benjamin Franklin
// - George Washington (Id: 7694520e-b2de-4dbe-9d6d-fbf8addd8a28)
// - Alexander Hamilton

// Remove George as a contact
DELETE api/v2/public/emergencycontacts/7694520e-b2de-4dbe-9d6d-fbf8addd8a28

// Contacts:
// - James Madison
// - Benjamin Franklin
// - Alexander Hamilton

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns nothing.

Action Rejected

{
    "Errors": <Array of Error Model>
}

Field Settings

URI

api/v1/system/fieldsettings

Supported Verbs

Data Models

Field Setting Model

{
    "EntityType": <string>,
    "TargetType": <string>,
    "TargetId": <GUID>,
    "TargetName": <string>,
    "Site": <string>,
    "DivisionId": <GUID>,
    "DivisionName": <string>,
    "Modified": <date>,
    "SystemFields": {
        ENTITY_SPECIFIC_SYSTEM_FIELD_NAME_1: <Field Details Model>,
        ENTITY_SPECIFIC_SYSTEM_FIELD_NAME_2: <Field Details Model>,
        ...
    },
    "UserDefinedFields": {
        ENTITY_SPECIFIC_USER_DEFINED_FIELD_NAME_1: <Field Details Model>,
        ENTITY_SPECIFIC_USER_DEFINED_FIELD_NAME_2: <Field Details Model>,
        ...
    }
}

Field Details Model

{
    "Visible": <bool>,
    "Required": <bool>,
    "SortOrder": <integer>
}

Field Setting Fields

Field Details Fields

Supported Entity Types

Note that the Helm CONNECT user interface does not support independent configurations for TripEvents, JobEvents, and (core) Events; and JobActivities and (core) Activities. So you will see that the API returns identical data for these types of entities. Moreover, additional entity types may be supported in the future.

Supported Target Types

Note that additional target types may be supported in the future.

Find Field Settings

URI

GET api/v1/system/fieldsettings

Example Usage

// Get a paginated response of all field settings
GET api/v1/system/fieldsettings?page=1

// Get a specific setting entry
GET api/v1/system/fieldsettings?page=1&entityType=Job

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the requested Field Settings in the format of the Field Setting Model.

{
    "Page": <Array of Field Setting Model>
}

Job

Create Job

URI

api/v1/jobs/jobs/CreateJob

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Job Model

  {
    "Trip": {
      "Id": <GUID>,
      "TripNumber": <string>
    },
    "RequiredResourceType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "Resource": {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Acknowledged": <boolean>,
    "RunningTo": <decimal>,
    "StartDate": <date>,
    "EndDate": <date>,
    "PlannedStartDate": <date>,
    "PlannedEndDate": <date>,
    "RunningFrom": <decimal>,
    "CancelledDate": <date>,
    "IsNoCharge": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Job Object Fields

Return Value

With no results

  {
    "Data":
    {
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>,
          "Details": <string>
        },
        ....
      ]
    }
  }

With results

  {
    "Data":
    {
      "JobId": <GUID>,
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>,
          "Details": <string>
        },
        ....
      ]
    }
  }

Update Job

URI

api/v1/jobs/jobs/UpdateJob

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Job Model

  {
    "Id": <GUID>,
    "RequiredResourceType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "Resource": {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Acknowledged": <boolean>,
    "RunningTo": <decimal>,
    "StartDate": <date>,
    "EndDate": <date>,
    "PlannedStartDate": <date>,
    "PlannedEndDate": <date>,
    "RunningFrom": <decimal>,
    "CancelledDate": <date>,
    "IsNoCharge": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Job Object Fields

Return Value

With no results

  {
    "Data":
    {
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>,
          "Details": <string>
        },
        ....
      ]
    }
  }

With results

  {
    "Data":
    {
      "JobId": <GUID>,
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>,
          "Details": <string>
        },
        ....
      ]
    }
  }

Find Jobs

URI

api/v1/jobs/jobs/FindJobs

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
  "Data":
  {
    "TotalCount": <integer>,
    "Page": <Array>
    [
      {
        "Id": <GUID>,
        "TripId": <GUID>,
        "JobNumber": <string>,
        "RequiredResourceType":
        {
          "Id": <GUID>,
          "Name": <string>
        },
        "Resource": {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>
        },
        "Acknowledged": <boolean>,
        "RunningTo": <decimal>,
        "RunningFrom": <decimal>,
        "StartDate": <date>,
        "EndDate": <date>,
        "PlannedStartDate": <date>,
        "PlannedEndDate": <date>,
        "CancelledDate": <date>,
        "IsNoCharge": <boolean>,
        "IsRequest": <boolean>
        "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
      },
      ....
    ]
  }

Delete Job

URI

api/v1/jobs/jobs/DeleteJob

Supported Verbs

Required Parameters

Data Model

Delete Job Model

  {
    "Id": <Guid>
  }

Delete Job Object Fields

Return Value

Action Accepted

  {
    "ActionType": "Delete",
    "Id": <GUID>
  }

Action Rejected

  "Data": <Array>

Acknowledge Job

URI

api/v1/jobs/jobs/AcknowledgeJob

Supported Verbs

Required Parameters

Optional Parameters

Return Value

Action Accepted

  {
    "Data": null
  }

Action Rejected

  {
    "Message": <string>
  }

Location

URI

api/v2/public/locations

Supported Verbs

Data Models

Location Model

{
    "Id": <GUID>,
    "Name": <string>,
    "ShortName": <string>,
    "RunningTime": <integer>,
    "IsRequested": <boolean>,
    "ExternalSystemCode": <string>,
    "IsArea": <boolean>,
    "Latitude": <decimal>,    
    "Longitude": <decimal>,
    "TimeZone": <string>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "Parent": {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
    },
    "LocationType": {
        "Id": <GUID>,
        "Name": <string>
    },
    "Divisions": <Array> [
        {
            "Id": <GUID>,
            "Name": <string>,
            "ExternalSystemCode": <string>
        },
        ...
    ],
    "Modified": <datetime>
}

Location Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Location

URI

GET api/v2/public/locations

or

GET api/v2/public/locations/{Id}

Example Usage

// Get a paginated response of all locations
GET api/v2/public/locations

// Get a specific location by Id
GET api/v2/public/locations/d21d73fb-bb69-11e8-8102-00155d040945

Required Parameters

Optional Parameters

Required Permissions

One or both of the following:

Return Value

Action Accepted

Returns an array containing the requested Locations in the format of the Location Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Location Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Create Location

URI

POST api/v2/public/locations

Example Usage

// Create one Location
POST api/v2/public/locations
{ "Name": "Canada" }

// Create a Location tree
POST api/v2/public/locations
[
    {
        "Name": "Canada"
    },
    {
        "Name": "British Columbia",
        "Parent": {
            Name: "Canada"
        }
    }
]

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the created Locations.

<Array of Location Model>

Action Rejected

{
  "Errors": <Array of Error Model>
}

Update Location

URIs

Update a Location

PATCH api/v2/public/locations/

or

PATCH api/v2/public/locations/{Id}

Add a Division to a Location

POST api/v2/public/locations/{Id}/divisions

Remove a Division from a Location

DELETE api/v2/public/locations/{Id}/divisions/{DivisionId}

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the modified Locations.

<Array of Location Model>

Action Rejected

{
  "Errors": <Array of Error Model>
}

Location Type

URI

api/v2/public/locationtypes

Supported Verbs

URI

GET api/v2/public/locationtypes

or

GET api/v2/public/locationtypes/{Id}

Data Models

Location Type Model

{
    "Id": <GUID>,
    "Name": <string>
}

Location Type Fields

Example Usage

// Get a paginated response of all location types
GET api/v2/public/locationtypes

// Get a specific location type by Id
GET api/v2/public/locationtypes/15754c54-95b1-4ada-b5bd-f7aef0448348

Required Parameters

Optional Parameters

Required Permissions

One or both of the following:

Return Value

Action Accepted

Returns an array containing the requested Location Types in the format of the Location Type Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Location Type Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Order

Create Order

URI

api/v1/jobs/orders/CreateOrder

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Order Model

  {
    "Division":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Area":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Ship":
    {
      "Id": <GUID>,
      "ShipTypeId": <GUID>,
      "Name": <string>,
      "IMONumber": <string>,
      "MMSI": <string>,
      "Nation": <string>,
      "CallSign": <string>,
      "Height": <decimal>,
      "Deadweight": <decimal>,
      "GT": <decimal>,
      "LOA": <decimal>,
      "Beam": <decimal>,
      "TEU": <decimal>,
      "NT": <decimal>,
      "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
    },
    "CustomerAccount":
    {
      "Id": <GUID>,
      "Name": <string>,
      "AccountNumber": <string>
    },
    "AgentAccount":
    {
      "Id": <GUID>,
      "Name": <string>,
      "AccountNumber": <string>
    },
    "AwardedToAccount":
    {
      "Id": <GUID>,
      "Name": <string>,
      "AccountNumber": <string>
    },
    "OrderDate": <date>,
    "CustomerPONumber": <string>,
    "VoyageNumber": <string>,
    "CargoType": 
    {
        "Id": <GUID>,
        "Name": <string>
    }
    "IsBillable": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "OrderNotes": <Array>
    [
      {
        "Id": <GUID>,
        "Message": <string>,
        "MessageDate": <date>,
        "NoteType": <string>
      },
      ....
    ],
    "Trips": <Array>
    [
      <TripModel>,
      ....
    ]
  }

Trip Model

  {
    "TripType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "FromLocation":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "ToLocation":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Status": <string>,
    "RequestedDate": <date>,
    "StartDate": <date>,
    "EndDate": <date>,
    "IsRequestedDateFirm": <boolean>,
    "EstimatedDuration": <decimal>,
    "NumberRequiredResources": <integer>,
    "CancelledDate": <datetime>,
    "IsNoCharge": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "Jobs": <Array>
    [
      <JobModel>,
      ....
    ]
  }

Job Model

  {
    "RequiredResourceType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "Resource": {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Acknowledged": <boolean>,
    "RunningTo": <decimal>,
    "StartDate": <date>,
    "EndDate": <date>,
    "PlannedStartDate": <date>,
    "PlannedEndDate": <date>,
    "RunningFrom": <decimal>,
    "CancelledDate": <date>,
    "IsNoCharge": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Order Object Fields

Trip Object Fields

Job Object Fields

Return Value

With no results

  {
    "Data":
    {
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>,
          "Details": <string>
        },
        ....
      ]
    }
  }

With results

  {
    "Data":
    {
      "OrderId": <GUID>,
      "NewShipId": <GUID>,
      "TripIds": <Array of GUID>,
      "JobIds": <Array>
      [
        {
          "TripId": GUID,
          "JobIds": <Array of GUID>
        },
        ...
      ],
      "OrderNoteIds": <Array of GUID>,
      "LogMessages": <Array>
      [
        {
           "Message": <string>,
           "Entity": <string>,
           "Details": <string>
        },
        ...
      ]
    }
  }

Update Order

URI

api/v1/jobs/orders/UpdateOrder

Supported Verbs

Note

Required Parameters

Optional Parameters

Data Model

In the above model, the Order is being updated (Id is supplied). The first Trip is being updated (Id is supplied). The second Trip (which has no Id given), is being inserted for this Order. The first OrderNote is being updated (Id is supplied). The second OrderNote (which has no Id given), is being inserted for this Order.

Return Value

Find Orders

URI

api/v1/jobs/orders/FindOrders

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
  "Data":
  {
    "TotalCount": <integer>,
    "Page": <Array>
    [
      {
        "Id": <GUID>,
        "OrderNumber": <string>,
        "CustomerPONumber": <string>,
        "VoyageNumber": <string>,
        "CargoType": {
            "Id": <GUID>,
            "Name": <string>
        }
        "OrderDate": <date>,
        "ArchivedDate": <date>,
        "Modified": <date>,
        "IsRequest": <boolean>,
        "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        "Division":
        {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>
        },
        "Area": {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>
        },
        "Ship":
        {
          "Id": <GUID>,
          "Name": <string>,
          "IMONumber": <string>
        },
        "CustomerAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>
        },
        "AgentAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>
        },
        "AwardedToAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>
        },
        "Trips": <Array>
        [
          {
            "Id": <GUID>,
            "OrderId": <GUID>,
            "TripNumber": <string>,
            "StartDate": <date>,
            "EndDate": <date>,
            "RequestedDate": <date>,
            "IsRequestedDateFirm": <boolean>,
            "EstimatedDuration": <decimal>,
            "Status": <string>,
            "ArchivedDate": <date>,
            "IsRequest": <boolean>,
            "OriginalTripId": <GUID>,
            "CancelledDate": <datetime>,
            "IsNoCharge": <boolean>,
            "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
            "Triptype":
            {
              "Id": <GUID>,
              "Name": <string>
            },
            "FromLocation":
            {
              "Id": <GUID>,
              "Name": <string>,
              "ExternalSystemCode": <string>
            },
            "ToLocation":
            {
              "Id": <GUID>,
              "Name": <string>,
              "ExternalSystemCode": <string>
            },
            "ContractId": <GUID>,
            "ContractAccount":
            {
              "Id": <GUID>,
              "Name": <string>,
              "AccountNumber": <string>
            },
            "Jobs" : <Array>
            [
              {
                "Id": <GUID>,
                "TripId": <GUID>,
                "JobNumber": <string>,
                "RequiredResourceType":
                {
                  "Id": <GUID>,
                  "Name": <string>
                },
                "Resource": {
                  "Id": <GUID>,
                  "Name": <string>,
                  "ExternalSystemCode": <string>
                },
                "Acknowledged": <boolean>,
                "RunningTo": <decimal>,
                "RunningFrom": <decimal>,
                "StartDate": <date>,
                "EndDate": <date>,
                "PlannedStartDate": <date>,
                "PlannedEndDate": <date>,
                "CancelledDate": <date>,
                "IsNoCharge": <boolean>,
                "ArchivedDate": <date>,
                "IsRequest": <boolean>
                "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
              },
              ....
            ]
          },
          ....
        ],
        "OrderNotes": <Array>
        [
          {
            "Id": <GUID>,
            "Message": <string>,
            "MessageDate": <date>,
            "NoteType": <string>
          },
          ....
        ]
      },
      ....
    ]
  }

Part

Create/Update Part

URI

api/v1/hsqe/parts/CreateOrUpdatePart

Supported Verbs

Required Parameters

Optional Parameters

Required Permissions

Needed for asRequest:

Data Model

Part Model

  {
    "Id": <GUID>,
    "PartNumber": <string>,
    "CrossReferenceNumber": <string>,
    "Description": <string>,
    "Info": <string>,
    "PartUnit": <string>,
    "PartCategory": <string>,
    "IsActive": <boolean>,
    "IsCriticalSpare": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
    "AssetTypeNames": <Array of string>
  }

Part Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Part

URI

api/v2/public/parts

Supported Verbs

Data Models

Part Model

{
    "Id": <GUID>,
    "Modified": <date>,
    "PartNumber": <string>,
    "CrossReferenceNumber": <string>,
    "Description": <string>,
    "Info": <string>,
    "IsActive": <boolean>,
    "IsCriticalSpare": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "PartUnitType": {
        "Id": <GUID>,
        "Name": <string>
    },
    "PartCategory": {
        "Id": <GUID>,
        "Name": <string>
    },
    "PartAssetTypes": [
        {
            "AssetTypeId": <GUID>,
            "AssetTypeName": <string>
        },
        ...
    ],
    "IsRequested": <boolean>
}

Part Model Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Example Usage

// Get a paginated response of all parts
GET api/v2/public/parts

// Get a specific part by Id
GET api/v2/public/parts/1928a52f-cdd7-4e01-8e0d-4a6822f49f3b

// Get parts with the given part category name
GET api/v2/public/parts?$filter=PartCategory/Name eq 'Gasket'

// Get parts with the given part category Id
GET api/v2/public/parts?$filter=PartCategory/Id eq guid'5958a52f-cdd7-4e01-8e0d-7a6822f49f3e'

// Get parts with the given part unit type Id 
GET api/v2/public/parts?$filter=PartUnitType/Id eq guid'2a58a520-cfd7-4e41-8e8d-7a6822f49f3f'

// Get all inactive parts
GET api/v2/public/parts?$filter=IsActive eq false

// Get all critical spares
GET api/v2/public/parts?$filter=IsCriticalSpare eq true

// Get all parts modified after the given date
GET api/v2/public/parts?$filter=Modified ge datetime'2020-05-14T20:30:00+00:00'

// Get all parts which are not currently requested
GET api/v2/public/parts?$filter=IsRequested eq false

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the requested Parts in the format of the Part Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Part Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}


Part Contract

Create/Update Part Contract

URI

api/v1/hsqe/parts/CreateOrUpdatePartContract

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Part Contract Model

  {
    "Id": <GUID>,
    "VendorId": <GUID>,
    "PartId": <GUID>,
    "VendorPartNumber": <string> [max. 100 char],
    "Price": <decimal>,
    "StartDate": <datetime>,
    "EndDate": <datetime>,
    "Info": <string>
  }

Part Contract Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Payroll

Find Payroll

URI

api/v1/Personnel/Payroll/FindPayroll

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "PersonId": <GUID>,
          "PayrollPeriodId": <GUID>,
          "DivisionId": <GUID>,
          "Payroll Group": {
              "Id": <GUID>,
              "Name": <string>,
              "AccountingCode": <string>
          },
          "TransactionLines":
          [
            "Id": <GUID>,
            "Rate": <decimal>,
            "Quantity": <decimal>,
            "Factor": <decimal>,
            "Amount": <decimal>,
            "StartDate": <date>,
            "EndDate": <date>,
            "AccountingCodes":
            {
              <string(ReferenceType)>:
              {
                "Id": <GUID>,
                "AccountingCode": <string>,
                "EntityName": <string>,
                "ReferenceType": <string>
              },
              ....
            }
          ],
          "PersonBankRecords":
          [
            {
              "Id": <GUID>,
              "Rate": <decimal>,
              "Quantity": <decimal>,
              "Factor": <decimal>,
              "Amount": <decimal>,
              "Date": <date>,
              "IsWithdrawal": <boolean>,
              "AccountingCodes":
              {
                <string(ReferenceType)>:
                {
                  "Id": <GUID>,
                  "AccountingCode": <string>,
                  "EntityName": <string>,
                  "ReferenceType": <string>
                },
                ....
              }
            }
          ]
        }
      ]
    }
  }

Bank Balance

URI

api/v1/Personnel/Payroll/BankBalance

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>, // No longer used - unique rows should be determined from BankId + PersonId
          "BankId": <GUID>,
          "BankName": <string>,
          "BankAccountingCode": <string>,
          "PersonId": <GUID>,
          "Balances": <Array>
          [
            {
              "PayrollClassId": <GUID>,
              "EarningCodeId": <GUID>,
              "AssetId": <GUID>,
              "CostCenterId": <GUID>,
              "Rate": <decimal>,
              "Factor": <decimal>,
              "DivisionId": <GUID>,
              "OpeningBalance": <decimal>,
              "OpeningQuantity": <decimal>,
              "ClosingBalance": <decimal>,
              "ClosingQuantity": <decimal>
            },
            ...
          ]
        }
      ]
    }
  }

Find Payroll Periods

URI

api/v1/Personnel/PayrollPeriods/FindPayrollPeriods

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "StartDate": <date>,
          "EndDate": <date>,
          "PayrollGroup": {
              "Id": <GUID>,
              "Name": <string>,
              "AccountingCode": <string>
          }
        }
      ]
    }
  }

Set Payroll Period Exported

URI

api/v1/Personnel/PayrollPeriods/SetPayrollPeriodExported

Supported Verbs

Required Parameters

Data Model

Payroll Class Model

  {
    "Id": <GUID>,
    "ExportDate": <date>,
    "ResetExportDate": <boolean>
  }

Payroll Class Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Payroll Class

Create/Update Payroll Class

URI

api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClass

Supported Verbs

Required Parameters

Data Model

Payroll Class Model

  {
    "Id": <GUID>,
    "Name": <string>,
    "AccountingCode": <string>,
    "DoArchive": <boolean>
  }

Payroll Class Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Create/Update Payroll Class Earning Code

URI

api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClassEarningCode

Supported Verbs

Required Parameters

Data Model

Payroll Class Earning Code Model

  {
    "Id": <GUID>,
    "PayrollClassId": <GUID>,
    "QuantityType": <string>,
    "EarningCode": {
        "Id": <GUID>,
        "Name": <string>
    },
    "Factor": <decimal>,
    "Rate": <decimal>,
    "AccrualFactor": <decimal>,
    "EffectiveDate": <date>,
    "DoArchive": <boolean>
  }

Payroll Class Earning Code Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Payroll Class

URI

api/v1/Personnel/PayrollClasses/FindPayrollClasses

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountingCode": <string>,
          "EarningCodes" [
              {
                  "Id": <GUID>,
                  "PayrollClassId": <GUID>,
                  "QuantityType": <string>,
                  "EarningCode": {
                      "Id": <GUID>,
                      "Name": <string>
                  },
                  "Factor": <decimal>,
                  "Rate": <decimal>,
                  "AccrualFactor": <decimal>,
                  "EffectiveDate": <date>
              }, ...
          ]
        },
        ...
      ]
    }
  }

Positions

URI

api/v2/public/positions

Supported Verbs

Data Models

Position Model

{
    "Id": <GUID>,
    "Name": <string>
}

Position Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Positions

URI

GET api/v2/public/positions

Example Usage

GET api/v2/public/positions

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Positions in the format of the Positions Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Position Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Either one of:


Requests

URI

api/v2/public/requests

Supported Verbs

Data Models

Request Model

    {
        "Id": <GUID>,
        "Type": <string>,
        "State": <string>,
        "RequestedDate": <date>,
        "Modified": <date>,
        "RequestedByUserId": <GUID>,
        "RequestEntityId": <GUID>,
        "OriginalId", <GUID>,
        "ParentId", <GUID>,
        "ChangeJson": <Json>
    }

Request Fields

Find Requests

URI

GET api/v2/public/requests

or

GET api/v2/public/requests/{Id}

Example usage

// Get a paginated response of all requests
GET api/v2/public/requests

// Get a specific request by Id
GET api/v2/public/requests/<guid>

Required Parameters

Optional Parameters

Accept/Deny Requests

URI

PATCH api/v2/public/requests

or

PATCH api/v2/public/requests/{Id}

Example Usage

// Accept a request
PATCH api/v2/public/requests
{ "State": "Accepted" }

Required Parameters


Requisition

Update Requisition

URI

api/v1/hsqe/Requisitions/UpdateRequisition

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Requisition Model

  {
    "Id": <GUID>,
    "Name": <string> [max. 100 char],
    "Status": <string> ["New", "Confirmed", "Ordered", "Received On Shore", "Received On Asset", "Closed", "Canceled"],
    "DueDate": <datetime>,
    "Priority": <string> ["Low", "Medium", "High"],
    "LinkedItemType": <string> ["Inspection", "Maintenance", "Inventory", "Form", "Task", "Corrective Action"],
    "LinkedItemId": <GUID>,
    "UserDefined": User Defined Data Model (see [User Defined Fields](#UDF) section for more details)
  }

Requisition Object Fields

Return Value

Action Accepted

  "Data":
  {
    "ActionType": <string>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Update Line Item

URI

api/v1/hsqe/Requisitions/UpdateLineItem

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Line Item Model

  {
    "Id": <GUID>,
    "PartId": <GUID>,
    "VesselComponentId": <GUID>,
    "Description": <string> [max. 100 char],
    "Quantity": <integer> or <decimal>
    "EstPrice": <decimal>,
    "VendorId": <GUID>,
    "Status": <string> ["New", "Confirmed", "Ordered", "Received On Shore", "Received On Asset", "Closed", "Canceled"],
    "Type": <string> ["Labor", "Part"],
    "UserDefined": User Defined Data Model (see [User Defined Fields](#UDF) section for more details)
  }

Line Item Object Fields

Return Value

Action Accepted

  "Data":
  {
    "ActionType": <string>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Requisitions

URI

api/v1/hsqe/Requisitions/FindRequisitions

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Created": <datetime>,
          "DueDate": <datetime>,
          "Name": <string>,
          "Space": <string>,
          "Priority": <string>,
          "ExternalNumber": <string>,
          "LineItemCount": <integer>,
          "Status": <string>,
          "DivisionId": <GUID>,
          "CreatedById": <GUID>,
          "CreatedBy" : {
              "FirstName": <string>,
              "MiddleName": <string>,
              "LastName": <string>
          },
          "Asset": <string>,
          "EstCost": <decimal>,
          "LinkedItemType": <string>,
          "LinkedItemId": <GUID>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        },
        ...
      ]
    }
  }

Find Line Items

URI

api/v1/hsqe/Requisitions/FindLineItems

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Created": <datetime>,
          "Description": <string>,
          "ExternalNumber": <string>,
          "RequisitionId": <GUID>,
          "Space": <string>,
          "DueDate": <datetime>,
          "Priority": <string>,
          "VendorName": <string>,
          "Quantity": <decimal>,
          "EstPrice": <decimal>,
          "PartId": <GUID>,
          "PartDescription": <string>,
          "PartNumber": <string>,
          "PartUnit": <string>,
          "PartCategory": <string>,
          "Status": <string>,
          "Type": <string>,
          "Asset": <string>,
          "CreatedById": <GUID>,
          "CreatedBy" : {
              "FirstName": <string>,
              "MiddleName": <string>,
              "LastName": <string>
          },
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        },
        ...
      ]
    }
  }

Resources

URI

api/v2/public/resources

Supported Verbs

Data Models

Resource Model

{
    "Id": <GUID>,
    "Modified": <datetime>,
    "Name": <string>,
    "ShortName": <string>,
    "ExternalSystemCode": <string>,
    "AccountingCode": <string>,
    "ResourceType": {
        "Id": <GUID>,
        "Name": <string>
    },
    "Division": {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
    },
    "OperatingAreas": <Array>
    [
        {
            "Id": <GUID>,
            "Name": <string>
        },
        ...
    ],
    "Owner": {
        "Id": <GUID>,
        "Name": <string>
    },
    "Ship": {
        "Id": <GUID>,
        "Name": <string>,
        "IMONumber": <string>
    },
    "IMONumber": <string>,
    "MMSI": <string>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}

Resource Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Resources

URI

GET api/v2/public/resources

or

GET api/v2/public/resources/{Id}

Example Usage

// Get a paginated response of all resources
GET api/v2/public/resources

// Get a specific resource by Id
GET api/v2/public/resources/d21d73fb-bb69-11e8-8102-00155d040945

// Get resources that have been modified since a certain Datetime 
GET api/v2/public/resources?$filter=Modified gt datetime'2019-09-05T15:55:24'

Required Parameters

Optional Parameters

Required Permissions

One or both of the following:

Return Value

Action Accepted

Returns an array containing the requested Resources in the format of the Resource Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Resource Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Create Resources

URI

POST api/v2/public/resources

Example Usage

// Create one Resource with two operating areas
POST api/v2/public/resources
{
    "Name": "Tug One",
    "Division": {
        "Id": "8a4cf888-5b12-11e9-9d21-6c8814184910"
    },
    "OperatingAreas": [
        {
            "Id": "1edfb9d4-5b12-11e9-9d21-6c8814184910"
        },
        {
            "Id": "7593fd18-5f9c-11e9-9d22-f01faf02f2e9"
        }
    ]
}

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the created Resources.

<Array of Resource Model>

Action Rejected

{
  "Errors": <Array of Error Model>
}

Update Resources

URIs

Update a Resource

PATCH api/v2/public/resources/

or

PATCH api/v2/public/resources/{Id}

Add an Operating Area to a Resource

POST api/v2/public/resources/{Id}/operatingareas

Remove an Operating Area from a Resource

DELETE api/v2/public/resources/{Id}/operatingareas/{OperatingAreaId}

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the modified Resources.

<Array of Resource Model>

Action Rejected

{
  "Errors": <Array of Error Model>
}

Resource Type

URI

api/v2/public/resourcetypes

Supported Verbs

Data Models

Resource Type Model

{
    "Id": <GUID>,
    "Name": <string>,
    "Parent": {
        "Id": <GUID>,
        "Name": <string>
    }
}

Resource Type Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Resource Types

URI

GET api/v2/public/resourcetypes

Example Usage

GET api/v2/public/resourcetypes

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Resource Types in the format of the Resource Types Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Resource Type Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Either one of:


Ship

Create/Update Ship

URI

api/v1/jobs/ships/CreateOrUpdateShip

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Ship Model

  {
    "Name": <string>,
    "MMSI": <string>,
    "IMONumber": <string>,
    "CallSign": <string>,
    "Nation": <string>,
    "Blocked": <boolean>,
    "ShipType": <string>,
    "ShipTypeId": <GUID>,
    "Beam": <decimal>,
    "Deadweight": <decimal>,
    "GT": <decimal>,
    "Height": <decimal>,
    "NT": <decimal>,
    "LOA": <decimal>,
    "TEU": <decimal>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Ship Object Fields

Return Value

Action Accepted

  "Data":
  {
    "ShipId": <GUID>,
    "ActionType": <string>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>,
        "Details": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Note: ImoNumber, MMSI, CallSign are not required fields when updating. However, one of them needs to be present when inserting.

Find Ships

URI

api/v1/jobs/ships/FindShips

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
  "Data":
  {
    "TotalCount": <integer>,
    "Page": <Array>
    [
      {
        "Id": <GUID>,
        "Name": <string>,
        "MMSI": <string>,
        "IMONumber": <string>,
        "CallSign": <string>,
        "Nation": <string>,
        "Blocked": <boolean>,
        "ShipType": <string>,
        "ShipTypeId": <GUID>,
        "Beam": <decimal>,
        "Deadweight": <decimal>,
        "GT": <decimal>,
        "Height": <decimal>,
        "NT": <decimal>,
        "LOA": <decimal>,
        "TEU": <decimal>,
        "IsRequest": <boolean>,
        "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
      },
      ....
    ]
  }

Ship Types

URI

api/v2/public/ShipTypes

Supported Verbs

Data Models

Ship Type Model

{
    "Id": <GUID>,
    "Name": <string>,
    "AccountingCode": <string>,
    "CargoTypeId": <GUID>,
    "ParentId": <GUID>,
    "Parent": 
    {
        "Id": <GUID>,
        "Name": <string>
    }
}

Ship Type Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Ship Type

URI

GET api/v2/public/shiptypes

or

GET api/v2/public/shiptypes/{Id}

Example Usage

// Get a paginated response of all shiptypes
GET api/v2/public/shiptypes

// Get a specific ship type by Id
GET api/v2/public/shiptypes/69f3ede3-5803-11ea-b615-f01faf08e374

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the requested Ship Type in the format of the ShipType Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of ShipType Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Create Ship Type

URI

POST api/v2/public/shiptypes

Example Usage

// Create one ShipType with a Name and a Parent
POST api/v2/public/shiptypes
{
    "Name": "Ship One",
    "ParentId": "69f3ede3-5803-11ea-b615-f01faf08e374"
}

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the created ShipType.

<Array of ShipType Model>

Action Rejected

{
  "Errors": <Array of Error Model>
}

Update Ship Type

URIs

Update a ShipType

PATCH api/v2/public/shiptypes/

or

PATCH api/v2/public/shiptypes/{Id}

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the modified ShipType.

<Array of ShipType Model>

Action Rejected

{
  "Errors": <Array of Error Model>
}

Tariff

URI

api/v2/public/tariffs

Supported Verbs

Data Models

Tariff Model

{
    "Id": <GUID>,
    "Name": <string>,
    "DivisionId": <GUID>,
    "Division":
    {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
    },
    "AreaId": <GUID>,
    "Area": 
    {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
    }
}

Tariff Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Required Permissions


Tasks

Create/Update Task

URI

api/v1/hsqe/actionitems/CreateOrUpdateTask

Supported Verbs

Required Parameters

Data Model

Task Model

  {
    "Id": <GUID>,
    "AssetId": <GUID>,
    "ComponentId": <GUID>,
    "LocationId": <GUID>,
    "SpaceId": <GUID>,
    "CreatedById": <GUID>,
    "DeletedById": <GUID>,
    "ScheduledById": <GUID>,
    "ScheduledDate": <date>,
    "DueDate": <date>,
    "CompletedDate": <datetime>,
    "DeletedDate": <datetime>,
    "Description": <string>,
    "AssignTo": <string>,
    "Severity": <string>,
    "ScheduledNote": <string>,
    "CompleteNote": <string>,
    "DeleteNote": <string>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "Tags": <Array>
    [
      <string>,
      ....
    ],
    "AssigneeIds": <Array>
    [
      <GUID>,
      ....
    ],
    "CompletedByIds": <Array>
    [
      <GUID>,
      ....
    ],
    "VendorIds": <Array>
    [
      <GUID>,
      ....
    ],
    "PartUsages": <Array>
    [
      <PartUsageModel>,
      ....
    ]
  }

PartUsageModel Model

  {
    "PartId": <GUID>,
    "AssetId": <GUID>,
    "Quantity": <int>
  }

Task Object Fields

PartUsage Object Fields

PartUsage Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <GUID>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Task By Id

URI

api/v1/hsqe/actionitems/FindTaskById

Supported Verbs

Required Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Description": <string>,
          "SourceType": <string>,
          "AssignTo": <string>,
          "Severity": <string>,
          "Status": <string>,
          "AssetId": <GUID>,
          "Asset": <string>,
          "ComponentId": <GUID>,
          "Component": <string>,
          "LocationId": <GUID>,
          "Location": <string>,
          "SpaceId": <GUID>,
          "Space": <string>,
          "ScheduledDate": <datetime>,
          "DueDate": <datetime>,
          "CreatedById": <GUID>,
          "CreatedBy": <string>,
          "CreatedDate": <datetime>,
          "OpenDate": <datetime>,
          "CompletedBy": <Array>
          [
            {
              "Id": <GUID>,
              "PersonId": <GUID>,
              "Name": <string>,
            },
            ....
          ],
          "CompletedDate": <datetime>,
          "CompleteNote": <string>,
          "DeletedById": <GUID>,
          "DeletedBy": <string>,
          "DeletedDate": <datetime>,
          "DeleteNote": <string>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
          "Tags": <Array>
          [
            <string>,
            ....
          ],
          "Assignee": <Array>
          [
            {
              "Id": <GUID>,
              "PersonId": <GUID>,
              "Name": <string>,
            },
            ....
          ],
          "Vendors": <Array>
          [
            {
              "Id": <GUID>,
              "VendorId": <GUID>,
              "Name": <string>,
            },
            ....
          ],
          "PartUsages": <Array>
          [
            {
              "Id": <GUID>,
              "PartId": <GUID>,
              "Part": <string>,
              "AssetId": <GUID>,
              "Asset": <string>,
              "Quantity": <int>,
            },
            ....
          ],
          "ScheduledNotes": <Array>
          [
            {
              "Id": <GUID>,
              "Note": <string>,
              "PostedById": <GUID>,
              "PostedBy": <string>,
              "PostedDate": <datetime>,
            },
            ....
          ],
          "LastSyncDate": <datetime>,
          "ExternalNumber": <string>  
        },
        ...
      ]
    }
  }

Find Tasks

URI

api/v1/hsqe/actionitems/FindTasks

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Description": <string>,
          "SourceType": <string>,
          "AssignTo": <string>,
          "Severity": <string>,
          "Status": <string>,
          "AssetId": <GUID>,
          "Asset": <string>,
          "ComponentId": <GUID>,
          "Component": <string>,
          "LocationId": <GUID>,
          "Location": <string>,
          "SpaceId": <GUID>,
          "Space": <string>,
          "ScheduledDate": <datetime>,
          "DueDate": <datetime>,
          "CreatedById": <GUID>,
          "CreatedBy": <string>,
          "CreatedDate": <datetime>,
          "OpenDate": <datetime>,
          "CompletedBy": <Array>
          [
            {
              "Id": <GUID>,
              "PersonId": <GUID>,
              "Name": <string>,
            },
            ....
          ],
          "CompletedDate": <datetime>,
          "CompleteNote": <string>,
          "DeletedById": <GUID>,
          "DeletedBy": <string>,
          "DeletedDate": <datetime>,
          "DeleteNote": <string>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
          "Tags": <Array>
          [
            <string>,
            ....
          ],
          "Assignee": <Array>
          [
            {
              "Id": <GUID>,
              "PersonId": <GUID>,
              "Name": <string>,
            },
            ....
          ],
          "Vendors": <Array>
          [
            {
              "Id": <GUID>,
              "VendorId": <GUID>,
              "Name": <string>,
            },
            ....
          ],
          "PartUsages": <Array>
          [
            {
              "Id": <GUID>,
              "PartId": <GUID>,
              "Part": <string>,
              "AssetId": <GUID>,
              "Asset": <string>,
              "Quantity": <int>,
            },
            ....
          ],
          "ScheduledNotes": <Array>
          [
            {
              "Id": <GUID>,
              "Note": <string>,
              "PostedById": <GUID>,
              "PostedBy": <string>,
              "PostedDate": <datetime>,
            },
            ....
          ],
          "LastSyncDate": <datetime>,
          "ExternalNumber": <string>
        },
        ...
      ]
    }
  }

Tax Types

Create/Update Tax Type

URI

api/v1/jobs/TaxTypes/CreateOrUpdateTaxType

Supported Verbs

Required Parameters

Data Model

Tax Type Model

  {
    "Id": <GUID>,
    "Name": <string>,
    "ExternalSystemCode": <string>,
    "AccountingCode": <string>,
    "UsesExternalSystem": <boolean>
  }

Tax Type Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <Guid>,
    "ErrorMsgs": <Array>
    [
      {
        "Entity": <string>,
        "Message": <string>,
        "Details": <string>
      },
      ...
    ]
  }

Action Rejected

  "Data": <Array>

Find Tax Types

URI

api/v1/jobs/TaxTypes/FindTaxTypes

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>,
          "AccountingCode": <string>,
          "UsesExternalSystem": <boolean>
        },
        ...
      ]
    }
  }

Action Rejected

  "Data": <Array>

Templates

Frequency Field

Helm CONNECT uses later.js for the Frequency field along with its own custom additions.

later.js Used

Helm CONNECT does not use all of the Time Periods later.js has. Helm CONNECT uses:

Helm CONNECT Custom Additions

A null Frequency field means “On Demand” frequency.

Schedule Effective Date

“Repeats every”

Examples

null

The Template has a “On Demand” frequency; it can be filled out whenever someone wants to.

{
  "schedules": [
    {
      "t": [43200],
      "fd_a": [1609459200000],
      "rr_D": [1]
    }
  ],
  "exceptions": []
}

Repeat daily at 1200 based on the Effective Date starting from 2021-01-01.

{
  "schedules": [
    {
      "t": [0],
      "fd_a": [1609459200000],
      "d": [6]
    }
  ],
  "exceptions": []
}

Repeat weekly on Friday at 0000 starting from 2021-01-01.

{
  "schedules": [
    {
      "fd_a": [1609459200000],
      "rr_W": [3],
      "fd_a_variable": ["LastCompleted"]
    }
  ],
  "exceptions": []
}

Repeat every 3 weeks from the Last Completed Date starting from 2021-01-01.

{
  "schedules": [
    {
      "t": [43200],
      "fd_a": [1609459200000],
      "D": [1,15]
    }
  ]
}

Repeat monthly on the 1st and 15th day of the month at 1200 starting from 2021-01-01.

{
  "schedules": [
    {
      "t": [28800, 72000],
      "fd_a": [1609459200000],
      "D": [1],
      "M": [1]
    },
    {
      "t": [28800, 72000],
      "fd_a": [1609459200000],
      "D": [15],
      "M": [6]
    }
  ]
}

Repeat yearly on January 1st and June 15th at 0800 and 2000 starting from 2021-01-01.

Form Templates

URI

api/v2/public/FormTemplates

Supported Verbs

Data Models

Transaction Model

    {
        "Id": <GUID>,
        "TemplateId": <GUID>,
        "Name": <string>,
        "Modified": <date>,
        "Frequency": <string>,
        "AssetId": <GUID>,
        "LastCompletedDate": <date>,
        "Spaces": [
          {
            "Id": <GUID>,
            "Name": <string>
          },...
        ],
        "IsCrewChangeTriggered": <boolean>,
        "IsShoreOnly": <boolean>,
        "EventTypeId": <GUID>
    }

Form Template Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Example Usage

// Get a paginated response of all Form Templates
GET api/v2/public/FormTemplates

// Get a specific Form Template by Template Id
GET api/v2/public/FormTemplates?$filter=TemplateId eq guid'2a58a342-cfd7-4e41-8e8d-7a6822f49f3f'

// Get Form Templates with the given Form Template's name
GET api/v2/public/FormTemplates?$filter=Name eq 'Basic Form'

// Get Form Templates with the given Asset Id
GET api/v2/public/FormTemplates?$filter=AssetId eq guid'5958a52f-cdd7-4e01-8e0d-7a6822f49f3e'

// Get all Shore Only Form Templates
GET api/v2/public/FormTemplates?$filter=IsShoreOnly eq true

// Get all Crew Change Triggered Form Templates
GET api/v2/public/FormTemplates?$filter=IsCrewChangeTriggered eq true

// Get Event Triggered Form Templates with the given event type Id
GET api/v2/public/FormTemplates?$filter=EventTypeId eq guid'6158e52f-cdd7-4ee1-8e0d-8a1822f49f2e'

// Get Form Templates with Modified Date greater than 2020-01-01
GET api/v2/public/FormTemplates?$filter=Modified gt datetime'2020-01-01'

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the requested Form Templates in the format of the Form Template Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Form Template Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Inspection Templates

URI

api/v2/public/InspectionTemplates

Supported Verbs

Data Models

Transaction Model

    {
        "Id": <GUID>,
        "TemplateId": <GUID>,
        "Name": <string>,
        "Modified": <date>,
        "Frequency": <string>,
        "AssetId": <GUID>,
        "LastCompletedDate": <date>,
        "Spaces": [
          {
            "Id": <GUID>,
            "Name": <string>
          },...
        ],
        "ActivityTypes": [
          {
            "Id": <GUID>,
            "Inclusion": <boolean>
          },...
        ]
    }

Inspection Template Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Example Usage

// Get a paginated response of all Inspection Templates
GET api/v2/public/InspectionTemplates

// Get a specific Inspection Template by Template Id
GET api/v2/public/InspectionTemplates?$filter=TemplateId eq guid'2a58a342-cfd7-4e41-8e8d-7a6822f49f3f'

// Get Inspection Templates with the given Inspection Template's name
GET api/v2/public/InspectionTemplates?$filter=Name eq 'Basic Inspection'

// Get Inspection Templates with the given Asset Id
GET api/v2/public/InspectionTemplates?$filter=AssetId eq guid'5958a52f-cdd7-4e01-8e0d-7a6822f49f3e'

// Get Inspection Templates with Modified Date greater than 2020-01-01
GET api/v2/public/InspectionTemplates?$filter=Modified gt datetime'2020-01-01'

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the requested Inspection Templates in the format of the Inspection Template Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Inspection Template Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Inventory Templates

URI

api/v2/public/InventoryTemplates

Supported Verbs

Data Models

Transaction Model

    {
        "Id": <GUID>,
        "TemplateId": <GUID>,
        "Name": <string>,
        "Modified": <date>,
        "Frequency": <string>,
        "AssetId": <GUID>,
        "LastCompletedDate": <date>,
        "Spaces": [
          {
            "Id": <GUID>,
            "Name": <string>
          },...
        ],
    }

Inventory Template Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Example Usage

// Get a paginated response of all Inventory Templates
GET api/v2/public/InventoryTemplates

// Get a specific Inventory Template by Template Id
GET api/v2/public/InventoryTemplates?$filter=TemplateId eq guid'2a58a342-cfd7-4e41-8e8d-7a6822f49f3f'

// Get Inventory Templates with the given Inventory Template's name
GET api/v2/public/InventoryTemplates?$filter=Name eq 'Basic Inventory'

// Get Inventory Templates with the given Asset Id
GET api/v2/public/InventoryTemplates?$filter=AssetId eq guid'5958a52f-cdd7-4e01-8e0d-7a6822f49f3e'

// Get Inventory Templates with Modified Date greater than 2020-01-01
GET api/v2/public/InventoryTemplates?$filter=Modified gt datetime'2020-01-01'

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the requested Inventory Templates in the format of the Inventory Template Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Inventory Template Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Maintenance Templates

URI

api/v2/public/MaintenanceTemplates

Supported Verbs

Data Models

Transaction Model

    {
        "Id": <GUID>,
        "TemplateId": <GUID>,
        "Name": <string>,
        "Modified": <date>,
        "Frequency": <string>,
        "AssetId": <GUID>,
        "LastCompletedDate": <date>,
        "Spaces": [
          {
            "Id": <GUID>,
            "Name": <string>
          },...
        ],
        "ComponentId": <GUID>,
        "ActivityTypes": [
          {  
            "Id": <GUID>,
            "Inclusion": <boolean>
          },...
        ],
        "ReadingTypes": [
          {
            "Id": <GUID>,
            "Name": <string>,
            "FrequencyHours": <integer>,
            "EstDailyUsageHours": <integer>
          },...
        ],
        "Offsets": [
          {
            "ReadingTypeId": <GUID>,
            "ReadingTypeName": <string>,
            "OffsetHours": <integer>
          },...
        ]
    }

Maintenance Template Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Example Usage

// Get a paginated response of all Maintenance Templates
GET api/v2/public/MaintenanceTemplates

// Get a specific Maintenance Template by Template Id
GET api/v2/public/MaintenanceTemplates?$filter=TemplateId eq guid'2a58a342-cfd7-4e41-8e8d-7a6822f49f3f'

// Get Maintenance Templates with the given Maintenance Template's name
GET api/v2/public/MaintenanceTemplates?$filter=Name eq 'Basic Maintenance'

// Get Maintenance Templates with the given Asset Id
GET api/v2/public/MaintenanceTemplates?$filter=AssetId eq guid'5958a52f-cdd7-4e01-8e0d-7a6822f49f3e'

// Get Maintenance Templates with the given Component Id
GET api/v2/public/MaintenanceTemplates?$filter=ComponentId eq guid'6354e5bf-c127-3ea1-2e0d-7a38e2fa9f3e'

// Get Maintenance Templates with Modified Date greater than 2020-01-01
GET api/v2/public/MaintenanceTemplates?$filter=Modified gt datetime'2020-01-01'

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the requested Maintenance Templates in the format of the Maintenance Template Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Maintenance Template Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Transaction (Jobs)

Transactions

URI

api/v2/public/transactions

Supported Verbs

Data Models

Transaction Model

    {
        "Id": <GUID>,
        "TransactionNumber": <string>,
        "Archived": <date>,
        "TransactionType": {
            "Id": <GUID>,
            "Name": <string>,
            "IsAP": <boolean>,
            "IsAR": <boolean>
        },
        "Division": {
            "Id": <GUID>,
            "Name": <string>,
            "ExternalSystemCode": <string>
        },
        "Area": {
            "Id": <GUID>,
            "Name": <string>,
            "ExternalSystemCode": <string>
        },
        "TransactionDate": <date>,
        "DraftDate": <date>,
        "DueDate": <date>,
        "Approved": <date>,
        "Submitted": <date>,
        "Posted": <date>,
        "IsApproved": <boolean>,
        "IsSubmitted": <boolean>,
        "IsPosted": <boolean>,
        "ExternalTransactionNumber": <string>,
        "FormattedAddress": <string>,
        "BillingEmailAddresses": <string>,
        "CustomerPONumber": <string>,
        "ParentTransaction": {
            "Id": <GUID>,
            "TransactionNumber": <string>,
        },
        "ReversedTransaction": {
            "Id": <GUID>,
            "TransactionNumber": <string>,
        },
        "OriginalTransaction": {
            "Id": <GUID>,
            "TransactionNumber": <string>,
        },
        "Reversed": <boolean>,
        "IsReversal": <boolean>,
        "Account": {
            "Id": <GUID>,
            "AccountNumber": <string>,
            "Name": <string>
        },
        "Company": {
            "Id": <GUID>,
            "Name": <string>,
            "ExternalSystemCode": <string>
        },
        "AccountingTerm": {
            "Id": <GUID>,
            "NumberOfDays": <decimal>,
            "TransactionNumber": <string>,
        },
        "Contract": {
            "Id": <GUID>,
            "Description": <string>,
        },
        "CurrencyType": {
            "Id": <GUID>,
            "Name": <string>,
            "ExternalSystemCode": <string>
        },
        "ExchangeRate": <decimal>,
        "ReversalReason": {
            "Id": <GUID>,
            "Reason": <string>,
        },
        "OrderNumber": <string>,
        "ShipName": <string>,
        "InvoiceTemplate": {
            "Id": <GUID>,
            "Name": <string>
        },
        "IsManual": <boolean>,
        "CreatedByUser": {
            "Id": <GUID>,
            "LoginEmail": <string>
        },
        "ModifiedByUser": {
            "Id": <GUID>,
            "LoginEmail": <string>
        },
        "ApprovedByUser": {
            "Id": <GUID>,
            "LoginEmail": <string>
        },
        "SubmittedByUser": {
            "Id": <GUID>,
            "LoginEmail": <string>
        },
        "BillingInterval": {
            "Id": <GUID>,
            "StartDate": <date>,
            "EndDate": <date>
        },
        "Note": <string>,
        "Modified": <date>,
        "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        "TransactionNotes": [
            {
                "Id": <GUID>,
                "Message": <string>,
                "MessageDate": <date>
            },
            ...
        ],
        "TransactionLines": [
            {
                "Id": <GUID>,
                "Rate": <decimal>,
                "Quantity": <decimal>,
                "Amount": <decimal>,
                "HeaderDescription": <string>,
                "DetailDescription": <string>,
                "DetailDate": <date>,
                "BillingTypeId": <GUID>,
                "BillingIntervalId": <GUID>,
                "OrderId": <GUID>,
                "TripId": <GUID>,
                "JobId": <GUID>,
                "JobActivityId": <GUID>,
                "EventId": <GUID>,
                "LastModifiedUser": {
                    "Id": <GUID>,
                    "LoginEmail": <string>
                },
                "RevenueAllocations": [
                    {
                        "Id": <GUID>,
                        "ReferenceTransactionLineId": <GUID>,
                        "Debit": <decimal>,
                        "Credit": <decimal>,
                        "DivisionId": <GUID>,
                        "BillingIntervalId": <GUID>,
                        "OrderId": <GUID>,
                        "TripId": <GUID>,
                        "JobId": <GUID>,
                        "JobActivityId": <GUID>,
                        "ShipTypeId": <GUID>,
                        "AccountingCodes": []
                    },
                    ...
                ]
            },
            ...
        ]
    }

Transaction Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Transaction

URI

GET api/v2/public/transactions

or

GET api/v2/public/transactions/{Id}

Example Usage

// Get a paginated response of all transactions
GET api/v2/public/transactions

// Get a specific transaction by Id
GET api/v2/public/transactions/d21d73fb-bb69-11e8-8102-00155d040945

Required Parameters

Optional Parameters

Required Permissions

One or both of the following:

Return Value

Action Accepted

Returns an array containing the requested Transactions in the format of the Transaction Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Transaction Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Create Transaction

URI

POST api/v2/public/transactions

Example Usage

// Create one transaction
POST api/v2/public/transactions
{
    "Division": {
        "Id": "ba9269cd-c860-11e9-9328-d89ef3f189da"
    },
    "TransactionType": {
        "Id": "ba926642-c860-11e9-9328-d89ef3f189da"
    },
    "Account": {
        "Id": "c11fdfa4-c860-11e9-9328-d89ef3f189da"
    },
    "CurrencyType": {
        "Id": "c11fdf29-c860-11e9-9328-d89ef3f189da"
    },
    "InvoiceTemplate": {
        "Id": "ba92665e-c860-11e9-9328-d89ef3f189da"
    },
    "TransactionNotes":
    [
        {
            "Message": "This is a test transaction."    
        }
    ]
    ,
    "TransactionLines": 
    [
        {
            "Rate": 10,
            "Quantity": 20,
            "DetailDescription": "a",
            "DetailDate": "2019-01-01 01:00",
            "BillingTypeId": "C11FDF4D-C860-11E9-9328-D89EF3F189DA"
        }
    ]
    
}

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the created Transactions.

<Array of Transaction Model>

Action Rejected

{
  "Errors": <Array of Error Model>
}

Update Transaction

URIs

Update a Transaction

PATCH api/v2/public/transactions/

or

PATCH api/v2/public/transactions/{Id}

Add a Transaction Note to a Transaction

POST api/v2/public/transactions/{Id}/transactionnotes

Add a Transaction Line to a Transaction

POST api/v2/public/transactions/{Id}/transactionlines

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the modified Transactions.

<Array of Transaction Model>

Action Rejected

{
  "Errors": <Array of Error Model>
}

Transaction Metadata

URI

api/v2/public/transactionmetadata

Supported Verbs

Data Models

Transaction Metadata Model

{
    "Id": <GUID>,
    "TransactionNumber": <string>,
    "Modified": <date>,
    "TransactionMetadata": <JSON>
}

Transaction Metadata Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields

Find Transaction Metadata

URI

GET api/v2/public/transactionmetadata

Example Usage

GET api/v2/public/transactionmetadata

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested Transaction Metadata in the format of the Transaction Metadata Model.

{
    "Page": <integer>,
    "Next": <URI>,
    "Results": <Array of Transaction Metadata Model>
}

Action Rejected

{
  "Errors": <Array of Error Model>
}

Required Permissions

Transaction Charge

URI

api/v2/public/transactioncharge

Supported Verbs

Data Models

Transaction Charge Model

{
    "Id": <GUID>,
    "TransactionNumber": <string>,
    "TransactionLines": [
        {
            "Id": <GUID>,
            "ChargeJson": <JSON>
        }
    ]
}

Transaction Charge Fields

Error Model

{
    "ErrorCode": <integer>,
    "ErrorMessage": <string>
}

Error Model Fields