NAV
Release 1.17

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.

API Authorization

All API HTTP requests must have the following headers attached

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

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

User Defined Fields

Purpose

Data Model

User Defined Field Types

Account Type

URI

api/v2/public/AccountTypes

Supported Verbs

Data Models

Account Type Model

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

Account Type Fields

Error Model

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

Error Model Fields

Find Account Types

URI

GET api/v2/public/AccountTypes

Example Usage

GET api/v2/public/AccountTypes

Required Parameters

Optional Parameters

Return Value

Action Accepted

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

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

Action Rejected

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

Required Permissions

Either one of:


Activities

Create/Update Activity

URI

api/v1/core/activities/CreateOrUpdateActivity

Supported Verbs

Required Parameters

Data Model

Activity Model

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

Activity Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Activities

URI

api/v1/core/activities/FindActivities

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Archive Activity

URI

api/v1/core/activities/ArchiveActivity

Supported Verbs

Required Parameters

Data Model

Archive Activity Model

  {
    "Id": <Guid>
  }

Archive Activity Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Create/Update Job Activity

URI

api/v1/jobs/activities/CreateOrUpdateJobActivity

Supported Verbs

Required Parameters

Data Model

Job Activity Model

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

Job Activity Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Job Activities

URI

api/v1/jobs/activities/FindJobActivities

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Activity Type

URI

api/v2/public/ActivityTypes

Supported Verbs

Data Models

Activity Type Model

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

Activity Type Fields

Error Model

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

Error Model Fields

Find Activity Types

URI

GET api/v2/public/ActivityTypes

or

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

Example Usage

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

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

Required Parameters

Optional Parameters

Return Value

Action Accepted

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

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

Action Rejected

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

Required Permissions


Assets

Update Asset

URI

api/v1/core/assets/CreateOrUpdateAsset

Supported Verbs

Required Parameters

Data Model

Asset Model

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

Asset Object Fields

Return Value

Action Accepted

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

Find Assets

URI

api/v1/core/assets/FindAssets

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

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

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)
      },
      "Division":
      {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
      },
      "AccountNumber": <string>,
      "AccountType": <string>,
      "AccountTypeId": <GUID>,
      "IsAR": <boolean>,
      "IsAP": <boolean>,
      "IsBlocked": <boolean>,
      "IsActive": <boolean>
    },
    ....
  ]

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

Currency Exchange Rate

Create/Update Currency Exchange Rate

URI

api/v1/jobs/billing/CreateOrUpdateCurrencyExchangeRate

Supported Verbs

Required Parameters

Data Model

Currency Exchange Rate Model

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

Currency Exchange Rate Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Delete Currency Exchange Rate

URI

api/v1/jobs/billing/DeleteCurrencyExchangeRate

Supported Verbs

Required Parameters

Data Model

Currency Exchange Rate Model

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

User Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Divisions

Find Divisions

URI

api/v1/jobs/Divisions/FindDivisions

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Earning Code

Create/Update Earning Code

URI

api/v1/Personnel/EarningCodes/CreateOrUpdateEarningCode

Supported Verbs

Required Parameters

Data Model

Earning Code Model

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

Earning Code Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Earning Code

URI

api/v1/Personnel/EarningCodes/FindEarningCodes

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Action Rejected

  "Data": <Array>

Event

Create/Update Event

URI

api/v1/core/events/CreateOrUpdateEvent

Supported Verbs

Required Parameters

Data Model

Event Model

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

Event Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Events

URI

api/v1/core/events/FindEvents

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Archive Event

URI

api/v1/core/events/ArchiveEvent

Supported Verbs

Required Parameters

Data Model

Archive Event Model

  {
    "Id": <Guid>
  }

Archive Event Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Create/Update Trip Event

URI

api/v1/jobs/events/CreateOrUpdateTripEvent

Supported Verbs

Required Parameters

Data Model

Trip Event Model

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

Trip Event Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Trip Events

URI

api/v1/jobs/events/FindTripEvents

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Create/Update Job Event

URI

api/v1/jobs/events/CreateOrUpdateJobEvent

Supported Verbs

Required Parameters

Data Model

Job Event Model

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

Job Event Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Job Events

URI

api/v1/jobs/events/FindJobEvents

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Event Type

URI

api/v2/public/EventTypes

