NAV
Release 1.28

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 URL

The API URL consists of 2 parts.

The API can be accessed using this format:

https://<company domain>/<api path>

Example Usage:

https://company_name.helmconnect.com/api/v2/public/parts

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": <DateTime>,
    "PlannedEndDate": <DateTime>,
    "StartDate": <DateTime>,
    "EndDate": <DateTime>,
    "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": <DateTime>,
          "PlannedEndDate": <DateTime>,
          "StartDate": <DateTime>,
          "EndDate": <DateTime>,
          "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": <DateTime>,
    "PlannedEndDate": <DateTime>,
    "StartDate": <DateTime>,
    "EndDate": <DateTime>,
    "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": <DateTime>,
          "PlannedEndDate": <DateTime>,
          "StartDate": <DateTime>,
          "EndDate": <DateTime>,
          "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>
        },
        ...
    ],
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}

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


Asset Profiles

URI

api/v2/public/assetprofiles

Supported Verbs

Example Usage

// Get a paginated response of all asset profiles
GET api/v2/public/assetprofiles

// Get a specific asset profile by Id
GET api/v2/public/assetprofiles/d21d73fb-bb69-11e8-8102-00155d040945

// Add a single asset profile
POST api/v2/public/assetprofiles
{
    "Name": "New Profile",
    "Type": "PRIMARY_ASSET"
}

// Update Name of asset profile. Type is unpatchable
PATCH api/v2/public/assetprofiles
{
    "Id": "7694520e-b2de-4dbe-9d6d-fbf8addd8a28",
    "Name": "New Profile 2"
}

PATCH api/v2/public/assetprofiles/7694520e-b2de-4dbe-9d6d-fbf8addd8a28
{
    "Name": "New Profile 2"
}

// Delete an asset profile
DELETE api/v2/public/assetprofiles/7694520e-b2de-4dbe-9d6d-fbf8addd8a28

Data Models

Asset Profile Model

{
    "Id": <Guid>,
    "Name": <String>,
    "Type": <String>
}

Asset Profile Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields


Asset Types

URI

api/v2/public/assettypes

Supported Verbs

Data Models

Asset Type Model

{
    "Id": <Guid>,
    "Name": <String>,
    "ShortName": <String>,
    "IsActive": <Boolean>,
    "Archived": <DateTime>
}

Asset Type Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields


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>,
    "AssetProfileId": <Guid>,
    "TimeZone": <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>,
          "AssetProfileId": <Guid>,
          "AssetProfileName": <String>,
          "TimeZone": <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>,
    "OfficialQuantityOverride": <Decimal>,
    "OfficialQuantityUnitIdOverride": <Guid>,
    "OfficialQuantityUnitId": <Guid>,
    "OfficialQuantity": <Decimal>,
    "OnTime": <DateTime>,
    "OnTimeAdjusted": <DateTime>,
    "SplitShipment": <Boolean>,
    "UnloadingComments": <String>,
    "LoadingComments": <String>,
    "ArrivalDate": <DateTime>,
    "ShoreNet": <Decimal>,
    "ShoreGross": <Decimal>,
    "BargeNet": <Decimal>,
    "Created": <DateTime>,
    "Modified": <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>,
        "Modified": <DateTime>,
    },
    "LoadOrder": <Integer>,
    "DropOrder": <Integer>,
    "AssignedTankermen": <Array>
    [
        {
            "Id": <Guid>,
            "Name": <String>
        },
        ...
    ],
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}

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>,
    "Modified": <DateTime>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "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>,
            "Modified": <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


Certifications

Find Certifications

URI

api/v1/hsqe/certifications/FindCertifications

Supported Verbs

Required Parameters

Return Value

With no results

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

With results

  {
    "Data":
    {
      "TotalCount": <Integer>,
      "Page": <Array>
      [
        {
          "TypeId": <Guid>,
          "Type": <String>,
          "TargetId": <Guid>,
          "Target": <String>,
          "PositionId": <Guid>,
          "AssetTypeId": <Guid>,
          "RequiredToOperate": <Boolean>,
          "DocumentRequired": <Boolean>,
          "RequireExpiration": <Boolean>,
          "Category": <String>,
          "CurrentCertification":
              {
                  "Id": <Guid>,
                  "Obtained": <DateTime>,
                  "Expires": <DateTime>,
                  "ReferenceNumber": <String>,
                  "Updated": <DateTime>,
                  "Attachments": [
                      {
                          "Name": <String>
                      }, ...
                  ]
              },
          "HistoricalCertifications": [
              {
                  "Id": <Guid>,
                  "Obtained": <DateTime>,
                  "Expires": <DateTime>,
                  "ReferenceNumber": <String>,
                  "Updated": <DateTime>,
                  "Attachments": [
                      {
                          "Name": <String>
                      }, ...
                  ]
              }, ...
          ],
        },
        ...
      ]
    }
  }

