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
- Allow users to update existing user defined fields to track information.
Data Model
-
A JSON object contains a list of user defined fields. Each user defined field contains a name and value(s).
-
Example Usage:
"UserDefined": { "Height": 123, "Name": "Helm Operation", .... }
User Defined Field Types
-
Text
-
DataType:
<string>
-
Example Usage:
"MMSI": "MIDxxxxxx"
-
-
Number
-
DataType:
<decimal>
-
Example Usage:
"Gross Tonnage": 134
-
-
Bool
-
DataType:
<bool>
-
Example Usage:
"Overdue": true
- Note: If a bool field is defined, but has never had its value set, Helm CONNECT will consider this as
false
.
-
-
Date
-
DataType:
<date>
-
Example Usage:
"HireDate": "2082-01-16T00:00:00-00:00"
- Note: The time does get saved as provided but will be not visible in Helm CONNECT.
-
-
Date and time
-
DataType:
<date>
-
Example Usage:
"ArriveDateTime": "2017-08-18T00:05:00-07:00"
-
-
Select Box
-
DataType:
<GUID>
or<String>
-
Example Usage:
"Direction": "West"
-
-
Multi Selectbox
-
DataType:
<GUID>
or<String>
-
Example Usage:
"OperatingAreas": "4E0D8981-7FA8-6155-54E5-54E5662F795E,4F60597D-68D2-7D66-4F60-62CD62CD624B"
- Note: values are separated by comma(,)
-
Activities
Create/Update Activity
URI
api/v1/core/activities/CreateOrUpdateActivity
Supported Verbs
- POST: insert or update an Activity.
Required Parameters
-
Activity Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Activity Model to be created.
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: Update the uniquely matching Activity
-
-
VesselId
-
DataType: Guid for the Activity’s vessel.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Activity’s vessel.
-
-
ActivityTypeId
-
DataType: Guid for the Activity type.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Activity type.
-
-
FromLocationId
-
DataType: Guid for the Activity’s Location From.
-
Required: false
-
Purpose: Sets the Activity’s Location From.
-
-
ToLocationId
-
DataType: Guid for the Activity’s Location To.
-
Required: false
-
Purpose: Sets the Activity’s Location To.
-
-
PlannedStartDate
-
DataType: date
-
Required: Either PlannedStartDate or StartDate is required when creating new data
-
Purpose: Sets the Activity’s planned Start Date. Only one of PlannedStartDate and StartDate may be set.
-
-
PlannedEndDate
-
DataType: date
-
Required: Either PlannedEndDate or EndDate is required when creating new data
-
Purpose: Sets the Activity’s planned End Date. Only one of PlannedEndDate and EndDate may be set.
-
-
StartDate
-
DataType: date
-
Required: Either PlannedStartDate or StartDate is required when creating new data
-
Purpose: Sets the Activity’s actual Start Date. Only one of PlannedStartDate and StartDate may be set.
-
-
EndDate
-
DataType: date
-
Required: Either PlannedEndDate or EndDate is required when creating new data
-
Purpose: Sets the Activity’s actual End Date. Only one of PlannedEndDate and EndDate may be set.
-
-
RecordedByPersonId
-
DataType: Guid for the Activity Recorded By Person.
-
Required: false
-
Purpose: Sets who recorded the Activity.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Activity. Will be set to null if not specified.
-
Return Value
Action Accepted
{
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>
"Message": <string>
},
....
]
}
-
Id: Guid for the new Activity.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Activities
URI
api/v1/core/activities/FindActivities
Supported Verbs
- GET: return a filtered list of Activities. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/core/activities/FindActivities?page=1
-
Optional Parameters
-
Id:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return the Activity with the given Id
-
Example Usage:
api/v1/core/activities/FindActivities?page=1&Id=d21d73fb-bb69-11e8-8102-00155d040945
-
-
VesselId:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Activities with the given VesselId
-
Example Usage:
api/v1/core/activities/FindActivities?page=1&VesselId=d21d73fb-bb69-11e8-8102-00155d040945
-
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
- POST: Archive an activity.
Required Parameters
-
Archive Activity Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Activity Id to be archived.
-
Data Model
Archive Activity Model
{
"Id": <Guid>
}
Archive Activity Object Fields
-
Id
-
DataType: Guid
-
Required: true
-
Purpose: Archives the uniquely matching Activity
-
Return Value
Action Accepted
{
"Action Type": "Archive",
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>
"Message": <string>
},
...
]
}
-
ActionType: Will always be ‘Archive’.
-
Id: Guid for the Activity.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Create/Update Job Activity
URI
api/v1/jobs/activities/CreateOrUpdateJobActivity
Supported Verbs
- POST: insert or update a job activity.
Required Parameters
-
Job Activity Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Job Activity Model to be created.
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: Update the uniquely matching Job Activity
-
-
JobId
-
DataType: Guid for the Activity’s job.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Activity’s job.
-
-
ActivityTypeId
-
DataType: Guid for the Activity type.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Activity type.
-
-
FromLocationId
-
DataType: Guid for the Activity’s Location From.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Activity’s Location From. If there are pre-existing job activities, the From Location must match the To Location of the last pre-existing activity. You can only change the From Location of the first job activity.
-
-
ToLocationId
-
DataType: Guid for the Activity’s Location To.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Activity’s Location To. You can only change the To Location of the last job activity.
-
-
PlannedStartDate
-
DataType: date
-
Required: Either PlannedStartDate or StartDate is required when creating new data; false when updating existing data
-
Purpose: Sets the Activity’s planned Start Date. Only one of PlannedStartDate and StartDate may be set. If there are pre-existing job activities, the Start Date must match the End Date of the last pre-existing job activity.
-
-
PlannedEndDate
-
DataType: date
-
Required: Either PlannedEndDate or EndDate is required when creating new data; false when updating existing data
-
Purpose: Sets the Activity’s planned End Date. Only one of PlannedEndDate and EndDate may be set.
-
-
StartDate
-
DataType: date
-
Required: Either PlannedStartDate or StartDate is required when creating new data; false when updating existing data
-
Purpose: Sets the Activity’s actual Start Date. Only one of PlannedStartDate and StartDate may be set. If there are pre-existing job activities, the Start Date must match the End Date of the last pre-existing job activity. You can only change the Start Date of the first job activity.
-
-
EndDate
-
DataType: date
-
Required: Either PlannedEndDate or EndDate is required when creating new data; false when updating existing data
-
Purpose: Sets the Activity’s actual End Date. Only of one PlannedEndDate and EndDate may be set. You can only change the End Date of the last job activity.
-
-
IsStartDateAutomatic
-
DataType: boolean
-
Required: false
-
Purpose: Sets the Activity’s IsEndDateAutomatic
-
-
IsEndDateAutomatic
-
DataType: boolean
-
Required: false
-
Purpose: Sets the Activity’s IsEndDateAutomatic
-
-
RecordedByPersonId
-
DataType: Guid for the Recorded By Person
-
Required: false
-
Purpose: Sets the Activity’s RecordedByPerson.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Activity. Will be set to null if not specified.
-
Return Value
Action Accepted
{
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>
"Message": <string>
},
....
]
}
-
Id: Guid for the new Job Activity.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Job Activities
URI
api/v1/jobs/activities/FindJobActivities
Supported Verbs
- GET: return a filtered list of job activities. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/jobs/activities/FindJobActivities?page=1
-
Optional Parameters
-
Id:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return the Job Activity with the given Id
-
Example Usage:
api/v1/jobs/activities/FindJobActivities?page=1&Id=d21d73fb-bb69-11e8-8102-00155d040945
-
-
JobId:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Job Activities with the given JobId
-
Example Usage:
api/v1/jobs/activities/FindJobActivities?page=1&JobId=d21d73fb-bb69-11e8-8102-00155d040945
-
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)
},
...
]
}
}
Assets
Update Asset
URI
api/v1/core/assets/CreateOrUpdateAsset
Supported Verbs
- POST: update an asset
Required Parameters
-
Asset Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Asset Model to be updated.
-
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
-
Id
-
DataType: GUID
-
Required: true
-
Purpose: Identify the asset to update
-
-
Name
-
DataType: string [max. 400 char]
-
Required: false
-
Purpose: Sets the Name for the Asset.
-
-
ShortName
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the ShortName for the Asset.
-
-
AccountingCode
-
DataType: string [max. 50 char]
-
Required: false
-
Purpose: Sets the AccountingCode for the Asset.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined fields for the Asset.
-
Return Value
Action Accepted
{
"Data":
{
"ActionType": <string>,
"Id": <GUID>
}
}
-
ActionType: Insert (Not implemented) or Update
-
Id: Guid of the updated Asset
Find Assets
URI
api/v1/core/assets/FindAssets
Supported Verbs
- GET: return a filtered list of Assets. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/core/assets/FindAssets?page=1
-
Optional Parameters
-
Name:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: Will return the assets with a Name that contains the given string.
-
Example Usage:
api/v1/core/assets/FindAssets?page=1&Name=Frigate
-
-
ShortName:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: Will return the assets with a ShortName that contains the given string.
-
Example Usage:
api/v1/core/assets/FindAssets?page=1&ShortName=HM
-
-
AccountingCode:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: Will return the assets with AccountingCode that contains the given string.
-
Example Usage:
api/v1/core/assets/FindAssets?page=1&AccountingCode=142
-
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
- POST: insert and update one or more companies.
Required Parameters
-
Company Model
-
Data Type: Array of JSON Objects (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one or more Company Model to be created or updated.
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: update the uniquely matching Company. The Company must be active.
-
-
Name
-
DataType: string
-
Required: true
-
Purpose: Sets the Name for the Company.
-
-
ShortName
-
DataType: string
-
Required: false
-
Purpose: Sets the ShortName for the Company. Will be set to null if not specified.
-
-
ExternalSystemCode
-
DataType: string
-
Required: false
-
Purpose: Sets the ExternalSystemCode for the Company. Will be set to null if not specified.
-
-
IsMyCompany
-
DataType: boolean
-
Required: false
-
Default value: false
-
Purpose: Sets the IsMyCompany for the Company. Will be set to false if not specified.
-
-
IsActive
-
DataType: boolean
-
Required: false
-
Default value: true
-
Purpose: Sets whether the Company is Archived. Will be set to false if not specified.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Company. Will be set to null if not specified.
-
Return Value
With errors
{
"Data":
[
{
"Name": <string>,
"Errors":
[
{
"Message": <string>,
"Entity": <string>
},
....
]
}
]
}
Without errors
{
"Data":
{
"Created": <Integer>,
"Updated": <Integer>
}
}
-
Created: The number of Companies created.
-
Updated: The number of Companies updated.
Create/Update Account
URI
api/v1/jobs/companies/CreateOrUpdateCompanyAccount
Supported Verbs
- POST: insert and update one or more Company accounts.
Required Parameters
-
Account Model
-
Data Type: Array of JSON Objects (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one or more Account Model to be created or update.
-
Optional Parameters
-
addNewCompany
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true and company can’t be found, it will create new company based on the information provided.
-
Note: Company’s Name is required when creating New Company
-
Example Usage:
api/v1/jobs/companies/CreateOrUpdateCompanyAccount?addNewCompany=true
-
-
asRequest
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, instead of creating or updating an Account directly, a Request for those changes will be created. This creates new request Accounts which are referenced by the Requests that were created. Requested accounts will have the RequestedOn field set to the current datetime.
-
Example Usage:
api/v1/jobs/companies/CreateOrUpdateCompanyAccount?asRequest=true
-
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>,
"IsAR": <boolean>,
"IsAP": <boolean>,
"IsBlocked": <boolean>,
"IsActive": <boolean>
},
....
]
Account Object Fields
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: update the uniquely matching Account.
-
-
Name
-
DataType: string
-
Required: true
-
Purpose: Sets the Name for the Account.
-
-
Company
-
DataType: JSON Object
-
Required: true
-
Purpose: Sets the Company of the Account.
-
Function: Selects the Company that uniquely matches the given Id, Name, Shortname and ExternalSystemCode
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
ShortName
<string>
-
ExternalSystemCode
<string>
-
IsMyCompany
<bool>
-
IsActive
<bool>
-
UserDefined
<string>
-
-
-
Division
-
DataType: JSON Object
-
Required: true
-
Purpose: Sets the DivisionId of the Account.
-
Function: Selects the Division that uniquely matches the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
ExternalSystemCode
<string>
-
-
-
AccountNumber
-
DataType: string
-
Required: true
-
Purpose: Sets the AccountName for the Account.
-
-
AccountType
-
DataType: string
-
Required: true
-
Purpose: Sets the AccountType for the Account.
-
-
IsAR
-
DataType: boolean
-
Required: false
-
Default value: true
-
Purpose: Sets the IsAR for the Account.
-
-
IsAP
-
DataType: boolean
-
Required: false
-
Default value: false
-
Purpose: Sets the IsAP for the Account.
-
-
IsBlocked
-
DataType: boolean
-
Required: false
-
Default value: false
-
Purpose: Sets the IsBlocked for the Account.
-
-
IsActive
-
DataType: boolean
-
Required: false
-
Default value: true
-
Purpose: Sets the IsActive for the Account.
-
Return Value
With errors
{
"Data":
[
{
"Name": <Array>,
"Errors":
[
{
"Entity": <string>
},
....
]
}
]
}
Without errors
{
"Data":
{
"Created": <Integer>,
"Updated": <Integer>,
"CompanyCreated": <Integer>
}
}
-
Created: The number of Company Accounts created.
-
Updated: The number of Company Accounts updated.
-
CompanyCreated: The number of Companies created.
Create/Update Account Address
URI
api/v1/jobs/companies/CreateOrUpdateAccountAddress
Supported Verbs
- POST: insert and update one or more Account Addresses.
Required Parameters
-
Account Address Model
-
Data Type: Array of JSON Objects (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one or more Account Address Model to be created or updated.
-
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>,
"Areas":
[
{
"Id": <GUID>,
"Name": <string>,
"ExternalSystemCode": <string>
},
....
]
},
....
]
Account Address Object Fields
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: update the uniquely matching Account Address.
-
-
Account
-
DataType: JSON Object
-
Required: true
-
Purpose: Sets the Account of the Account Address.
-
Function: Selects the Account that uniquely matches the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
AccountNumber
<string>
-
-
-
Name
-
DataType: string
-
Required: false
-
Purpose: Sets the Name for the Account Address. Will be set to null if not specified.
-
-
Address
-
DataType: string
-
Required: true
-
Purpose: Sets the Address for the Account Address.
-
-
City
-
DataType: string
-
Required: true
-
Purpose: Sets the City for the Account Address.
-
-
Zipcode
-
DataType: string
-
Required: false
-
Purpose: Sets the Zipcode for the Account Address. Will be set to null if not specified.
-
-
State
-
DataType: string
-
Required: false
-
Purpose: Sets the State for the Account Address. Will be set to null if not specified.
-
-
Country
-
DataType: string
-
Required: true
-
Purpose: Sets the Country for the Account Address.
-
-
Email
-
DataType: string
-
Required: false
-
Purpose: Sets the Email for the Account Address. Will be set to null if not specified.
-
-
Areas
-
DataType: Array of JSON Objects
-
Required: false
-
Purpose: Sets the Areas for the Account Address. Will be set to null if not specified.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
AccountNumber
<string>
-
-
Return Value
With errors
{
"Data":
[
{
"Name": <Array>,
"Errors":
[
{
"Entity": <string>
},
....
]
}
]
}
Without errors
{
"Data":
{
"Created": <Integer>,
"Updated": <Integer>
}
}
-
Created: The number of Company Accounts created.
-
Updated: The number of Company Accounts updated.
Find Companies
URI
api/v1/jobs/companies/FindCompanies
Supported Verbs
- GET: return a filtered list of Companies, Account, and Account Address. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/jobs/companies/FindCompanies?page=2
-
Optional Parameters
-
SearchString:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: Will return the Companies with Name or ShortName that contains the given string.
-
Example Usage:
api/v1/jobs/companies/FindCompanies?page=1&SearchString=partOfTheName
-
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>,
"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
- POST: insert or update a currency exchange rate.
Required Parameters
-
User Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Currency Exchange Rate Model to be created or updated.
-
Data Model
Currency Exchange Rate Model
{
"CurrencyType":
{
"Id": <GUID>,
"Name": <string>,
},
"EffectiveDate": <date>,
"ExchangeRate": <decimal>
}
User Object Fields
-
CurrencyType
-
DataType: JSON Object
-
Required: true
-
Purpose: Selects the currency type whose exchange rate will be altered.
-
Function: Selects the CurrencyTypeId that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 200 char]
-
-
-
EffectiveDate
-
DataType:
<date>
-
Required: true
-
Purpose: Selects the date of the exchange rate you want to create or update. If an exchange rate already exists for this date it will be updated; otherwise a new exchange rate will be created. This parameter accepts a fully specified date but only the year, month and day will be used; the time and timezone will not be used.
-
-
ExchangeRate
-
DataType:
<decimal>
-
Required: true
-
Purpose: Sets the Exchange Rate for the currency type and date specified.
-
Return Value
Action Accepted
"Data":
{
"CurrencyTypeId": <Guid>,
"LogMessages":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
CurrencyTypeId: Guid for the currency type that exchange rates were added/updated for.
-
LogMessages: This will describe any failures that occurred when trying to find the matching entity. For example, if the CurrencyType could not be determined from your POST.
Action Rejected
"Data": <Array>
- Data: Log Messages
Delete Currency Exchange Rate
URI
api/v1/jobs/billing/DeleteCurrencyExchangeRate
Supported Verbs
- POST: delete currency exchange rate(s) on a given date.
Required Parameters
-
User Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Currency Exchange Rate Model to be deleted.
-
Data Model
Currency Exchange Rate Model
{
"CurrencyType":
{
"Id": <GUID>,
"Name": <string>,
},
"EffectiveDate": <date>
}
User Object Fields
-
CurrencyType
-
DataType: JSON Object
-
Required: true
-
Purpose: Selects the currency type whose exchange rate(s) may be deleted.
-
Function: Selects the CurrencyTypeId that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 200 char]
-
-
-
EffectiveDate
-
DataType:
<date>
-
Required: true
-
Purpose: Selects the date of the exchange rate(s) you want to delete. All exchange rates that exist for this date will be deleted. If no exchange rates exist for this date then nothing will be deleted and no error will be returned. This parameter accepts a fully specified date but only the year, month and day will be used; the time and timezone will not be used.
-
Return Value
Action Accepted
"Data":
{
"CurrencyTypeId": <Guid>,
"ExchangeRatesDeleted": <integer>,
"LogMessages":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
CurrencyTypeId: Guid for the currency type that exchange rate(s) may have been deleted for.
-
ExchangeRatesDeleted: The number of exchange rates that were deleted.
-
LogMessages: This will describe any failures that occurred when trying to find the matching entity. For example, if the CurrencyType could not be determined from your POST.
Action Rejected
"Data": <Array>
- Data: Log Messages
Divisions
Find Divisions
URI
api/v1/jobs/Divisions/FindDivisions
Supported Verbs
- GET: return a filtered list of divisions. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/jobs/Divisions/FindDivisions?page=2
-
Optional Parameters
-
SearchString:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: Will return the Divisions with Name or ShortName that contains the given string.
-
Example Usage:
api/v1/jobs/Divisions/FindDivisions?page=1&SearchString=partOfTheName
-
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
- POST: insert or update an earning code.
Required Parameters
-
Earning Code Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Earning Code Model to be created or updated.
-
Data Model
Earning Code Model
{
"Id": <GUID>,
"Name": <string>,
"AccountingCode": <string>,
"QuantityType": <string>,
"DoArchive": <boolean>
}
Earning Code Object Fields
-
Id
-
DataType: GUID
-
Required: true when updating
-
Purpose: Identify the earning code to update
-
-
Name
-
DataType: string [max. 200 char]
-
Required: true
-
Purpose: Sets the Name for the Earning Code.
-
-
AccountingCode
-
DataType: string [max. 50 char]
-
Required: false
-
Purpose: Sets the AccountingCode for the Earning Code.
-
-
QuantityType
-
DataType: string [max. 20 char]
-
Required: false
-
Purpose: Sets the QuantityType for the Earning Code.
-
Accepted Value: “fixed”, “daily”, “hourly”, “amount”
-
-
DoArchive
-
DataType: boolean
-
Required: false
-
Purpose: Archive the Earning Code.
-
Note: This field will be ignored when creating a new earning code. Once archived, it can’t be reverted.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert or Update
-
Id: Guid for the new earning code if ActionType is insert.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Earning Code
URI
api/v1/Personnel/EarningCodes/FindEarningCodes
Supported Verbs
- GET: return a filtered list of earning codes. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/Personnel/EarningCodes/FindEarningCodes?page=2
-
Optional Parameters
-
Name:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return earning code with Name containing the string
-
Example Usage:
api/v1/Personnel/EarningCodes/FindEarningCodes?page=2&Name=Foo
-
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>
- Data: Error Message
Event
Create/Update Event
URI
api/v1/core/events/CreateOrUpdateEvent
Supported Verbs
- POST: insert or update an event.
Required Parameters
-
Event Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Event Model to be created.
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: Update the uniquely matching event.
-
-
Description
-
DataType: string [max. 1000 char]
-
Required: false
-
Purpose: Sets the description for the Event.
-
-
EventDate
-
DataType: date
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Event date.
-
-
EventTypeId
-
DataType: Guid for the Event type
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Event type.
-
-
VesselId
-
DataType: Guid for the Event’s vessel.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Event asset.
-
-
SpaceId
-
DataType: Guid for the Event’s space.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Event space.
-
-
LocationId
-
DataType: Guid for the Event location
-
Required: false
-
Purpose: Sets the Event location.
-
-
RecordedByPersonId
-
DataType: Guid for the Event recorded by person.
-
Required: false
-
Purpose: Sets who recorded the Event.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Event. Will be set to null if not specified.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>
"Message": <string>
},
....
]
}
-
ActionType: ‘Insert or Update’.
-
Id: Guid for the new Event.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Events
URI
api/v1/core/events/FindEvents
Supported Verbs
- GET: return a filtered list of Events. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/core/events/FindEvents?page=1
-
Optional Parameters
-
Id:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return the Event with the given Id
-
Example Usage:
api/v1/core/events/FindEvents?page=1&Id=d21d73fb-bb69-11e8-8102-00155d040945
-
-
AssetId:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return the Event with the given Asset Id
-
Example Usage:
api/v1/core/events/FindEvents?page=1&AssetId=d21d73fb-bb69-11e8-8102-00155d040945
-
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
- POST: Archive an event.
Required Parameters
-
Archive Event Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Event Id to be archived.
-
Data Model
Archive Event Model
{
"Id": <Guid>
}
Archive Event Object Fields
-
Id
-
DataType: Guid
-
Required: true
-
Purpose: Archives the uniquely matching Event
-
Return Value
Action Accepted
{
"Action Type": "Archive",
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>
"Message": <string>
},
...
]
}
-
ActionType: Will always be ‘Archive’.
-
Id: Guid for the Event.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Create/Update Trip Event
URI
api/v1/jobs/events/CreateOrUpdateTripEvent
Supported Verbs
- POST: insert or update a trip event.
Required Parameters
-
Trip Event Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Trip Event Model to be created.
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: Update the uniquely matching Trip Event
-
-
TripId
-
DataType: Guid for the Trip Event’s trip.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Trip Event’s trip.
-
-
EventTypeId
-
DataType: Guid for the Trip Event’s type.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Event type.
-
-
Description
-
DataType: string
-
Required: false
-
Purpose: Sets the description for the Trip Event.
-
-
EventDate
-
DataType: date
-
Required: false
-
Purpose: Sets the Trip Event’s date.
-
-
LocationId
-
DataType: Guid
-
Required: false
-
Purpose: Sets the Trip Event’s location.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Trip Event. Will be set to null if not specified.
-
Return Value
Action Accepted
{
"Action Type": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>
"Message": <string>
},
....
]
}
-
ActionType: ‘Insert’ or ‘Update’.
-
Id: Guid for the Trip Event.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Trip Events
URI
api/v1/jobs/events/FindTripEvents
Supported Verbs
- GET: return a filtered list of Trip Events. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/jobs/events/FindTripEvents?page=1
-
Optional Parameters
-
Id:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return the Trip Event with the given Id
-
Example Usage:
api/v1/jobs/events/FindTripEvents?page=1&Id=d21d73fb-bb69-11e8-8102-00155d040945
-
-
TripId:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Trip Events with the given TripId
-
Example Usage:
api/v1/jobs/events/FindTripEvents?page=1&TripId=d21d73fb-bb69-11e8-8102-00155d040945
-
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
- POST: insert or update a Job Event.
Required Parameters
-
Job Event Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Job Event Model to be created.
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: Update the uniquely matching Job Event
-
-
JobId
-
DataType: Guid for the Job Events’s job.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Job Event’s job. Not supported for update.
-
-
EventTypeId
-
DataType: Guid for the Job Event’s type.
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Event type.
-
-
Description
-
DataType: string [max. 1000 char]
-
Required: false
-
Purpose: Sets the description for the Job Event.
-
-
PlannedEventDate
-
DataType: date
-
Required: false
-
Purpose: Sets the Job Event’s planned date. Only one of PlannedEventDate and EventDate may be set.
-
-
EventDate
-
DataType: date
-
Required: false
-
Purpose: Sets the Job Event’s date. Only one of PlannedEventDate and EventDate may be set.
-
-
LocationId
-
DataType: Guid for the Location
-
Required: false
-
Purpose: Sets the Job Event’s location.
-
-
RecordedByPersonId
-
DataType: Guid for the Recorded By Person
-
Required: false
-
Purpose: Sets the Job Event’s Recorded By Person.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Job Event. Will be set to null if not specified.
-
Return Value
Action Accepted
{
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>
"Message": <string>
},
....
]
}
-
Id: Guid for the Job Event.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Job Events
URI
api/v1/jobs/events/FindJobEvents
Supported Verbs
- GET: return a filtered list of Job Events. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/jobs/events/FindJobEvents?page=1
-
Optional Parameters
-
Id:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return the Job Event with the given Id
-
Example Usage:
api/v1/jobs/events/FindJobEvents?page=1&Id=d21d73fb-bb69-11e8-8102-00155d040945
-
-
JobId:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Job Events with the given JobId
-
Example Usage:
api/v1/jobs/events/FindJobEvents?page=1&JobId=d21d73fb-bb69-11e8-8102-00155d040945
-
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)
},
...
]
}
}
Order
Create Order
URI
api/v1/jobs/orders/CreateOrder
Supported Verbs
- POST: insert an Order and any associated Trips and Jobs.
Required Parameters
-
OrderModel
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies the Order information and Trip(s)/Job(s) information to be created.
-
Optional Parameters
-
addNewShip
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true and if Ship can’t be found, it will create new Ship based on the information provided.
-
Note: Name is required to add the new Ship
-
Example Usage:
api/v1/Jobs/Orders/CreateOrder?addNewShip=true
-
-
asRequest
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, instead of creating an Order directly, a Request for those changes will be created. Any Trip, Job or Ship that is created as a result will also be created as requests.
-
Example Usage:
api/v1/Jobs/Orders/CreateOrder?asRequest=true
-
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>,
"UserDefined": User Defined Data Model (see User Defined Fields section for more details),
"Jobs": <Array>
[
<JobModel>,
....
]
}
Job Model
{
"RequiredResourceType":
{
"Id": <GUID>,
"Name": <string>
},
"StartDate": <date>,
"EndDate": <date>,
"PlannedStartDate": <date>,
"PlannedEndDate": <date>,
"UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}
Order Object Fields
-
Division
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the DivisionId of the Order.
-
Function: Selects the Division that uniquely matches one or more of the given fields.
-
Note: If a DivisionId is found, it will filter the data by division for the CustomerAccount, AgentAccount, and AwardedToAccount fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
ExternalSystemCode
<string>
-
-
-
Ship
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the ShipId of the OrderShip of the Order.
-
Function: Selects the Ship that uniquely matches one or more of the given fields.
-
Fields:
-
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
<JSON>
-
-
Note: The endpoint uses Id, Name, IMONumber, MMSI, CallSign to find ShipId. If no matching ship is found and
?addNewShip=true
is specified, it will create a new Ship with all other properties provided.
-
-
CustomerAccount
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the CustomerAccountId of the Order.
-
Function: Selects the CustomerAccount that uniquely matches one or more of the given fields.
-
Note: Can be filtered by Division. Only matches accounts that have an AccountType that has
IsCustomer = true
. -
Fields:
-
Id
<GUID>
-
Name
<string>
-
AccountNumber
<string>
-
-
-
AgentAccount
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the AgentAccountId of the Order.
-
Function: Selects the AgentAccount that uniquely matches one or more of the given fields.
-
Note: Can be filtered by Division. Only matches accounts that have an AccountType that has
IsAgent = true.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
AccountNumber
<string>
-
-
-
Area
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the Area of the Order.
-
Function: Selects the Area that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
ExternalSystemCode
<string>
-
-
-
AwardedToAccount
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the AwardedToAccountId of the Order.
-
Function: Selects the AwardedToAccount that uniquely matches one or more of the given fields.
-
Note: Can be filtered by Division. Only matches accounts that have an AccountType that has
IsCompetitor = true
or is an Account that is part of a Company that hasIsMyCompany = true
. -
Fields:
-
Id
<GUID>
-
Name
<string>
-
AccountNumber
<string>
-
-
-
OrderDate
-
DataType: date
-
Required: false
-
Purpose: Sets the OrderDate of the Order.
-
-
VoyageNumber
-
DataType: string
-
Required: false
-
Purpose: Sets the VoyageNumber of the Order.
-
-
CustomerPONumber
-
DataType: string
-
Required: false
-
Purpose: Sets the CustomerPONumber of the Order.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Order.
-
-
IsBillable
-
DataType: boolean
-
Required: false
-
Default: true when creating an Order. No change when updating an Order.
-
Purpose: Sets whether the Order is billable or not
-
-
Trips
-
DataType: Array of JSON Trip Objects (see below)
-
Required: true
-
Purpose: Sets the Trips for the Order.
-
Note: Creating an Order must have at least one Trip attached.
-
Trip Object Fields
-
TripType
-
DataType: JSON Object
-
Required: true
-
Purpose: Sets the TripTypeId of the Trip.
-
Function: Selects the TripType that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
-
-
FromLocation
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the FromLocationId of the Trip.
-
Function: Selects the FromLocation that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<String>
-
ExternalSystemCode
<string>
-
-
-
ToLocation
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the ToLocationId of the Trip.
-
Function: Selects the ToLocation that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<String>
-
ExternalSystemCode
<string>
-
-
-
Status
-
DataType: string
-
Required: false
-
Purpose: Sets the Status of the Trip.
-
Note: Status can be one of the following values and is case sensitive:
-
Null: will mark this Trip as unconfirmed
-
**"**STATUS_COMPLETE": will mark this Trip as complete
-
“STATUS_CONFIRMED”: will mark this Trip as confirmed
-
“STATUS_CANCELLED”: will mark this Trip as cancelled
-
-
-
RequestedDate
-
DataType: date
-
Required: false
-
Purpose: Sets the RequestedDate of the Trip.
-
-
IsRequestedDateFirm
-
DataType: boolean
-
Required: false
-
Purpose: Sets the IsRequestedDateFirm of the Trip.
-
-
EstimatedDuration
-
DataType: decimal
-
Required: false
-
Purpose: Sets the Duration of the Trip.
-
Note: This value is stored in minutes.
-
-
StartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the StartDate of the Trip.
-
-
EndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the EndDate of the Trip.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Trip.
-
-
NumberRequiredResources
-
DataType: Integer
-
Required: false
-
Purpose: Create specified number of Jobs if the Jobs field (see below) is not specified
-
Note: Jobs will have default resource type if client only has one root resource type. Jobs’ startDate and endDate will default to Trip’s startDate and EndDate. Job’s RunningFrom and RunningTo will be defaulted based on the From and To Location.
When updating, if the number is less than current number. It will remove Job without resources first then remove Job with later time.
-
-
Jobs
-
DataType: an Array of JSON Objects
-
Required: false
-
Purpose: Create Jobs on the Trip
-
Job Object Fields
-
RequiredResourceType
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the RequiredResourceTypeId of the Trip.
-
Function: Selects the RequiredResourceType that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
-
-
StartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the StartDate of the Job.
-
-
EndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the EndDate of the Job.
-
-
PlannedStartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the PlannedStartDate of the Job.
-
-
PlannedEndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the PlannedEndDate of the Job.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Job.
-
Return Value
With no results
{
"Data":
{
"LogMessages": <Array>
[
{
"Message": <string>,
"Entity": <string>
},
....
]
}
}
With results
{
"Data":
{
"OrderId": <GUID>,
"NewShipId": <GUID>,
"LogMessages": <Array>
[
{
"Message": <string>,
"Entity": <string>
},
....
]
}
}
-
LogMessages: This will describe any failures that occurred when trying to find the matching entity. For Example, if you tried to post:
{ "Division": { "Name": "BadNameThatDoesNotExist" } }
then the Log Message would inform you that Division (the Entity) returned no results. If an entity is required, such as Trip Type, and no result was returned then the operation will not be completed.
Update Order
URI
api/v1/jobs/orders/UpdateOrder
Supported Verbs
- POST: update an Order and any associated Trips.
Note
- This endpoint functions almost exactly like Create Order. The only difference is that an Id must be supplied for the Order Data Model object. For Trips, an Id must be supplied for any Trip that is being updated. If a Trip has no Id, when using Update Order, it is assumed to be a new Trip for the Order, and will be inserted. Any Trips not included will be deleted. NumberRequiredResources and Jobs will be ignored if the Trip already exists in database.
Required Parameters
-
OrderModel
-
Data Type: JSON Object (See Data Model from Create Order for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies the Order information and Trip(s) information to be updated.
-
Optional Parameters
-
addNewShip
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true and if Ship can’t be found, it will create new Ship based on the information provided.
-
Note: Name is required to add the new Ship
-
Example Usage:
api/v1/Jobs/Orders/UpdateOrder?addNewShip=true
-
-
asRequest
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, instead of updating an Order directly, a Request for those changes will be created. Any Trip, Job or Ship that is created as a result will also be created as requests.
-
Example Usage:
api/v1/Jobs/Orders/UpdateOrder?asRequest=true
-
Data Model
-
Refer to Create Order, for full details. This outlines how the Id for Order and Trip must be used when using Update Order. Trips with no Id will be added to the Order.
{ "Id": <GUID>, .... "Trips": <Array> [ { "Id": <GUID>, .... }, { "TripType": { "Id": <GUID>, "Name": <string> }, "FromLocation": { "Id": <GUID>, "ExternalSystemCode": <string> }, "ToLocation": { "Id": <GUID>, "ExternalSystemCode": <string> }, "Status": <string>, "RequestedDate": <date>, "StartDate": <date>, "EndDate": <date>, "IsRequestedDateFirm": <boolean>, "EstimatedDuration": <decimal> }, .... ] }
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
- Same as Create Order.
Find Orders
URI
api/v1/jobs/orders/FindOrders
Supported Verbs
- GET: return a filtered list of Orders and Trips. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/Jobs/Orders/FindOrders?page=2
-
Optional Parameters
-
ShipName:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Orders that have a Ship with the given name.
-
Example Usage:
api/v1/Jobs/Orders/FindOrders?page=1&ShipName=Helm
-
-
ShipIMONumber:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Orders that have a Ship with the given IMO number.
-
Example Usage:
api/v1/Jobs/Orders/FindOrders?page=1&ShipIMONumber=12345
-
-
CustomerPONumber:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Orders that have this CustomerPONumber.
-
Example Usage:
api/v1/Jobs/Orders/FindOrders?page=1&CustomerPONumber=12345
-
-
VoyageNumber:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Orders that have this VoyageNumber.
-
Example Usage:
api/v1/Jobs/Orders/FindOrders?page=1&VoyageNumber=12345
-
-
OrderNumber:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Orders that have this OrderNumber.
-
Example Usage:
api/v1/Jobs/Orders/FindOrders?page=1&OrderNumber=12345
-
-
OrderId:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Orders that have this OrderId.
-
Example Usage:
api/v1/Jobs/Orders/FindOrders?page=1&OrderId=c5e69784-24c5-11e7-82c5-f01faf32a6aa
-
-
FromDate:
-
Data Type: date
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Orders that have Trip(s) where the latest Trip based on EndDate (or RequestedDate if EndDate is blank) is >= FromDate
-
Example Usage:
api/v1/Jobs/Orders/FindOrders?page=1&FromDate=2016-03-10T14:23:00-08:00
-
-
ToDate:
-
Data Type: date
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Orders that have Trip(s) where the earliest Trip based on StartDate (or RequestedDate if StartDate is blank) is <= ToDate.
-
Example Usage
api/v1/Jobs/Orders/FindOrders?page=1&ToDate=2016-03-10T14:23:00-08:00
-
-
includeRequests:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, requested Orders will also be returned
-
Example Usage
api/v1/Jobs/Orders/FindOrders?page=1&includeRequests=true
-
-
excludeNonRequests:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, only requested Orders will be returned
-
Example Usage
api/v1/Jobs/Orders/FindOrders?page=1&includeRequests=true&excludeNonRequests=true
-
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>
},
"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>,
"EstimatedDuration": <decimal>,
"Status": <string>,
"IsRequest": <boolean>,
"OriginalTripId": <GUID>,
"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>,
"RequiredResourceType":
{
"Id": <GUID>,
"Name": <string>
},
"StartDate": <date>,
"EndDate": <date>,
"PlannedStartDate": <date>,
"PlannedEndDate": <date>,
"UserDefined": User Defined Data Model (see User Defined Fields section for more details),
"IsRquest": <boolean>
}
]
},
....
]
},
....
]
}
Part
Create/Update Part
URI
api/v1/hsqe/parts/CreateOrUpdatePart
Supported Verbs
- POST: insert and update one Part.
Required Parameters
-
Part Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Part Model to be created or updated.
-
Optional Parameters
-
Delete
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: To update and delete an existing part (must provide the part’s Id in Part Model)
-
Example Usage:
api/v1/hsqe/Parts/CreateOrUpdatePart?delete=true
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: Update the uniquely matching Part.
-
-
PartNumber
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the part number.
-
-
CrossReferenceNumber
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the CrossReferenceNumber for the Part. Will be set to null if not specified.
-
-
Description
-
DataType: string [max. 2000 char]
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Description for the Part.
-
-
Info
-
DataType: string [max. 2000 char]
-
Required: false
-
Purpose: Sets the Additional Information for the Part. Will be set to null if not specified.
-
-
PartUnit
-
DataType: string [max. 200 char]
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the part’s measuring unit. If the unit does not exist, it will create one.
-
-
PartCategory
-
DataType: string [max. 200 char]
-
Required: false
-
Purpose: Sets the part’s category. If the category does not exist, it will create one.
-
-
IsActive
-
DataType: boolean
-
Required: false
-
Purpose: Sets whether the Part is active. Will be set to true if not specified.
-
-
IsCriticalSpare
-
DataType: boolean
-
Required: false
-
Purpose: Sets whether the Part is a critical spare. Will be set to false if not specified.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Part. Will be set to null if not specified.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert or Update
-
Id: Guid for the new Part if ActionType is insert.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Part Contract
Create/Update Part Contract
URI
api/v1/hsqe/parts/CreateOrUpdatePartContract
Supported Verbs
- POST: insert and update one Part Contract. (API User must get response from POST before insert/update another Part Contract)
Required Parameters
-
Part Contract Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Part Contract Model to be created or updated.
-
Optional Parameters
-
Delete
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: To update and delete an existing part contract (must provide the part contract’s Id in Part Contract Model)
-
Example Usage:
api/v1/hsqe/Vendors/CreateOrUpdatePartContract?delete=true
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: update the uniquely matching Part Contract.
-
-
VendorId
-
DataType: Guid
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets part contract’s vendor.
-
-
PartId
-
DataType: Guid
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets part contract’s part.
-
-
VendorPartNumber
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets part contract’s vendor part number.
-
-
Price
-
DataType: decimal (positive, cannot be over 12 character length)
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets part contract’s price.
-
-
StartDate
-
DataType: datetime
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets part contract’s start date (start date and end date’s period cannot overlap another contract’s period).
-
-
EndDate
-
DataType: datetime
-
Required: false
-
Purpose: Sets part contract’s end date(start date and end date’s period cannot overlap another contract’s period).
-
-
Info
-
DataType: string [max. 2000 char]
-
Required: false
-
Purpose: Sets the part contract’s additional information.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert or Update
-
Id: Guid for the new Part Contract if ActionType is insert.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Payroll
Find Payroll
URI
api/v1/Personnel/Payroll/FindPayroll
Supported Verbs
- GET: return a filtered list of payroll data. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/Personnel/Payroll/FindPayroll?page=2
-
Optional Parameters
-
PayrollPeriodId:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return payroll data from PayrollPeriodId
-
Example Usage:
api/v1/Personnel/Payroll/FindPayroll?page=2&PayrollPeriodId=15D06AF7-4AEA-11E7-80D9-00155D040945
-
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
- GET: return a filtered list of person bank balances. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/Personnel/Payroll/BankBalance?page=2&PayrollPeriodId=6bdb2182-5145-11e7-ae3d-b8ca3ad31bab
-
-
PayrollPeriodId:
-
Data Type: Guid
-
Parameter Type: query string
-
Purpose: To specify the payroll period for which balances will be returned.
-
Example Usage:
api/v1/Personnel/Payroll/BankBalance?page=2&PayrollPeriodId=6bdb2182-5145-11e7-ae3d-b8ca3ad31bab
-
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
- GET: return a filtered list of payroll periods. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/Personnel/PayrollPeriods/FindPayrollPeriods?page=2
-
Optional Parameters
-
Date:
-
Data Type: date
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return the payroll periods containing this date
-
Example Usage:
api/v1/Personnel/PayrollPeriods/FindPayrollPeriods?page=2&Date=2017-01-01T00:00:00-00:00
-
-
OnlyForExport:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, only payroll periods that are ready for Export, and have an EndDate before tomorrow’s date at midnight, are returned. For example, if the date at the time is 01/01/2018 13:37, tomorrow at midnight would be 02/01/2018 00:00. Ready for Export means only payroll periods where Exported is null and Posted is not null.
-
Example Usage:
api/v1/Personnel/PayrollPeriods/FindPayrollPeriods?page=2&OnlyForExport=true
-
-
NoPayrollGroupOnly:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, only payroll periods that don’t belong to a payroll group are returned.
-
Note: Cannot be used with PayrollGroupName
-
Example Usage:
api/v1/Personnel/PayrollPeriods/FindPayrollPeriods?page=2&NoPayrollGroupOnly=true
-
-
PayrollGroupName:
-
Data Type: string
-
Parameter Type: query string
-
Purpose: To specify the payroll group for which payroll period will be returned.
-
Note: Cannot be used with NoPayrollGroupOnly
-
Example Usage:
api/v1/Personnel/PayrollPeriods/FindPayrollPeriods?page=1&PayrollGroupName=Wheelhouse
-
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
- POST: Mark or unmark a payroll periods’s exported date field
Required Parameters
-
PayrollPeriod Export Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies the Id of the target payroll period and the desired ExportDate
-
Data Model
Payroll Class Model
{
"Id": <GUID>,
"ExportDate": <date>,
"ResetExportDate": <boolean>
}
Payroll Class Object Fields
-
Id
-
Data Type: GUID
-
Required: true
-
Purpose: Identify the payroll period to update
-
-
ExportDate
-
Data Type: date
-
Required: false
-
Purpose: Sets the exported date field on the target payroll period
-
-
ResetExportDate
-
Data Type: boolean
-
Required: false
-
Purpose: If true, sets the exported date field on the target payroll period to NULL
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: “Set Exported”, or “Remove Exported”
-
Id: Guid for the target payroll period
-
ErrorMsgs: Fields that have issues
-
Entity: Name of the field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message(s)
Payroll Class
Create/Update Payroll Class
URI
api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClass
Supported Verbs
- POST: insert or update a payroll class.
Required Parameters
-
Payroll Class Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Payroll Class Model to be created or updated.
-
Data Model
Payroll Class Model
{
"Id": <GUID>,
"Name": <string>,
"AccountingCode": <string>,
"DoArchive": <boolean>
}
Payroll Class Object Fields
-
Id
-
DataType: GUID
-
Required: true when updating
-
Purpose: Identify the payroll class to update
-
-
Name
-
DataType: string [max. 200 char]
-
Required: true
-
Purpose: Sets the Name for the payroll class.
-
-
AccountingCode
-
DataType: string [max. 50 char]
-
Required: false
-
Purpose: Sets the AccountingCode for the payroll class.
-
-
DoArchive
-
DataType: boolean
-
Required: false
-
Purpose: Archive the payroll class.
-
Note: This field will be ignored when creating a new payroll class. Once archived, it can’t be reverted. Any payroll class earning codes will also be archived.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert or Update
-
Id: Guid for the new payroll class if ActionType is insert.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Create/Update Payroll Class Earning Code
URI
api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClassEarningCode
Supported Verbs
- POST: insert or update a payroll class earning code.
Required Parameters
-
Payroll Class Earning Code Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one payroll class Earning Code Model to be created or updated.
-
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
-
Id
-
DataType: GUID
-
Required: true when updating
-
Purpose: Identify the payroll class earning code to update
-
-
PayrollClassId
-
DataType: GUID
-
Required: true
-
Purpose: Sets the PayrollClassId for the payroll class earning code
-
-
QuantityType
-
DataType: string [max. 20 char]
-
Required: false
-
Purpose: Sets the QuantityType for the Earning Code.
-
Accepted Value: “fixed”, “daily”, “hourly”, “amount”
-
-
EarningCode
-
DataType: JSON Object
-
Required: true
-
Purpose: Sets the EarningCodeId for the payroll class earning code.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
-
-
Factor
-
DataType: decimal
-
Required: true
-
Purpose: Sets the Factor for the payroll class earning code.
-
-
Rate
-
DataType: decimal
-
Required: true
-
Purpose: Sets the Rate for the payroll class earning code.
-
-
AccrualFactor
-
DataType: decimal
-
Required: true
-
Purpose: Sets the AccrualFactor for the payroll class earning code.
-
-
EffectiveDate
-
DataType: date
-
Required: true
-
Purpose: Sets the EffectiveDate for the payroll class earning code.
-
-
DoArchive
-
DataType: boolean
-
Required: false
-
Purpose: Archive the payroll class earning code.
-
Note: This field will be ignored when creating a new payroll class earning code. Once archived, it can’t be reverted.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert or Update
-
Id: Guid for the new payroll class if ActionType is insert.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Payroll Class
URI
api/v1/Personnel/PayrollClasses/FindPayrollClasses
Supported Verbs
- GET: return a filtered list of payroll classes and its earning codes. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/Personnel/PayrollClasses/FindPayrollClasses?page=2
-
Optional Parameters
-
Name:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return payroll class with Name containing the string
-
Example Usage:
api/v1/Personnel/PayrollClasses/FindPayrollClasses?page=2&Name=Foo
-
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
- POST: update a requisition.
Required Parameters
-
Requisition Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Requisition Model to be updated.
-
Optional Parameters
-
UpdateInventory
-
Data Type: Boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, if the requisition is set to ‘Received On Asset’, It will update the inventory count (If tenant and user have permission to inventory app).
-
Example Usage:
api/v1/hsqe/Requisitions/UpdateRequisition?UpdateInventory=true
-
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
-
Id
-
DataType: Guid
-
Required: true
-
Purpose: Update the uniquely matching Requisition.
-
-
Name
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the Name for the Requisition.
-
-
Status
-
DataType: string [“New”, “Confirmed”, “Ordered”, “Received On Shore”, “Received On Asset”, “Closed”, “Canceled”],
-
Required: false
-
Purpose: Sets all the Line Item within the requisition to one of the status specified.
-
Note: Line Item status will not change if the status is already one of the following: ‘Received On Asset’, ‘Closed’, ‘Canceled’ or ‘Deleted’
-
-
DueDate
-
DataType: datetime
-
Required: false
-
Purpose: Sets the due date for the Requisition.
-
-
Priority
-
DataType: string [“Low”, “Medium”, “High”],
-
Required: false
-
Purpose: Sets the priority for the Requisition.
-
-
LinkedItemType
-
DataType: string [“Inspection”, “Maintenance”, “Inventory”, “Form”, “Task”, “Corrective Action”],
-
Required: false
-
Purpose: Sets the linked item type for the Requisition.
-
Note: If the LinkedItemType is set, then user must provide LinkedItemId and vice versa.
-
-
LinkedItemId
-
DataType: Guid
-
Required: false
-
Purpose: Sets the linked item Id for the Requisition.
-
Note: If the LinkedItemId is set, then user must provide LinkedItemType and vice versa.
-
Return Value
Action Accepted
"Data":
{
"ActionType": <string>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Update
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Update Line Item
URI
api/v1/hsqe/Requisitions/UpdateLineItem
Supported Verbs
- POST: update a single Line Item.
Required Parameters
-
Line Item Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Line Item Model to be updated.
-
Optional Parameters
-
UpdateInventory
-
Data Type: Boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, if the Line Item is set to ‘Received On Asset’, It will update the inventory count (If tenant and user have permission to inventory app).
-
Example Usage:
api/v1/hsqe/Requisitions/UpdateLineItem?UpdateInventory=true
-
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
-
Id
-
DataType: Guid
-
Required: true
-
Purpose: Update the uniquely matching Line Item.
-
-
PartId
-
DataType: Guid
-
Required: false
-
Purpose: Sets the part id for the Line Item.
-
-
VesselComponentId
-
DataType: Guid
-
Required: false
-
Purpose: Sets the associated vessel component id for the line item.
-
Note: the vessel component should be on the Requisition’s asset.
-
-
Description
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the Description for the Line Item.
-
-
Quantity
-
DataType: integer or decimal (See notes),
-
Required: false
-
Purpose: Sets the quantity for the Line Item.
-
Note: If the Line Item type is labor, then the quantity can be decimal, otherwise the quantity have to be integer only.
-
-
EstPrice
-
DataType: decimal
-
Required: false
-
Purpose: Sets the estimated price for the Line Item.
-
-
VendorId
-
DataType: Guid,
-
Required: false
-
Purpose: Sets the vendor id for the Line Item.
-
-
Status
-
DataType: string [“New”, “Confirmed”, “Ordered”, “Received On Shore”, “Received On Asset”, “Closed”, “Canceled”],
-
Required: false
-
Purpose: Sets the Line Item to one of the statuses specified.
-
Note: Line Item status cannot be changed if the status is already one of the following: ‘Received On Asset’, ‘Closed’, ‘Canceled’ or ‘Deleted’
-
-
Type
-
DataType: string [“Labor”, “Part”]
-
Required: false
-
Purpose: Sets the type for the Line Item.
-
Return Value
Action Accepted
"Data":
{
"ActionType": <string>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Update
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Requisitions
URI
api/v1/hsqe/Requisitions/FindRequisitions
Supported Verbs
- GET: return a filtered list of in progress requisitions (unless user find requistion by Id). the data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 25 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/hsqe/Requisitions/FindRequisitions?page=2
-
Optional Parameters
-
SearchString:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Requisition with Name containing the string.
-
Example Usage:
api/v1/hsqe/Requisitions/FindRequisitions?page=2&SearchString=Foo
-
-
ExternalNumber:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Requisition with External Number equals to the string.
-
Example Usage:
api/v1/hsqe/Requisitions/FindRequisitions?page=2&ExternalNumber=FX-1000
-
-
Id:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Requisition with Id equals to the Guid.
-
Note: If Id is set, then the endpoint will ignore other optional parameters.
-
Example Usage:
api/v1/hsqe/Requisitions/FindRequisitions?page=2&Id=00000000-0000-0000-0000-000000000000
-
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
- GET: return a filtered list of in progress Line Items (unless user find line item by Id). the data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 25 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/hsqe/Requisitions/FindLineItems?page=2
-
Optional Parameters
-
SearchString:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Line Item with description containing the string.
-
Example Usage:
api/v1/hsqe/Requisitions/FindLineItems?page=2&SearchString=Foo
-
-
ExternalNumber:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Requisition with External Number equals to the string.
-
Example Usage:
api/v1/hsqe/Requisitions/FindLineItems?page=2&ExternalNumber=FX-1000
-
-
RequisitionId:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Line Item with RequisitionId equals to the Guid.
-
Note: If RequisitionId is set, then the endpoint will ignore above optional parameters.
-
Example Usage:
api/v1/hsqe/Requisitions/FindLineItems?page=2&RequisitionId=00000000-0000-0000-0000-000000000000
-
-
Id:
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Line Item with Id equals to the Guid.
-
Note: If Id is set, then the endpoint will ignore above optional parameters.
-
Example Usage:
api/v1/hsqe/Requisitions/FindLineItems?page=2&Id=00000000-0000-0000-0000-000000000000
-
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),
},
...
]
}
}
Ship
Create/Update Ship
URI
api/v1/jobs/ships/CreateOrUpdateShip
Supported Verbs
- POST: insert or update a ship.
Required Parameters
-
Ship Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one or more Ship Model to be created or updated.
-
-
MatchingField
-
Data Type: String
-
Required: true
-
Data Type: query string
-
Accepted Value: “imo”, “mmsi”, “name”, “callsign”
-
Purpose: matching field will be used to potentially identify the ship to update
-
Example Usage:
api/v1/jobs/ships/CreateOrUpdateShip?matchingField=mmsi
-
Optional Parameters
-
asRequest
-
Data Type: Boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, instead of creating or updating a Ship directly, a Request for those changes will be created.
-
Example Usage:
api/v1/jobs/ships/CreateOrUpdateShip?matchingField=MMSI&asRequest=true
-
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>,
"Length": <decimal>,
"LOA": <decimal>,
"TEU": <decimal>,
"UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}
Ship Object Fields
-
Name
-
DataType: string [max. 150 char]
-
Required: true
-
Purpose: Sets the Name for the Ship.
-
-
MMSI
-
DataType: string [max. 50 char]
-
Required: see Note
-
Purpose: Sets the MMSI for the Ship.
-
-
IMONumber
-
DataType: string [max. 100 char]
-
Required: see Note
-
Purpose: Sets the IMONumber for the Ship.
-
-
CallSign
-
DataType: string [max. 50 char]
-
Required: see Note
-
Purpose: Sets the CallSign for the Ship.
-
-
Nation
-
DataType: string [max. 50 char]
-
Required: false
-
Purpose: Sets the Nation for the Ship.
-
-
ShipType
-
DataType: string [max. 200 char]
-
Required: false
-
Purpose: Sets the ShipType for the Ship.
-
Note: If the ShipType doesn’t exist in Helm CONNECT, it will be treated as null and won’t update the existing ShipType.
-
-
Beam
-
DataType: decimal
-
Required: false
-
Purpose: Sets the Beam for the Ship.
-
-
Deadweight
-
DataType: decimal
-
Required: false
-
Purpose: Sets the Deadweight for the Ship.
-
-
Height
-
DataType: decimal
-
Required: false
-
Purpose: Sets the Height for the Ship.
-
-
GT
-
DataType: decimal
-
Required: false
-
Purpose: Sets the GT for the Ship.
-
-
NT
-
DataType: decimal
-
Required: false
-
Purpose: Sets the NT for the Ship.
-
-
TEU
-
DataType: decimal
-
Required: false
-
Purpose: Sets the TEU for the Ship.
-
-
LOA
-
DataType: decimal
-
Required: false
-
Purpose: Sets the LOA for the Ship.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Ship.
-
Return Value
Action Accepted
"Data":
{
"ActionType": <string>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert or Update
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Note: ImoNumber, MMSI, CallSign are not required fields when updating. However, one of them needs to be present when inserting.
Tax Types
Create/Update Tax Type
URI
api/v1/jobs/TaxTypes/CreateOrUpdateTaxType
Supported Verbs
- POST: insert or update a tax type.
Required Parameters
-
Tax Type Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies a Tax Type Model to be created or updated.
-
Data Model
Tax Type Model
{
"Id": <GUID>,
"Name": <string>,
"ExternalSystemCode": <string>,
"AccountingCode": <string>,
"UsesExternalSystem": <boolean>
}
Tax Type Object Fields
-
Id
-
DataType: GUID
-
Required: true when updating
-
Purpose: Identify the Tax Type to update.
-
-
Name
-
DataType: string [max. 400 char]
-
Required: true
-
Purpose: Sets the Name for the Tax Type.
-
-
ExternalSystemCode
-
DataType: string [max. 200 char]
-
Required: false
-
Purpose: Sets the ExternalSystemCode for the Tax Type.
-
-
AccountingCode
-
DataType: string [max. 50 char]
-
Required: false
-
Purpose: Sets the AccountingCode for the Tax Type.
-
-
UsesExternalSystem
-
DataType: boolean
-
Required: false
-
Default Value: false
-
Purpose: Sets the UsesExternalSystem for the TaxType.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <Guid>,
"ErrorMsgs": <Array>
[
{
"Entity": <string>,
"Message": <string>
},
...
]
}
-
ActionType: ‘Insert’ or ‘Update’
-
Id: Guid for the new Tax Type.
-
ErrorMsgs: Fields that have issues.
-
Entity: Name of the field.
-
Message: Error message.
Action Rejected
"Data": <Array>
- Data: Error message.
Find Tax Types
URI
api/v1/jobs/TaxTypes/FindTaxTypes
Supported Verbs
- GET: return a filtered list of tax types. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/jobs/TaxTypes/FindTaxTypes?page=1
-
Optional Parameters
-
Name:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return tax types with Name containing the string
-
Example Usage:
api/v1/jobs/TaxTypes/FindTaxTypes?page=1&Name=Foo
-
-
AccountingCode:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return tax types with AccountingCode containing the string
-
Example Usage:
api/v1/jobs/TaxTypes/FindTaxTypes?page=1&AccountingCode=123
-
-
ExternalSystemCode:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return tax types with ExternalSystemCode containing the string
-
Example Usage:
api/v1/jobs/TaxTypes/FindTaxTypes?page=1&ExternalSystemCode=123
-
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>
- Data: Error message.
Transaction
Transaction Counts by Division
URI
api/v1/jobs/transactions/TransactionCountsByDivision
Supported Verbs
- GET: return a list of Division Id’s and their count of submitted transactions
Required Parameters
- None
Optional Parameters
-
posted:
-
Data Type: Boolean
-
Parameter Type: query string
-
Default Value: true
-
Purpose: When true, transactions with a posted date will be counted.
-
Example Usage:
api/v1/jobs/transactions/TransactionCountsByDivision?posted=true&unposted=false
-
-
unposted:
-
Data Type: Boolean
-
Parameter Type: query string
-
Default Value: true
-
Purpose: When true, transactions with no posted date will be counted.
-
Example Usage:
api/v1/jobs/transactions/TransactionCountsByDivision?unposted=true&posted=false
-
-
ar
-
Data Type: Boolean
-
Parameter Type: query string
-
Default Value: true
-
Purpose: When true, transactions with a Transaction Type that is marked as Accounts Receivable will be counted.
-
Example Usage:
api/v1/jobs/transactions/TransactionCountsByDivision?ar=true
-
-
ap
-
Data Type: Boolean
-
Parameter Type: query string
-
Default Value: true
-
Purpose: When true, transactions with a Transaction Type that is marked as Accounts Payable will be counted.
-
Example Usage:
api/v1/jobs/transactions/TransactionCountsByDivision?ap=true
-
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
- POST: write the posted date of a transaction(s)
Required Parameters
-
model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies the transactions for modification and the desired posted dates to be written to the respective transaction
-
Data Model
model
{
"Assignments": <Array>
[
{
"TransactionId": <GUID>,
"PostedDate": <date>,
"ExternalTransactionNumber": <string>
},
....
]
}
- Assignments: an Array of JSON Objects
- 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: A Date value that will be written to the Transaction's Posted field.
Example
api/v1/Jobs/Transactions/SetPosted
{
"Assignments":
[
{
"TransactionId": "e0adc10c-e0d6-11e5-829b-b8ca3ad26410",
"PostedDate": "2016-03-10T12:39:31-08:00"
},
{
"TransactionId": "e0adc10d-e0d6-11e5-829b-b8ca3ad26410",
"PostedDate": "2016-03-10T12:39:31-08:00"
},
....
]
}
Return Value
- None.
Details
URI
api/v1/jobs/Transactions/Details
Supported Verbs
- GET: return a list Transaction details. This includes Transaction, Transaction Line, and Revenue Allocation data. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/Jobs/Transactions/Details?page=2
-
Optional Parameters
-
divisionId:
-
Data Type: GUID
-
Parameter Type: query string
-
Default Value: null
-
Purpose: Controls division filtering for the results. Only details with a division that has
Id == divisionId
, or with a child of the said division, will be returned in the result. -
Example Usage:
api/v1/Jobs/Transactions/Details?page=1&divisionId=28e9ffee-e583-11e5-829b-b8ca3ad26410
-
-
posted:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: true
-
Purpose: When false, transactions with a posted date will not be counted and returned.
-
Example Usage:
api/v1/Jobs/Transactions/Details?page=1&posted=false
-
-
unposted:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: true
-
Purpose: When false, transactions without a posted date will not be counted and returned.
-
Example Usage
api/v1/Jobs/Transactions/Details?page=1&unposted=false
-
-
ar
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: true
-
Purpose: When false, transactions with a Transaction Type that is marked as Accounts Receivable will not be counted and returned.
-
Example Usage:
api/v1/Jobs/Transactions/Details?page=1&ar=false
-
-
ap
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: true
-
Purpose: When false, transactions with a Transaction Type that is marked as Accounts Payable will not be counted and returned.
-
Example Usage:
api/v1/Jobs/Transactions/Details?page=1&ap=false
-
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>,
"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>,
"ExchangeRate": <decimal>,
"AccountingTerm":
{
"Name": <string>,
"NumberOfDays": <integer>,
"ExternalSystemCode": <string>
},
"Area":
{
"Name": <string>,
"ShortName": <string>,
"ExternalSystemCode": <string>
},
"Order":
{
"OrderNumber": <string>,
"ShipName": <string>,
"CustomerAccount": <string>,
"CustomerPONumber": <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>,
"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
- POST: insert a Trip and any associated Jobs.
Required Parameters
-
Trip Model
-
Data Type: Array of JSON Objects (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies the Trip information and Job(s) information to be created.
-
Optional Parameters
-
asRequest
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, instead of creating a Trip directly, a Request for those changes will be created.
-
Example Usage:
api/v1/jobs/trips/CreateTrip?asRequest=true
-
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>,
"UserDefined": User Defined Data Model (see User Defined Fields section for more details),
"Jobs": <Array>
[
<JobModel>,
....
]
}
Job Model
{
"RequiredResourceType":
{
"Id": <GUID>,
"Name": <string>
},
"StartDate": <date>,
"EndDate": <date>,
"PlannedStartDate": <date>,
"PlannedEndDate": <date>,
"UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}
Trip Object Fields
-
Order
-
DataType: JSON Object
-
Required: true
-
Purpose: Identify which Order to add the Trip to.
-
Fields:
-
Id
<GUID>
-
OrderNumber
<string>
-
-
-
TripType
-
DataType: JSON Object
-
Required: true
-
Purpose: Sets the TripTypeId of the Trip.
-
Function: Selects the TripType that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
-
-
FromLocation
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the FromLocationId of the Trip.
-
Function: Selects the FromLocation that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<String>
-
ExternalSystemCode
<string>
-
-
ToLocation
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the ToLocationId of the Trip.
-
Function: Selects the ToLocation that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<String>
-
ExternalSystemCode
<string>
-
-
Status
-
DataType: string
-
Required: false
-
Purpose: Sets the Status of the Trip.
-
Note: Status can be one of the following values and is case sensitive:
-
Null: will mark this Trip as unconfirmed
-
“STATUS_COMPLETE”: will mark this Trip as complete
-
“STATUS_CONFIRMED”: will mark this Trip as confirmed
-
“STATUS_CANCELLED”: will mark this Trip as cancelled
-
-
RequestedDate
-
DataType: date
-
Required: false
-
Purpose: Sets the RequestedDate of the Trip.
-
-
IsRequestedDateFirm
-
DataType: boolean
-
Required: false
-
Purpose: Sets the IsRequestedDateFirm of the Trip.
-
-
EstimatedDuration
-
DataType: decimal
-
Required: false
-
Purpose: Sets the Duration of the Trip.
-
Note: This value is stored in minutes.
-
-
StartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the StartDate of the Trip.
-
-
EndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the EndDate of the Trip.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Trip.
-
-
NumberRequiredResources
-
DataType: Int
-
Required: false
-
Purpose: Create specified number of Jobs if the Jobs field (see below) is not specified
-
Note: Jobs will have default resource type if client only has one root resource type. Jobs’ startDate and endDate will default to Trip’s startDate and EndDate. Job’s RunningFrom and RunningTo will be defaulted based on the From and To Location.
-
-
Jobs
-
DataType: an Array of JSON Objects
-
Required: false
-
Purpose: Create Jobs on the Trip
-
Job Object Fields
-
RequiredResourceType
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the RequiredResourceTypeId of the Trip.
-
Function: Selects the RequiredResourceType that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
-
-
StartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the StartDate of the Job.
-
-
EndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the EndDate of the Job.
-
-
PlannedStartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the PlannedStartDate of the Job.
-
-
PlannedEndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the PlannedEndDate of the Job.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Job.
-
Return Value
With no results
{
"Data":
{
"LogMessages": <Array>
[
{
"Message": <string>,
"Entity": <string>
},
....
]
}
}
With results
{
"Data":
{
"TripId": <GUID>,
"LogMessages": <Array>
[
{
"Message": <string>,
"Entity": <string>
},
....
]
}
}
Update Trip
URI
api/v1/jobs/trips/UpdateTrip
Supported Verbs
- POST: update specified Trip. Only Non-Invoiced trips can be updated
Required Parameters
-
Trip Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies Trip Model to be updated.
-
Optional Parameters
-
asRequest
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When true, instead of updating a Trip directly, a Request for those changes will be created.
-
Example Usage:
api/v1/jobs/trips/UpdateTrip?asRequest=true
-
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>,
"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>
},
"StartDate": <date>,
"EndDate": <date>,
"PlannedStartDate": <date>,
"PlannedEndDate": <date>,
"UserDefined": User Defined Data Model (see User Defined Fields section for more details)
}
Trip Object Fields
-
Id
-
DataType: GUID
-
Required: true
-
Purpose: Identify which Trip should be updated
-
-
TripType
-
DataType: JSON Object
-
Required: true
-
Purpose: Sets the TripTypeId of the Trip.
-
Function: Selects the TripType that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
-
-
FromLocation
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the FromLocationId of the Trip.
-
Function: Selects the FromLocation that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<String>
-
ExternalSystemCode
<string>
-
-
-
ToLocation
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the ToLocationId of the Trip.
-
Function: Selects the ToLocation that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<String>
-
ExternalSystemCode
<string>
-
-
-
Status
-
DataType: string
-
Required: false
-
Purpose: Sets the Status of the Trip.
-
Note: Status can be one of the following values and is case sensitive:
-
Null: will mark this Trip as unconfirmed
-
**"**STATUS_COMPLETE": will mark this Trip as complete
-
“STATUS_CONFIRMED”: will mark this Trip as confirmed
-
“STATUS_CANCELLED”: will mark this Trip as cancelled
-
-
-
RequestedDate
-
DataType: date
-
Required: false
-
Purpose: Sets the RequestedDate of the Trip.
-
-
IsRequestedDateFirm
-
DataType: boolean
-
Required: false
-
Purpose: Sets the IsRequestedDateFirm of the Trip.
-
-
EstimatedDuration
-
DataType: decimal
-
Required: false
-
Purpose: Sets the Duration of the Trip.
-
Note: This value is stored in minutes.
-
-
StartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the StartDate of the Trip.
-
-
EndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the EndDate of the Trip.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Trip.
-
-
NumberRequiredResources
-
DataType: Int
-
Required: false
-
Purpose: Create number of Jobs
-
Note: Jobs will have default resource type if client only has one root resource type. Jobs’ startDate and endDate will default to Trip’s startDate and EndDate. Job’s RunningFrom and RunningTo will be defaulted based on the From and To Location.
-
-
Jobs
-
DataType: an Array of JSON Objects
-
Required: false
-
Purpose: Create Jobs on the Trip
-
Job Object Fields
-
Id
-
DataType: GUID
-
Required: false
-
Purpose: If not NULL, the specified job will be updated
-
-
RequiredResourceType
-
DataType: JSON Object
-
Required: false
-
Purpose: Sets the RequiredResourceTypeId of the Trip.
-
Function: Selects the RequiredResourceType that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
-
-
-
StartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the StartDate of the Job.
-
-
EndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the EndDate of the Job.
-
-
PlannedStartDate
-
DataType: date
-
Required: false
-
Purpose: Sets the PlannedStartDate of the Job.
-
-
PlannedEndDate
-
DataType: date
-
Required: false
-
Purpose: Sets the PlannedEndDate of the Job.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Job.
-
Return Value
With no results
{
"Data":
{
"LogMessages": <Array>
[
{
"Message": <string>,
"Entity": <string>
},
....
]
}
}
With results
{
"Data":
{
"TripId": <GUID>,
"LogMessages": <Array>
[
{
"Message": <string>,
"Entity": <string>
},
....
]
}
}
User
Create/Update User
URI
api/v1/jobs/users/CreateOrUpdateUser
Supported Verbs
- POST: insert or update a user.
Required Parameters
-
User Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one User Model to be created or updated.
-
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
-
Id
-
DataType: GUID
-
Required: true when updating
-
Purpose: Identify the user to update
-
-
FirstName
-
DataType: string [max. 200 char]
-
Required: true
-
Purpose: Sets the FirstName for the User.
-
-
MiddleName
-
DataType: string [max. 200 char]
-
Required: false
-
Purpose: Sets the MiddleName for the User.
-
-
LastName
-
DataType: string [max. 200 char]
-
Required: true
-
Purpose: Sets the LastName for the User.
-
-
Suffix
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the Suffix for the User.
-
-
PreferredName
-
DataType: string [max. 200 char]
-
Required: false
-
Purpose: Sets the PreferredName for the User.
-
-
LdapName
-
DataType: string [max. 200 char]
-
Required: false
-
Purpose: Sets the Ldap for the User.
-
-
Email
-
DataType: string [max. 200 char]
-
Required: false
-
Purpose: Sets the Email for the User.
-
-
EmployeeNumber
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the EmployeeNumber for the User.
-
-
CanLogIn
-
DataType: boolean
-
Required: false
-
Default Value: false
-
Purpose: Sets the CanlogIn Flag for the User.
-
-
CanLogInToBoat
-
DataType: string
-
Required: false
-
Default Value: false
-
Purpose: Sets the CanLogInToBoat for the User.
-
-
IsActiveEmployee
-
DataType: boolean
-
Required: false
-
Default Value: true
-
Purpose: Sets the ActiveEmployee for the User.
-
-
Division
-
DataType: JSON Object
-
Required: true
-
Purpose: Sets the Division for the User.
-
Function: Selects the Division that uniquely matches one or more of the given fields.
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 200 char] -
ExternalSystemCode
<string>
-
-
-
SecondaryDivisions
-
DataType: array of JSON Division Objects
-
Required: false
-
Purpose: Sets the SecondaryDivision for the User.
-
-
Roles
-
DataType: array of JSON Role Objects
-
Required: false
-
Purpose: Sets the Roles for the User.
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 200 char]
-
-
-
Positions
-
DataType: array of JSON Position Object
-
Required: false
-
Purpose: Sets the Positions for the User.
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 400 char] -
EffectivePositions
-
DataType: Array of JSON Objects
-
Required: false
-
Purpose: update HireDate and TerminateDate for Positions
-
Fields:
-
Id
-
DataType:
<GUID>
-
Required: true when updating
-
Purpose: Identify the effectivePosition record to update
-
Note: Can’t use Id from another user
-
-
HireDate
-
DataType:
<date>
-
Required: false
-
Purpose: set the HireDate for effectivePosition
-
-
TerminateDate
-
DataType:
<date>
-
Required: false
-
Purpose: set the TerminateDate for effectivePosition
-
-
-
Note: HireDates and TerminateDates for same position can’t overlap.
-
-
-
Note: Same position can only be given once. When updating, need to provide all effectivePositions with Id. Missing effectivePositions will be deleted.
-
-
Departments
-
DataType: Json Object
-
Required: false
-
Purpose: Sets the Department for the User.
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 400 char]
-
-
-
PayrollClassHistory
-
DataType: Json Object
-
Required: false
-
Purpose: Sets the PayrollClassHistory for the User.
-
Fields:
-
Upsert
-
DataType: Array of JSON Objects
-
Required: false
-
Purpose: Insert or update PayrollClasses for PayrollClassHistory
-
Fields:
-
Id
-
DataType:
<GUID>
-
Required: true when updating
-
Purpose: Identify the payrollClassHistory record to update
-
-
PayrollClass
-
DataType:
Json Object
-
Required: true when inserting or updating the field
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 200 char]
-
-
-
EffectiveDate
-
DataType:
<date>
-
Required: true when inserting or updating the field
-
-
-
-
Delete
-
DataType: array of
<GUID>
-
Required: false
-
Purpose: Delete PayrollClasses from PayrollClassHistory
-
-
-
Note: This is only available to Helm CONNECT Personnel
-
-
RotationType
-
DataType: Json Object
-
Required: false
-
Purpose: Sets the RotationTypeId for the User.
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 200 char]
-
-
Note: This is only available to Helm CONNECT Personnel
-
-
PayrollGroup
-
DataType: Json Object
-
Required: false
-
Purpose: Sets the PayrollGroupId for the User.
-
Fields:
-
Id
<GUID>
-
Name
<string>
[max. 200 char]
-
-
Note: This is only available to Helm Connect Personnel
-
-
HomePhoneNumber
-
DataType: string [max. 50 char]
-
Required: false
-
Purpose: Sets the HomePhoneNumber for the User.
-
-
CellPhoneNumber
-
DataType: string [max. 50 char]
-
Required: false
-
Purpose: Sets the CellPhoneNumber for the User.
-
-
Birthday
-
DataType: date
-
Required: false
-
Purpose: Sets the Birthday for the User.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the User.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert or Update
-
Id: Guid for the new user if ActionType is insert.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Create/Update User Image
URI
api/v1/jobs/users/CreateOrUpdateUserImage
Supported Verbs
- POST: insert or update a user image.
Required Parameters
-
UserId
-
Data Type: Guid
-
Parameter Type: query string
-
Purpose: Identify which user should get this image
-
Example Usage:
api/v1/jobs/users/CreateOrUpdateUserImage?UserId=446f1bf2-917d-456a-9059-7a42981278f7
-
-
ImageData
-
Data Type: Blob
-
ParameterType: Request Content
-
Purpose: binary format of the image
-
-
FileName
-
Data Type: String
-
Parameter Type: Request Headers
-
Required: true
-
Example:
Content-Disposition: attachment; filename="fileName.pdf"
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>
}
- ActionType: Insert or Update
Action Rejected
"Data": <Array>
- Data: Error Messages
Find Users
URI
api/v1/jobs/users/FindUsers
Supported Verbs
- GET: return a filtered list of users. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/Jobs/Users/FindUsers?page=2
-
Optional Parameters
-
FirstName:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Users with First Name containing the string
-
Example Usage:
api/v1/Jobs/Users/FindUsers?page=2&FirstName=Foo
-
-
MiddleName:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Users with Middle Name containing the string
-
Example Usage:
api/v1/Jobs/Users/FindUsers?page=2&MiddleName=boo
-
-
LastName:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Users with Last Name containing the string name
-
Example Usage:
api/v1/Jobs/Users/FindUsers?page=2&LastName=bar
-
-
PreferredName:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return Users with Preferred Name containing the string name
-
Example Usage:
api/v1/Jobs/Users/FindUsers?page=2&PreferredName=Edocian
-
-
EmployeeNumber:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, When not null, will return Users with Employee Number containing the string
-
Example Usage:
api/v1/Jobs/Users/FindUsers?page=2&EmployeeNumber=123
-
-
DivisionId
-
Data Type: Guid
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return User that have this division in either primary division or secodnary divisions.
-
Example Usage:
api/v1/Jobs/Users/FindUsers?page=2&Division=230e6fbb-d304-477a-9a2c-c0d0810f38ff
-
-
CanLogIn:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return users that have CanLogIn match with the input value
-
Example Usage:
api/v1/Jobs/Users/FindUsers?page=2&CanLogIn=true
-
-
CanLoginToBoat:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return users that have CanLogIn match with the input value
-
Example Usage
api/v1/Jobs/Users/FindUsers?page=2&CanLogInToBoat=true
-
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>
}
},
....
]
}
}
Vendor
Create/Update Vendor
URI
api/v1/hsqe/vendors/CreateOrUpdateVendor
Supported Verbs
- POST: insert and update one vendor.
Required Parameters
-
Vendor Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies one Vendor Model to be created or updated.
-
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
-
Id
-
DataType: Guid
-
Required: false when creating new data; true when updating existing data
-
Purpose: update the uniquely matching Vendor.
-
-
Name
-
DataType: string [max. 400 char]
-
Required: true when creating new data; false when updating existing data
-
Purpose: Sets the Name for the Vendor.
-
-
ShortName
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the ShortName for the Vendor. Will be set to null if not specified.
-
-
CrossReferenceNumber
-
DataType: string [max. 100 char]
-
Required: false
-
Purpose: Sets the CrossReferenceNumber for the Vendor. Will be set to null if not specified.
-
-
IsActive
-
DataType: boolean
-
Required: false
-
Purpose: Sets whether the Vendor is active. Will be set to true if not specified.
-
-
UserDefined
-
DataType: User Defined Data Model (see User Defined Fields section for more details)
-
Required: false
-
Purpose: Sets the UserDefined for the Vendor. Will be set to null if not specified.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert or Update
-
Id: Guid for the new Vendor if ActionType is insert.
-
ErrorMsgs: Fields that have issues.
-
Entity: name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Find Vendors
URI
api/v1/hsqe/Vendors/FindVendors
Supported Verbs
- GET: return a filtered list of vendors. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 25 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/hsqe/Vendors/FindVendors?page=2
-
Optional Parameters
-
SearchString:
-
Data Type: string
-
Parameter Type: query string
-
Default Value: null
-
Purpose: When not null, will return vendor with Name or ShortName containing the string
-
Example Usage:
api/v1/hsqe/Vendors/FindVendors?page=2&SearchString=Foo
-
-
IncludeInactive:
-
Data Type: boolean
-
Parameter Type: query string
-
Default Value: false
-
Purpose: When false, will return active vendors only. Otherwise, will return inactive vendors as well.
-
Example Usage:
api/v1/hsqe/Vendors/FindVendors?page=2&IncludeInactive=true
-
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
- GET: Return a filtered list of Certification Types and their current and historical Certifications. The data is returned by page (see below).
Required Parameters
-
page:
-
Data Type: integer
-
Parameter Type: query string
-
Purpose: Controls the pagination of the returned data. The value of page is the offset of results to return.
page=1
, would return the first batch of results,page=2
would return the second batch of results, and so on. Each batch contains 100 records except for the last page which will contain less if not enough records exist. -
Example Usage:
api/v1/hsqe/certifications/FindCertifications?page=2
-
-
personId: (required if no assetId given)
-
Data Type: GUID
-
Parameter Type: query string
-
Purpose: Filters the result set to only include Certifications that match the Person with the given personId.
-
Example Usage:
api/v1/hsqe/certifications/FindCertifications?page=2&personId=430e6fbb-d304-477a-9a2c-c0d0810f38ff
-
-
assetId: (required if no personId given)
-
Data Type: GUID
-
Parameter Type: query string
-
Purpose: Filters the result set to only include Certifications that match the Asset with the given assetId.
-
Example Usage:
api/v1/hsqe/certifications/FindCertifications?page=2&assetId=530e6fbb-d304-477a-9a2c-c0d0810f38ff
-
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
- POST: Insert or update a certification for a Person or Asset.
Required Parameters
-
Certificate Model
-
Data Type: JSON Object (See Data Model for details)
-
Parameter Type: request body
-
Default Value: none
-
Purpose: Supplies Certificate Model to be created or updated.
-
Data Model
Certificate Model
{
"TypeId": <GUID>,
"AssetId": <GUID>,
"PersonId": <GUID>,
"Obtained": <date>,
"Expires": <date>,
"ReferenceNumber": <string>
}
Certification Object Fields
-
TypeId
-
DataType: Guid
-
Required: true
-
Purpose: Sets the Type on the Certificate being inserted.
-
-
AssetId
-
DataType: Guid
-
Required: true, if no PersonId supplied, otherwise false
-
Purpose: Sets the Target for the Certificate.
-
-
PersonId
-
DataType: Guid
-
Required: true, if no AssetId supplied, otherwise false
-
Purpose: Sets the Target for the Certificate.
-
-
Obtained
-
DataType: date
-
Required: true
-
Purpose: Sets the Obtained date for the Certificate.
-
-
Expires
-
DataType: date
-
Required: true, when the Certification Type has RequireExpiration set to true
-
Purpose: Sets the Expires date for the Certificate.
-
-
ReferenceNumber
-
DataType: string
-
Required: false
-
Purpose: Sets the ReferenceNumber for the Certificate.
-
Return Value
Action Accepted
Data:
{
"ActionType": <string>,
"Id": <GUID>,
"ErrorMsgs":
[
{
"Entity": <string>,
"Message": <string>
},
....
]
}
-
ActionType: Insert
-
Id: Guid for the new Certificate.
-
ErrorMsgs: Fields that have issues.
-
Entity: Name of the Field
-
Message: Error message
Action Rejected
"Data": <Array>
- Data: Error Message
Add Certification Attachment
URI
api/v1/hsqe/certifications/AddCertificationAttachment
Supported Verbs
- POST: attach a certification attachment.
Required Parameters
-
CertificationId
-
Data Type: Guid
-
Parameter Type: Query string
-
Purpose: Identify which certification should get this attachment
-
Example Usage:
api/v1/hsqe/certifications/AddCertificationAttachment?certificationId=446f1bf2-917d-456a-9059-7a42981278f7
-
-
Data
-
Data Type: Blob
-
Parameter Type: Request Content
-
Purpose: Binary format of the attachment
-
-
FileName
-
Data Type: String
-
Parameter Type: Request Headers
-
Required: true, when updating, otherwise false
-
Example:
Content-Disposition: attachment; filename="fileName.pdf"
-
Return Value
Action Accepted
Data:
{
"ActionType": "Insert"
}
Action Rejected
"Message": Error Message