Supported Verbs

Data Models

Event Type Model

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

Event Type Fields

Error Model

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

Error Model Fields

Find Event Types

URI

GET api/v2/public/EventTypes

or

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

Example Usage

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

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

Required Parameters

Optional Parameters

Return Value

Action Accepted

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

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

Action Rejected

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

Required Permissions


Emergency Contacts

URI

api/v2/public/EmergencyContacts

Supported Verbs

Data Models

Emergency Contact Model

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

Emergency Contact Fields

Error Model

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

Error Model Fields

Find Emergency Contacts

URIs

GET api/v2/public/EmergencyContacts

or

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

Example Usage

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

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

Required Parameters

Optional Parameters

Required Permissions

One or both of the following:

Return Value

Action Accepted

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

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

Action Rejected

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

Create Emergency Contact

URI

POST api/v2/public/EmergencyContacts

Example Usage

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

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

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

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

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

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

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

Required Parameters

Required Permissions

Return Value

Action Accepted

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

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

Action Rejected

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

Update Emergency Contact

URI

PATCH api/v2/public/EmergencyContacts

or

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

Example Usage

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

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

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

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

// or

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

Required Parameters

Required Permissions

Return Value

Action Accepted

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

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

Action Rejected

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

Delete Emergency Contact

URI

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

Example Usage

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

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

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

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns nothing.

Action Rejected

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

Job

Create Job

URI

api/v1/jobs/jobs/CreateJob

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Job Model

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

Job Object Fields

Return Value

With no results

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

With results

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

Update Job

URI

api/v1/jobs/jobs/UpdateJob

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Job Model

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

Job Object Fields

Return Value

With no results

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

With results

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

Find Jobs

URI

api/v1/jobs/jobs/FindJobs

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Delete Job

URI

api/v1/jobs/jobs/DeleteJob

Supported Verbs

Required Parameters

Data Model

Delete Job Model

  {
    "Id": <Guid>
  }

Delete Job Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Acknowledge Job

URI

api/v1/jobs/jobs/AcknowledgeJob

Supported Verbs

Required Parameters

Optional Parameters

Return Value

Action Accepted

  {
    "Data": null
  }

Action Rejected

  {
    "Message": <string>
  }

Location

URI

api/v2/public/Locations

Supported Verbs

Data Models

Location Model

{
    "Id": <GUID>,
    "Name": <string>,
    "ShortName": <string>,
    "RunningTime": <integer>,
    "IsRequested": <boolean>,
    "ExternalSystemCode": <string>,
    "IsArea": <boolean>,
    "Latitude": <decimal>,    
    "Longitude": <decimal>,
    "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>
        },
        ...
    ]
}

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

Order

Create Order

URI

api/v1/jobs/orders/CreateOrder

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Order Model

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

Trip Model

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

Job Model

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

Order Object Fields

Trip Object Fields

Job Object Fields

Return Value

With no results

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

With results

  {
    "Data":
    {
      "OrderId": <GUID>,
      "NewShipId": <GUID>,
      "TripIds": <Array of GUID>,
      "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.

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>,
        "OrderDate": <date>,
        "IsRequest": <boolean>,
        "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        "Division":
        {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>
        },
        "Area": {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>
        },
        "Ship":
        {
          "Id": <GUID>,
          "Name": <string>,
          "IMONumber": <string>
        },
        "CustomerAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>
        },
        "AgentAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>
        },
        "AwardedToAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>
        },
        "Trips": <Array>
        [
          {
            "Id": <GUID>,
            "OrderId": <GUID>,
            "TripNumber": <string>,
            "StartDate": <date>,
            "EndDate": <date>,
            "RequestedDate": <date>,
            "IsRequestedDateFirm": <boolean>,
            "EstimatedDuration": <decimal>,
            "Status": <string>,
            "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>
            },
            "Jobs" : <Array>
            [
              {
                "Id": <GUID>,
                "TripId": <GUID>,
                "JobNumber": <string>,
                "RequiredResourceType":
                {
                  "Id": <GUID>,
                  "Name": <string>
                },
                "Resource": {
                  "Id": <GUID>,
                  "Name": <string>,
                  "ExternalSystemCode": <string>
                },
                "Acknowledged": <boolean>,
                "RunningTo": <decimal>,
                "RunningFrom": <decimal>,
                "StartDate": <date>,
                "EndDate": <date>,
                "PlannedStartDate": <date>,
                "PlannedEndDate": <date>,
                "CancelledDate": <date>,
                "IsNoCharge": <boolean>,
                "IsRequest": <boolean>
                "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
              },
              ....
            ]
          },
          ....
        ]
      },
      ....
    ]
  }