Create/Update Certification

URI

api/v1/hsqe/certifications/CreateCertification

Supported Verbs

Required Parameters

Data Model

Certificate Model

  {
    "TypeId": <Guid>,
    "AssetId": <Guid>,
    "PersonId": <Guid>,
    "Obtained": <DateTime>,
    "Expires": <DateTime>,
    "ReferenceNumber": <String>
  }

Certification Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Add Certification Attachment

URI

api/v1/hsqe/certifications/AddCertificationAttachment

Supported Verbs

Required Parameters

Return Value

Action Accepted

  Data:
  {
    "ActionType": "Insert"
  }

Action Rejected

"Message": Error Message

Commodity

Create/Update Commodity

URI

api/v2/public/commodities

Supported Verbs

Data Models

Commodity Model

{
    "Id": <Guid>,
    "Name": <String>,
    "ShortName": <String>,
    "CommodityType": <Commodity Type Model>,
    "DefaultAmountUnit": <Part Unit Type Model>,
    "ExternalSystemCode": <String>
}

Commodity Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields

Find Commodities

URIs

GET api/v2/public/commodities

or

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

Example Usage

// Gets a paged result of commodities
GET api/v2/public/commodities

// Gets a single commodity
GET api/v2/public/commodities/0CDF2BFE-8E8C-11EC-BA42-E4B97AD5B443

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested commodities in the format of commodity model.

{
    "Page": <Integer>,
    "Next": <Uri>,
    "Results": <Array of Commodity Model>
}

Action Rejected

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

Create Commodity

URI

POST api/v2/public/commodities

Example Usage

// Add a single commodity
POST api/v2/public/commodities
{
    "Name": "Grains",
    "ShortName: "G",
    "CommodityType":
    {
        "Id": "9ab7d52a-8dcd-11ec-ba42-e4b97ad5b443" 
    },
    "DefaultAmountUnit": 
    {
        "Id": "9ab7d52b-8dcd-11ec-ba42-e4b97ad5b443"
    },
    "ExternalSystemCode": "X-4123"
}

// Add multiple commodities.
POST api/v2/public/commodities
[
    {
        "Name": "Grains",
        "ShortName: "G",
        "CommodityType":
        {
            "Id": "9ab7d52a-8dcd-11ec-ba42-e4b97ad5b443" 
        },
        "DefaultAmountUnit": 
        {
            "Id": "9ab7d52b-8dcd-11ec-ba42-e4b97ad5b443"
        },
        "ExternalSystemCode": "X-4123"
    },
    {
        "Name": "Sand",
        "ShortName: "s",
        "CommodityType":
        {
            "Id": "9ab7d52a-8dcd-11ec-ba42-e4b97ad5b443" 
        },
        "DefaultAmountUnit": 
        {
            "Id": "9ab7d52b-8dcd-11ec-ba42-e4b97ad5b443"
        },
        "ExternalSystemCode": "X-5233"
    }
]

Required Parameters

Return Value

Action Accepted

Returns a single Commodity Model or an array of Commodity Model.

<Commodity Model> | <Array of Commodity Model>

Action Rejected

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

Update Commodity

URI

PATCH api/v2/public/commodities

or

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

Example Usage

// Update commodity name
PATCH api/v2/public/commodities/7694520e-b2de-4dbe-9d6d-fbf8addd8a28
{
    "Name": "new commodity name"
}

// Update commodity type
PATCH api/v2/public/commodities
{
    "Id": "7694520e-b2de-4dbe-9d6d-fbf8addd8a28",
    "CommodityType": 
    {
        "Id: "9AB7D180-8DCD-11EC-BA42-E4B97AD5B443"
    }
}

Required Parameters

Return Value

Action Accepted

Returns a single or an array of all modified commodities.

<Commodity Model> | <Array of Commodity Model>