Part

Create/Update Part

URI

api/v1/hsqe/parts/CreateOrUpdatePart

Supported Verbs

Required Parameters

Optional Parameters

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

Part Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>


Part Contract

Create/Update Part Contract

URI

api/v1/hsqe/parts/CreateOrUpdatePartContract

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Part Contract Model

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

Part Contract Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Payroll

Find Payroll

URI

api/v1/Personnel/Payroll/FindPayroll

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Bank Balance

URI

api/v1/Personnel/Payroll/BankBalance

Supported Verbs

Required Parameters

Return Value

With no results

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

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "BankId": <GUID>,
          "BankName": <string>,
          "BankAccountingCode": <string>,
          "PersonId": <GUID>,
          "Balances": <Array>
          [
            {
              "PayrollClassId": <GUID>,
              "EarningCodeId": <GUID>,
              "AssetId": <GUID>,
              "CostCenterId": <GUID>,
              "Rate": <decimal>,
              "Factor": <decimal>,
              "DivisionId": <GUID>,
              "OpeningBalance": <decimal>,
              "OpeningQuantity": <decimal>,
              "ClosingBalance": <decimal>,
              "ClosingQuantity": <decimal>
            },
            ...
          ]
        }
      ]
    }
  }

Find Payroll Periods

URI

api/v1/Personnel/PayrollPeriods/FindPayrollPeriods

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Set Payroll Period Exported

URI

api/v1/Personnel/PayrollPeriods/SetPayrollPeriodExported

Supported Verbs

Required Parameters

Data Model

Payroll Class Model

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

Payroll Class Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Payroll Class

Create/Update Payroll Class

URI

api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClass

Supported Verbs

Required Parameters

Data Model

Payroll Class Model

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

Payroll Class Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Create/Update Payroll Class Earning Code

URI

api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClassEarningCode

Supported Verbs

Required Parameters

Data Model

Payroll Class Earning Code Model

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

Payroll Class Earning Code Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Payroll Class

URI

api/v1/Personnel/PayrollClasses/FindPayrollClasses

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

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

Requisition Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Update Line Item

URI

api/v1/hsqe/Requisitions/UpdateLineItem

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Line Item Model

  {
    "Id": <GUID>,
    "PartId": <GUID>,
    "VesselComponentId": <GUID>,
    "Description": <string> [max. 100 char],
    "Quantity": <integer> or <decimal>
    "EstPrice": <decimal>,
    "VendorId": <GUID>,
    "Status": <string> ["New", "Confirmed", "Ordered", "Received On Shore", "Received On Asset", "Closed", "Canceled"],
    "Type": <string> ["Labor", "Part"]
  }

Line Item Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Requisitions

URI

api/v1/hsqe/Requisitions/FindRequisitions

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Find Line Items

URI

api/v1/hsqe/Requisitions/FindLineItems

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Resources

URI

api/v2/public/Resources

Supported Verbs

Data Models

Resource Model

{
    "Id": <GUID>,
    "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

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>,
    "ShipType": <string>,
    "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":
  {
    "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>,
        "ShipType": <string>,
        "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)
      },
      ....
    ]
  }

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>,
    "DueDate": <date>,
    "CompletedDate": <datetime>,
    "DeletedDate": <datetime>,
    "Description": <string>,
    "AssignTo": <string>,
    "Severity": <string>,
    "CompleteNote": <string>,
    "DeleteNote": <string>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "Tags": <Array>
    [
      <string>,
      ....
    ],
    "AssigneeIds": <Array>
    [
      <GUID>,
      ....
    ],
    "CompletedByIds": <Array>
    [
      <GUID>,
      ....
    ],
    "VendorIds": <Array>
    [
      <GUID>,
      ....
    ],
    "PartUsages": <Array>
    [
      <PartUsageModel>,
      ....
    ]
  }

PartUsageModel Model

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

Task Object Fields

PartUsage Object Fields

PartUsage Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Task By Id

URI

api/v1/hsqe/actionitems/FindTaskById

Supported Verbs

Required Parameters

Return Value

With no results

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

With results

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

Find Tasks

URI

api/v1/hsqe/actionitems/FindTasks

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Tax Types

Create/Update Tax Type

URI

api/v1/jobs/TaxTypes/CreateOrUpdateTaxType

Supported Verbs

Required Parameters

Data Model

Tax Type Model

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

Tax Type Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Tax Types

URI

api/v1/jobs/TaxTypes/FindTaxTypes

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

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

Action Rejected

  "Data": <Array>

Transaction

Transaction Counts by Division

URI

api/v1/jobs/transactions/TransactionCountsByDivision

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "DivisionCounts": []
    }
  }

With results

  {
    "Data":
    {
      "DivisionCounts": <Array>
      [
        {
          "DivisionId": <GUID>,
          "TransactionCount": <integer>
        }
      ]
    }
  }

Set Posted

URI

api/v1/jobs/Transactions/SetPosted

Supported Verbs

Required Parameters

Data Model

model

  {
    "Assignments": <Array>
    [
      {
        "TransactionId": <GUID>,
        "PostedDate": <date>,
        "ExternalTransactionNumber": <string>
        "ExternalComment": <string>
      },
      ....
    ]
  }
-   TransactionId: A GUID that uniquely identifies the Transaction

-   ExternalTransactionNumber: Optional. The transaction number from the external system. If this property is not set then it means no change should be made to the ExternalTransactionNumber.

-   PostedDate: Optional. A Date value that will be written to the Transaction's Posted field.

-   ExternalComment: Optional. Allows external system to send message back to Helm CONNECT if there is any error or comment related to the transaction. ExternalComment will be saved as an invoice note on the invoice being posted.

Example

  {
    "Assignments":
    [
      {
        "TransactionId": "e0adc10c-e0d6-11e5-829b-b8ca3ad26410",
        "PostedDate": "2016-03-10T12:39:31-08:00"
      },
      {
        "TransactionId": "e0adc10d-e0d6-11e5-829b-b8ca3ad26410",
        "ExternalTransactionNumber": "Transaction # 123",
        "PostedDate": "2016-03-10T12:39:31-08:00"
        "ExternalComment": "Error code: 123"
      },     
      {
        "TransactionId": "5a8fb8ee-91f5-11e9-b64e-24fd52356f6b",
        "ExternalComment": "Error code: 456"
      }
      ....
    ]
  }

Return Value

Details

URI

api/v1/jobs/Transactions/Details

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With Results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "ParentTransactionId": <GUID>,
          "ReversedTransactionId": <GUID>,
          "OriginalTransactionId": <GUID>,
          "GroupId": <GUID>,
          "TransactionNumber": <string>,
          "OrderNumbers": <string>,
          "TransactionDate": <date>,
          "DueDate": <date>,
          "DivisionName": <string>,
          "DivisionShortName": <string>,
          "DivisionAccountingCode": <string>,
          "AccountName": <string>,
          "AccountNumber": <string>,
          "CompanyName": <string>,
          "CompanyShortName": <string>,
          "Note": <string>,
          "IsAR": <boolean>,
          "IsAP": <boolean>,
          "IsInvoice": <boolean>,
          "AccountingTerm":
          {
            "Name": <string>,
            "NumberOfDays": <integer>,
            "ExternalSystemCode": <string>
          },
          "Area":
          {
            "Name": <string>,
            "ShortName": <string>,
            "ExternalSystemCode": <string>
          },
          "Order":
          {
              "OrderNumber": <string>,
              "ShipName": <string>,
              "CustomerAccount": <string>,
              "CustomerPONumber": <string>,
              "BillToAddressExternalSystemCode": <string>,
              "VoyageNumber": <string>,
              "AgentAccountName": <string>,
              "AgentAccountNumber": <string>,
              "Trips": <Array>
              [
                {
                  "StartDate": <date>,
                  "EndDate": <date>                        
                }
              ]
          },
          "CurrencyType":
          {
              "Id": <GUID>,
              "Name": <string>,
              "ShortName": <string>,
              "Symbol": <string>,
              "ExternalSystemCode": <string>
          },
          "TransactionType":
          {
              "Id": <GUID>,
              "Name": <string>
          },
          "TransactionLines": <Array>
          [
            {
              "Id": <GUID>,
              "Rate": <decimal>,
              "Quantity": <decimal>,
              "Amount": <decimal>,
              "DetailDescription": <string>,
              "ChargeJson": <string>,
              "RevenueAllocations": <Array>
              [
                {
                  "Id": <GUID>,
                  "ReferenceTransactionLineId": <GUID>,
                  "Debit": <decimal>,
                  "Credit": <decimal>,
                  "DivisionId": <GUID>,
                  "AccountingCodes": <Array>
                  [
                    {
                      "Id": <GUID>,
                      "AccountingCode": <string>,
                      "EntityName": <string>,
                      "ReferenceType": <string>
                    }
                  ]
                }
              ]   
            }
          ]
        }
      ]
    }
  }