Action Rejected

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

Commodity Type

Create/Update Commodity Type

URI

api/v2/public/commoditytypes

Supported Verbs

Data Models

Commodity Type Model

{
    "Id": <Guid>,
    "Name": <String>,
    "Attribute": <String>,
}

Commodity Type Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields

Find Commodity Type

URIs

GET api/v2/public/commoditytypes

or

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

Example Usage

// Gets a paged result of commodity yypes
GET api/v2/public/commoditytypes

// Gets a single commodity type
GET api/v2/public/commoditytypes/0CDF2BFE-8E8C-11EC-BA42-E4B97AD5B443

Required Parameters

Optional Parameters

Return Value

Action Accepted

Returns an array containing the requested commodity types in the format of commodity type model.

{
    "Page": <Integer>,
    "Next": <Uri>,
    "Results": <Array of Commodity Type Model>
}

Action Rejected

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

Create Commodity Type

URI

POST api/v2/public/commoditytypes

Example Usage

// Add a single commodity type
POST api/v2/public/commoditytypes
{
    "Name": "Agriculture",
    "Attribute: "DRY",
}

// Add multiple commodity types
POST api/v2/public/commoditytypes
[
    {
        "Name": "Agriculture",
        "Attribute: "DRY",
    },
    {
        "Name": "Flammable Liquid",
        "Attribute: "LIQUID",
    }
]

Required Parameters

Return Value

Action Accepted

Returns a single Commodity Type Model or an array of Commodity Type Model.

<Commodity Type Model> | <Array of Commodity Type Model>

Action Rejected

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

Update Commodity Type

URI

PATCH api/v2/public/commoditytypes

or

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

Example Usage

// Update commodity type name
PATCH api/v2/public/commoditytypes/7694520e-b2de-4dbe-9d6d-fbf8addd8a28
{
    "Name": "new CT name"
}

// Update commodity type's attribute
PATCH api/v2/public/commoditytypes
{
    "Id": "7694520e-b2de-4dbe-9d6d-fbf8addd8a28",
    "Attribute": "FLUID"
}

Required Parameters

Return Value

Action Accepted

Returns a single or an array of all modified commodities.

<Commodity Type Model> | <Array of Commodity Type Model>

Action Rejected

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

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>
                    },
                    ....
                  ]
                },
                ....
              ]
            },
            ....
          ]
        },
        ....
      ]
    }
  }

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": <DateTime>,
    "ComponentTypeId": <Guid>,
    "ComponentTypeName": <String>,
    "EssentialSystem": <Boolean>,
    "MakeId": <Guid>,
    "MakeName": <String>,
    "ModelId": <Guid>,
    "ModelName": <String>,
    "Modified": <DateTime>,
    "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>
}

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>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}

Contract Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields

Required Permissions


Corrective Action Types

URI

api/v2/public/correctiveactiontypes

Supported Verbs

Data Models

Corrective Action Type Model

{
    "Id": <Guid>,
    "Name": <String>
}

Corrective Action Type Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields

Find Corrective Action Types

URI

GET api/v2/public/correctiveactiontypes

or

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

Example Usage

// Get a paginated response of all corrective action types
GET api/v2/public/correctiveactiontypes

// Get a specific corrective action type by Id
GET api/v2/public/correctiveactiontypes/d21d73fb-bb69-11e8-8102-00155d040945

Required Parameters

Optional Parameters

Return Value

Action Accepted

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

{
    "Page": <Integer>,
    "Next": <Uri>,
    "Results": <Array of Corrective Action Type Model>
}

Action Rejected

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

Required Permissions


Corrective Actions

Corrective Actions

URI

api/v2/public/CorrectiveActions

Supported Verbs

Data Models

Corrective Action Model

    {
        "Id": <Guid>,
        "Description": <String>,
        "SourceType": <String>,
        "Source": <String>,
        "ExternalNumber": <String>,
        "AssignTo": <String>,
        "Severity": <String>,
        "Status": <String>,
        "AssetId": <Guid>,
        "Asset": <String>,
        "ComponentId": <Guid>,
        "Component": <String>,
        "LocationId": <Guid>,
        "Location": <String>,
        "SpaceId": <Guid>,
        "Space": <String>,
        "CreatedDate": <DateTime>,
        "ModifiedDate": <DateTime>,
        "OpenDate": <DateTime>,
        "DueDate": <DateTime>,
        "CompletedDate": <DateTime>,
        "ApprovedDate": <DateTime>,
        "DeclinedDate": <DateTime>,
        "CreatedById": <Guid>,
        "CreatedBy": <String>,
        "DeclinedById": <Guid>,
        "DeclinedBy": <String>,
        "ApprovedById": <Guid>,
        "ApprovedBy": <String>,
        "CompleteNote": {
            "Id": <Guid>,
            "Note": <String>,
            "PostedById": <Guid>,
            "PostedBy": <String>,
            "Posted": <DateTime>,
            "Updated": <DateTime>,
            "Archived": <DateTime>,
        },
        "DeclinedNote": {
            "Id": <Guid>,
            "Note": <String>,
            "PostedById": <Guid>,
            "PostedBy": <String>,
            "Posted": <DateTime>,
            "Updated": <DateTime>,
            "Archived": <DateTime>,
        },
        "ApprovedNote": {
            "Id": <Guid>,
            "Note": <String>,
            "PostedById": <Guid>,
            "PostedBy": <String>,
            "Posted": <DateTime>,
            "Updated": <DateTime>,
            "Archived": <DateTime>,
        },
        "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        "CorrectiveActionTypeId": <Guid>,
        "CorrectiveActionType": <String>,
        "Tags": [
          {
            "Id": <Guid>,
            "Tag": <String>,
            "Archived": <DateTime>,
          },...
        ],

        "CompletedBy": [
          {
            "Id": <Guid>,
            "Name": <String>,
            "Archived": <DateTime>,
          },...
        ],
        "Assignees": [
          {
            "Id": <Guid>,
            "Name": <String>,
            "Archived": <DateTime>,
          },...
        ],
        "Vendors": [
          {
            "Id": <Guid>,
            "Name": <String>,
            "Archived": <DateTime>,
          },...
        ],
        "Attachments": [
          {
            "Id": <Guid>,
            "FileName": <String>,
            "FileSize": <Integer>,
            "AttachedDate": <DateTime>,
            "Archived": <DateTime>,
          },...          
        ],        
        "Notes": [
          {
            "Id": <Guid>,
            "Note": <String>,
            "PostedById": <Guid>,
            "PostedBy": <String>,
            "Posted": <DateTime>,
            "Updated": <DateTime>,
            "Archived": <DateTime>,
          },...
        ],
        "Finding": <String>
    }

Corrective Action Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields

Example Usage

// Get a paginated response of all published Corrective Actions
GET api/v2/public/CorrectiveActions

// Get a specific Corrective Action by DeclinedById
GET api/v2/public/CorrectiveActions?$filter=DeclinedById eq Guid'2a58a342-cfd7-4e41-8e8d-7a6822f49f3f'

// Get Corrective Action with the given Corrective Action's description
GET api/v2/public/CorrectiveActions?$filter=Description eq 'Basic CA'

// Get Corrective Action with a specific Tag
GET api/V2/public/CorrectiveActions?$filter=Tags/any(t:t/Tag eq 'TagName')

Required Parameters

Optional Parameters

Required Permissions

API > CorrectiveActions

Return Value

Action Accepted

Returns an array containing the requested Corrective Actions in the format of the Corrective Action Model.

{
    "Page": <Integer>,
    "Next": <Uri>,
    "Results": <Array of Corrective Action 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": <DateTime>,
    "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": <DateTime>
  }

User Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Dimensions

URI

api/v2/public/dimensions

Supported Verbs

Example Usage

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

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

// Add a single dimension
POST api/v2/public/dimensions
{
    "Description": "New Dimension",
    "Length": 100,
    "Width": 200,
    "Height": 9.99,
    "Unit": "ft"
}

// Update Length of dimension.
PATCH api/v2/public/dimensions
{
    "Id": "7694520e-b2de-4dbe-9d6d-fbf8addd8a28",
    "Length": 111.11
}

PATCH api/v2/public/dimensions/7694520e-b2de-4dbe-9d6d-fbf8addd8a28
{
    "Length": 111.11
}

// Delete a dimension
DELETE api/v2/public/dimensions/7694520e-b2de-4dbe-9d6d-fbf8addd8a28

Data Models

Dimension Model