Trip

Create Trip

URI

api/v1/jobs/trips/CreateTrip

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Trip Model

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

Job Model

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

Trip Object Fields

Job Object Fields

Return Value

With no results

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

With results

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

Update Trip

URI

api/v1/jobs/trips/UpdateTrip

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Trip Model

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

Job Model

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

Trip Object Fields

Job Object Fields

Return Value

With no results

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

With results

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

Find Trips

URI

api/v1/jobs/trips/FindTrips

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

  {
  "Data":
  {
    "TotalCount": <integer>,
    "Page": <Array>
    [
      {
        "Id": <GUID>,
        "OrderId": <GUID>,
        "TripNumber": <string>,
        "StartDate": <date>,
        "EndDate": <date>,
        "RequestedDate": <date>,
        "IsRequestedDateFirm": <boolean>,
        "EstimatedDuration": <decimal>,
        "Status": <string>,
        "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>
        },
        "Jobs" : <Array>
        [
          {
            "Id": <GUID>,
            "TripId": <GUID>,
            "JobNumber": <string>,
            "RequiredResourceType":
            {
              "Id": <GUID>,
              "Name": <string>
            },
            "Resource": {
              "Id": <GUID>,
              "Name": <string>,
              "ExternalSystemCode": <string>
            },
            "Acknowledged": <boolean>,
            "RunningTo": <decimal>,
            "RunningFrom": <decimal>,
            "StartDate": <date>,
            "EndDate": <date>,
            "PlannedStartDate": <date>,
            "PlannedEndDate": <date>,
            "CancelledDate": <date>,
            "IsNoCharge": <boolean>,
            "IsRequest": <boolean>
            "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
          },
          ....
        ]
      },
      ....
    ]
  }

Archive Trip

URI

api/v1/jobs/trips/ArchiveTrip

Supported Verbs

Required Parameters

Data Model

Archive Trip Model

  {
    "Id": <Guid>
  }

Archive Trip Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Trip Types

URI

api/v2/public/TripTypes

Supported Verbs

Data Models

Trip Type Model

{
    "Id": <GUID>,
    "Name": <string>,
    "AccountingCode": <string>,
    "IsVesselCall": <boolean>,
    "ColorCode": <string>,
    "PrimaryActivityType": {
        "Id": <GUID>,
        "Name": <string>
    }
}

Trip Type Fields

Error Model

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

Error Model Fields

Find Trip Type

URI

GET api/v2/public/TripTypes

or

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

Example Usage

// Get a paginated response of all trip types
GET api/v2/public/TripTypes

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

Required Parameters

Optional Parameters

Required Permissions

One or both of the following:


Trip Type Template

URI

api/v2/public/TripTypeTemplates

Supported Verbs

Data Models

Trip Type Template Model

{
    "Id": <GUID>,
    "Division": <Object> {
        "Id": <GUID>,
        "Name": <string>
    },
    "TripTypeId": <GUID>,
    "TripTypeTemplateFields": <Object> {
        "ActivityTypes":
        [
            {
                "TypeId": <GUID>,
                "SortOrder": <integer>
            },
            ...
        ],
        "EventTypes":
        [
            {
                "TypeId": <GUID>,
                "SortOrder": <integer>
            },
            ...
        ]
    }
}

Trip Type Template Fields

Error Model

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

Error Model Fields

Find Trip Type Templates

URI

GET api/v2/public/TripTypeTemplates

or

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