{
    "Id": <Guid>,
    "Description": <String>,
    "Length": <number>,
    "Width": <number>,
    "Height": <number>,
    "Unit": <String>,
    "Archived": <DateTime>
}

Dimension Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields


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>,
          "TimeZone": <String>,
          "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>

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>
}

Event

Create/Update Event

URI

api/v1/core/events/CreateOrUpdateEvent

Supported Verbs

Required Parameters

Data Model

Event Model

  {
    "Id": <Guid>,
    "Description": <String>,
    "EventDate": <DateTime>,
    "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": <DateTime>,
          "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": <DateTime>,
    "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": <DateTime>,
          "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": <DateTime>,
    "EventDate": <DateTime>,
    "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": <DateTime>,
          "EventDate": <DateTime>,
          "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>,
    "Type": <String>,
    "Spaces": <Array>
    [
        {
            "Id": <Guid>,
            "Name": <String>,
        },
        ...
    ],
    "Tags": <Array>
    [
        {
            "Id": <Guid>,
            "Name": <String>,
        },
        ...
    ],
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}

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


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": <DateTime>,
    "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": <Boolean>,
    "Required": <Boolean>,
    "RequiredOn" <Integer>,
    "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": <DateTime>,
    "EndDate": <DateTime>,
    "PlannedStartDate": <DateTime>,
    "PlannedEndDate": <DateTime>,
    "RunningFrom": <Decimal>,
    "CancelledDate": <DateTime>,
    "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": <DateTime>,
    "EndDate": <DateTime>,
    "PlannedStartDate": <DateTime>,
    "PlannedEndDate": <DateTime>,
    "RunningFrom": <Decimal>,
    "CancelledDate": <DateTime>,
    "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": <DateTime>,
        "EndDate": <DateTime>,
        "PlannedStartDate": <DateTime>,
        "PlannedEndDate": <DateTime>,
        "CancelledDate": <DateTime>,
        "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>,
    "Areas": <Array> [
        {
            "Id": <Guid>,
            "Name": <String>,
            "ExternalSystemCode": <String>,
            "ParentId": <Guid>
        }
    ]
}

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": <DateTime>,
    "ReceivedDate": <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": <DateTime>,
        "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": <DateTime>,
    "StartDate": <DateTime>,
    "EndDate": <DateTime>,
    "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": <DateTime>,
    "EndDate": <DateTime>,
    "PlannedStartDate": <DateTime>,
    "PlannedEndDate": <DateTime>,
    "RunningFrom": <Decimal>,
    "CancelledDate": <DateTime>,
    "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": <DateTime>,
        "ArchivedDate": <DateTime>,
        "Modified": <DateTime>,
        "ReceivedDate": <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": <DateTime>,
            "EndDate": <DateTime>,
            "RequestedDate": <DateTime>,
            "IsRequestedDateFirm": <Boolean>,
            "EstimatedDuration": <Decimal>,
            "Status": <String>,
            "ArchivedDate": <DateTime>,
            "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": <DateTime>,
                "EndDate": <DateTime>,
                "PlannedStartDate": <DateTime>,
                "PlannedEndDate": <DateTime>,
                "CancelledDate": <DateTime>,
                "IsNoCharge": <Boolean>,
                "ArchivedDate": <DateTime>,
                "IsRequest": <Boolean>
                "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
              },
              ....
            ]
          },
          ....
        ],
        "OrderNotes": <Array>
        [
          {
            "Id": <Guid>,
            "Message": <String>,
            "MessageDate": <DateTime>,
            "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": <DateTime>,
    "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 DateTime
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": <DateTime>,
            "EndDate": <DateTime>,
            "AccountingCodes":
            {
              <String(ReferenceType)>:
              {
                "Id": <Guid>,
                "AccountingCode": <String>,
                "EntityName": <String>,
                "ReferenceType": <String>
              },
              ....
            }
          ],
          "PersonBankRecords":
          [
            {
              "Id": <Guid>,
              "Rate": <Decimal>,
              "Quantity": <Decimal>,
              "Factor": <Decimal>,
              "Amount": <Decimal>,
              "Date": <DateTime>,
              "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": <DateTime>,
          "EndDate": <DateTime>,
          "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": <DateTime>,
    "ResetExportDate": <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 Person Base Rate

URI

api/v1/Personnel/People/CreateOrUpdateBaseRate

Supported Verbs

Required Parameters

Data Model

Person Base Rate Model

  {
    "Id": <Guid>,
    "PersonId": <Guid>,
    "Rate": <Decimal>,
    "EffectiveDate": <DateTime>,
    "DoArchive": <Boolean>
  }

Person Base Rate Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Request Pay

URI

api/v2/public/RequestPay

Supported Verbs

Required Parameters

Optional Parameters

Data Models

Request Pay Model

{
    "Id": <Guid>,
    "RequestDate": <DateTime>,
    "Rate": <Decimal>,
    "Factor": <Decimal>,
    "Quantity": <Decimal>,
    "Amount": <Decimal>,
    "PayrollClassId": <Guid>,
    "EarningCodeId": <Guid>,
    "Status": <Integer>,
    "VesselId": <Guid>,
    "PersonId": <Guid>,
    "PayrollPeriodId": <Guid>,
    "Description": <String>
}

Request Pay Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields

Return Value

Action Accepted

Returns an array containing the requested payroll requests in the format of the Request Pay Model.

{
    "Page": <Integer>,
    "Next": <Uri>,
    "Results": <Array of Request Pay Model>
}

Action Rejected

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

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": <DateTime>,
    "DoArchive": <Boolean>,
    "UseBaseRate": <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>

Create/Update Payroll Class Base Rate

URI

api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClassBaseRate

Supported Verbs

Required Parameters

Data Model

Payroll Class Base Rate Model

  {
    "Id": <Guid>,
    "PayrollClassId": <Guid>,
    "Rate": <Decimal>,
    "EffectiveDate": <DateTime>,
    "DoArchive": <Boolean>
  }

Payroll Class Base Rate 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>,
                  "UseBaseRate": <Boolean>,
                  "QuantityType": <String>,
                  "EarningCode": {
                      "Id": <Guid>,
                      "Name": <String>
                  },
                  "Factor": <Decimal>,
                  "Rate": <Decimal>,
                  "AccrualFactor": <Decimal>,
                  "EffectiveDate": <DateTime>
              }, ...
          ],
           "BaseRates" [
              {
                  "Id": <Guid>,
                  "PayrollClassId": <Guid>,
                  "Rate": <Decimal>,
                  "EffectiveDate": <DateTime>
              }, ...
          ]
        },
        ...
      ]
    }
  }

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:


Reading Type

URI

api/v2/public/readingtypes

Supported Verbs

Data Models

Reading Types Model

    {
        "Id": <Guid>,
        "Name": <String>,
        "DisplayName": <String>,
        "Unit ": <String>,
        "IsCumulative": <Boolean>,
    }

Reading Types Fields

Error Model Fields

Find Reading Types

URI

GET api/v2/public/readingtypes

Example Usage

GET api/v2/public/readingtypes

Required Parameters

Optional Parameters

Return Value

Action Accepted

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

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

Action Rejected

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

Readings

URI

api/v2/public/readings

Supported Verbs

Data Models

Readings Model

    {
        "Id": <Guid>,
        "AssetId": <Guid>,
        "ComponentId": <Guid>,
        "IsCumulative": <Boolean>,
        "VesselComponentId": <Guid>,
        "Source": <String>,
        "SourceId": <Guid>,
        "EntryDateTime": <date>,
        "Submitted": <date>,
        "RecordedByPersonId": <Guid>,
        "ReadingTypeId": <Guid>,
        "Value", <Decimal>,
        "Modified": <date>
    }

Readings Fields

Find Readings

URI

GET api/v2/public/readings

or

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

Example usage

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

// Get a specific request by Id
GET api/v2/public/readings/<Guid>

Required Parameters

Optional Parameters

Post Readings

URI

api/v1/hsqe/CreateReadings

Supported Verbs

Required Parameters

Data Model

Create Readings Model

  {
    "AssetId": <Guid>,
    "RecordedByPersonId": <Guid>,
    "EntryDateTime": <date>,
    "Readings":  <Array>
    [
      {

        "VesselComponentId": <Guid>,
        "ReadingTypeId": <Guid>,
        "Value": <Decimal>,
        "PropagateReading": <Boolean>
      }
    ],
  }

Create Readings Object Fields

Return Value

With no results

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

Requests

URI

api/v2/public/requests

Supported Verbs

Data Models