Example Usage

// Get a paginated response of all trip type templates
GET api/v2/public/TripTypeTemplates

// Get a specific trip type template by Id
GET api/v2/public/TripTypeTemplates/d21d73fb-bb69-11e8-8102-00155d040945

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

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

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

Action Rejected

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

User

Create/Update User

URI

api/v1/jobs/users/CreateOrUpdateUser

Supported Verbs

Required Parameters

Data Model

User Model

  {
    "Id": <GUID>,
    "FirstName": <string>,
    "MiddleName": <string>,
    "LastName": <string>,
    "Suffix": <string>,
    "PreferredName": <string>,
    "LdapName": <string>,
    "Email": <string>,
    "EmployeeNumber": <string>,
    "HomePhoneNumber": <string>,
    "CellPhoneNumber": <string>,
    "Birthday": <date>,
    "CanLogIn": <boolean>,
    "CanLogInToBoat": <boolean>,
    "IsActiveEmployee": <boolean>,
    "Division":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "SecondaryDivisions":    
    [
      {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
      },
      ....
    ]    
    "Roles":
    [
      {
        "Id": <GUID>,
        "Name": <string>
      },
      ....
    ]    
    "Positions":
    [
      {
        "Id": <GUID>,
        "Name": <string>,
        "EffectivePositions":
        [
         {
           "Id": <GUID>,
           "HireDate": <date>,
           "TerminateDate": <date>
         },    
         ....
        ]
      },
      ....
    ]    
    "Department":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "RotationType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "PayrollGroup":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "PayrollClassHistory":
    {
      "Upsert":
      [
        {
            "Id": <GUID>,
            "PayrollClass": {
                "Id": <GUID>,
                "Name": <string>
            },
            "EffectiveDate": <date>
        },
        ...
      ],
      "Delete": [
          <GUID>,
          ...
      ]
    }
  }

User Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Create/Update User Image

URI

api/v1/jobs/users/CreateOrUpdateUserImage

Supported Verbs

Required Parameters

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>
  }

Action Rejected

  "Data": <Array>

Find Users

URI

api/v1/jobs/users/FindUsers

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

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

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "FirstName": <string>,
          "PreferredName": <string>,
          "MiddleName": <string>,
          "LastName": <string>,
          "Suffix": <string>,
          "LdapName": <string>,
          "Email": <string>,
          "EmployeeNumber": <string>,
          "HomePhoneNumber": <string>,
          "CellPhoneNumber": <string>,
          "Birthday": <date>,
          "CanLogIn": <boolean>,
          "CanLogInToBoat": <boolean>,
          "IsActiveEmployee": <boolean>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
          "PayrollClassHistory": <Array>
          [
            {
              "Id": <GUID>,
              "PayrollClass":
              {
                  "Id": <GUID>,
                  "Name": <string>  
              },
              "EffectiveDate": <data>
            },
            ....
          ],
          "RotationType":
          {
            "Id": <GUID>,
            "Name": <string>
          },
          "PayrollGroup":
          {
            "Id": <GUID>,
            "Name": <string>
          },
          "Division":
          {
            "Id": <GUID>,
            "Name": <string>,
            "ExternalSystemCode": <string>
          },
          "SecondaryDivisions":
          [
            {
              "Id": <GUID>,
              "Name": <string>,
              "ExternalSystemCode": <string>
            },
            ....
          ],
          "AssignedAsset":
          {
            "Id": <GUID>,
            "Name": <string>
          },
          "Roles":
          [
            {
              "Id": <GUID>,
              "Name": <string>
            },
            ....
          ],
          "Positions":
          [
            {
              "Id": <GUID>,
              "Name": <string>,
              "EffectivePositions":
              [
               {
                 "Id": <GUID>,
                 "HireDate": <date>,
                 "TerminateDate": <date>
               },
               ....
              ]
            },
            ....
          ],
          "Department":
          {
            "Id": <GUID>,
            "Name": <string>
          }
        },
        ....
      ]
    }
  }

User Defined Fields

URI

api/v2/public/UserDefinedFields

Supported Verbs

Data Models

User Defined Field Model

{
    "Id": <GUID>,
    "Key": <string>,
    "Name": <string>,
    "EntityType": <string>,
    "TypeInfo": {
        "Type": <string>,
        "Options": [
            Option1,
            Option2,
            ...
        ],
        "DataSource": {
            "Key": <string>,
            "Params": {
                "Param1": <string>,
                "Param2": <string>,
                ...
            }
        }
    }
}

UDF Fields

Error Model

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

Error Model Fields

Find User Defined Field

URI

GET api/v2/public/UserDefinedFields

or

GET api/v2/public/UserDefinedFields/{id}

Example Usage

// Get a paginated response of all user defined fields
GET api/v2/public/UserDefinedFields

// Get a specific user defined fields by Id
GET api/v2/public/UserDefinedFields/7fb26edb-95ce-11e8-8132-0a9bbdeb6e3e

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the requested User Defined Fields in the format of the User Defined Fields Model.

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

Action Rejected

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

Create User Defined Field

URI

POST api/v2/public/UserDefinedFields

Example Usage

// Create one user defined field that accepts a date
POST api/v2/public/UserDefinedFields
{
  "Name": "Date Built",
  "Key": "DateBuilt",
  "EntityType": "Resource",
  "TypeInfo": {
    "Type": "date"
  }
}

// Create a user defined field that holds a single select drop down of ships belonging to two specific resource types.
POST api/v2/public/UserDefinedFields
{
  "Name": "Associated Resource",
  "Key": "AssocResource",
  "EntityType": "Location",
  "TypeInfo": {
    "Type": "single_select",
    "DataSource": {
    	"Key": "resources",
    	"Params": {
    		"types": "473f39b7-5be7-11e9-9315-b808cf84c294,473f39ba-5be7-11e9-9315-b808cf84c294"
    	}
    }
  }
}

// Create a user defined field that holds a single select drop down with three options "High", "Medium", "Low"
{
  "Name": "Priority Level",
  "Key": "PLevel",
  "EntityType": "Order",
  "TypeInfo": {
    "Type": "single_select",
    "Options": [
    	"High",
    	"Medium",
    	"Low"
    ]
  }
}

Required Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the created User Defined Fields.

<Array of User Defined Field Model>

Action Rejected

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

Update User Defined Field

URIs

Update a User Defined Field

PATCH api/v2/public/UserDefinedFields/

or

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

Required Parameters

Optional Parameters

Required Permissions

Return Value

Action Accepted

Returns an array containing the modified User Defined Fields.

<Array of User Defined Field Model>

Action Rejected

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

Vendor

Create/Update Vendor

URI

api/v1/hsqe/vendors/CreateOrUpdateVendor

Supported Verbs

Required Parameters

Data Model

Vendor Model

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

Vendor Object Fields

Return Value

Action Accepted

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

Action Rejected

  "Data": <Array>

Find Vendors

URI

api/v1/hsqe/Vendors/FindVendors

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>,
          "CrossReferenceNumber": <string>,
          "IsActive": <boolean>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
          "Contacts": [
              {
                  "Id": <GUID>,
                  "Name": <string>,
                  "Position": <string>,
                  "Description": <string>,
                  "PhoneNumbers": <string> (comma separated),
                  "Emails": <string> (comma separated),
                  "AddressLine": <string>,
                  "City": <string>,
                  "StateProvince": <string>,
                  "PostalCode": <string>,
                  "Country": <string>
              }, ...
          ],
          "PartContracts": [
              {
                  "Id": <GUID>,
                  "PartId": <GUID>,
                  "PartName": <string>,
                  "PartIsActive": <boolean>,
                  "PartIsCriticalSpare": <boolean>,
                  "VendorPartNumber": <string>,
                  "Price": <decimal>,
                  "StartDate": <date>,
                  "EndDate": <date>,
                  "AdditionalInfo": <string>
              }, ...
          ],
          "Archived": <date>
        },
        ...
      ]
    }
  }

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": <date>,
                  "Expires": <date>,
                  "ReferenceNumber": <string>,
                  "Updated": <date>,
                  "Attachments": [
                      {
                          "Name": <string>
                      }, ...
                  ]
              },
          "HistoricalCertifications": [
              {
                  "Id": <GUID>,
                  "Obtained": <date>,
                  "Expires": <date>,
                  "ReferenceNumber": <string>,
                  "Updated": <date>,
                  "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": <date>,
    "Expires": <date>,
    "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