Request Model

    {
        "Id": <Guid>,
        "Type": <String>,
        "State": <String>,
        "RequestedDate": <DateTime>,
        "Modified": <DateTime>,
        "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"],
    "StorageLocationId": <Guid>,
    "Type": <String> ["Labor", "Part"],
    "UserDefined": User Defined Data Model (see [User Defined Fields](#UDF) section for more details)
  }

Line Item Object Fields

-    **DataType:** User Defined Data Model (see [User Defined Fields](#UDF) section for more details)

-    **Required:** false

-    **Purpose:** Sets the UserDefined for the Line Item. Will keep the old value if not specified.

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),
          "StorageLocation" : {
              "Id": <Guid>,
              "Tier1StorageLabelName": <String>,
              "Tier1StorageTypeName": <String>,
              "Tier2StorageLabelName": <String>,
              "Tier2StorageTypeName": <String>,
              "Tier3StorageLabelName": <String>
              "Tier3StorageTypeName": <String>
          },
        },
        ...
      ]
    }
  }

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>
}

Storage Locations

URI

api/v2/public/storagelocations

Supported Verbs

Data Models

StorageLocation Model

{
    "Id": <Guid>,
    "AssetId": <Guid>,
    "AssetName": <String>,
    "Tier1StorageLabelId": <Guid>,
    "Tier1StorageLabelName": <String>,
    "Tier2StorageLabelId": <Guid>,
    "Tier2StorageLabelName": <String>,
    "Tier3StorageLabelId": <Guid>,
    "Tier3StorageLabelName": <String>,
}

StorageLocation fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields

Create Storage Location

URI

POST api/v2/public/storagelocations

Example Usage

// Create one Storage Location with existing labels
POST api/v2/public/storagelocations
{
    "AssetId": "cd87a117-9e8b-11ed-bb26-bc17b855d141",
    "Tier1StorageLabelId": "47eb34dd-9e8c-11ed-bb26-bc17b855d141",
    "Tier2StorageLabelId": "47eb34df-9e8c-11ed-bb26-bc17b855d141",
    "Tier3StorageLabelId": "7a8b9e42-a1be-11ed-bb26-bc17b855d141",
}

// Create one Storage Location with a new tier 1 Storage Label
POST api/v2/public/storagelocations
{
    "AssetId": "cd87a117-9e8b-11ed-bb26-bc17b855d141",
    "Tier1StorageLabelName": "ZONE_NEW",
    "Tier2StorageLabelId": "47eb34df-9e8c-11ed-bb26-bc17b855d141",
    "Tier3StorageLabelId": "7a8b9e42-a1be-11ed-bb26-bc17b855d141",
}

// Create one Storage Location with all new labels
POST api/v2/public/storagelocations
{
    AssetId: "be085b02-a283-11ed-bb26-bc17b855d141",
    Tier1StorageLabelName: "TIER1_1",
    Tier2StorageLabelName: "TIER2_1",
    Tier3StorageLabelName: "TIER3_1"
}

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the created Storage Locations.

<Array of StorageLocation Model>

Action Rejected

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

Update Storage Location

URIs

Update a Location

PATCH api/v2/public/storagelocations/

or

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

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the modified Storage Locations.

<Array of StorageLocation Model>

Action Rejected

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

Find Storage Locations

URI

GET api/v2/public/storagelocations

or

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

Example Usage

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

// Get a specific storage location by Id
GET api/v2/public/storagelocations/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 Storage Locations in the format of the Storage Location Model.

{
    "Page": <Integer>,
    "Next": <Uri>,
    "Results": <Array of StorageLocation 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


Task Types

URI

api/v2/public/tasktypes

Supported Verbs

Data Models

Task Type Model

{
    "Id": <Guid>,
    "Name": <String>
}

Task Type Fields

Error Model

{
    "ErrorCode": <Integer>,
    "ErrorMessage": <String>
}

Error Model Fields

Find Task Types

URI

GET api/v2/public/tasktypes

or

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

Example Usage

// Get a paginated response of all task types
GET api/v2/public/tasktypes

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

Required Parameters

Optional Parameters

Return Value

Action Accepted

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

{
    "Page": <Integer>,
    "Next": <Uri>,
    "Results": <Array of Task Type Model>
}

Action Rejected

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

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>,
    "TaskTypeId": <Guid>,
    "ScheduledDate": <DateTime>,
    "DueDate": <DateTime>,
    "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),