Inbound API Tasks - TechnicheGroup/urgent-rest GitHub Wiki

Create Task

POST /tasks/{tenant}

These notes go alongside the swagger definition to help the user determine the value of fields to submit

Property Notes
ExternalIdentifier Your reference for the task your are creating. Must be unique to your user/entity
InitiatorName Name of the person or system creating the task
SiteCode SiteCode where the task is located
Description Describe the issue of the task. Include error codes, etc
DefectSource The cause of the issue. Varies per tenant, but typically Damage - Known Source, Damage - Unknown Source, Unknown. The full list can be retrieved from the Reference List endpoint and the task group.
MatrixItemCode Category of task
Chargeability Determines if the task is chargeable or not. Most users will not have permission to use this field, so should submit it as null to allow the platform rules engine to make the determination.
Workflow Determines which workflow the task should use. Most users will not have permission to use this field, so should submit it as null to allow the platform rules engine to make the determination.
ServiceLevel Determines service level associated with the task. Most users will not have permission to use this field, so should submit it as null to allow the platform rules engine to make the determination.
Supplier Determines the supplier associated with the task. Most users will not have permission to use this field, so should submit it as null to allow the platform rules engine to make the determination.
Assets List of GUIDs of assets to associate with the task.
IsAssetAvailable Boolean to inform whether the asset is still operational despite the fault. Can be null.
CustomFields List of custom fields required by the tenant for this task. Can be determined by the Custom Field methods
Relate Can link the task being created to an existing one. Type is either "child" or "related", reference is the other task's reference number

Request Examples

Minimum Request

The following request shows the minimum data required to create a task via the REST API. The InitiatorName, SiteCode, Description and MatrixItemCode properties are all that is required. The assignments rules engine in Urgent will then make the determination for the remainder of the properties. Please note that individual tenants may have differing requirements for the CustomFields and/or Assets properties. Requests with this level of information could be made by a Site or Supplier user.

{
  "InitiatorName": "John Doe",
  "SiteCode": "R732",
  "Description": "Air conditioning unit is dripping water",
  "MatrixItemCode": "01-05-AC-01"
}

Full Request

The following request shows all properties that can be used to create a task via the REST API. Requests with this level of information would usually be made by a Management user.

{
  "ExternalIdentifier": "T-10002",
  "InitiatorName": "John Doe",
  "SiteCode": "R732",
  "Description": "Air conditioning unit is dripping water",
  "DefectSource": "Asset Breakdown",
  "MatrixItemCode": "01-05-AC-01",
  "Chargeability": "Chargeable",
  "Workflow": "Reactive",
  "ServiceLevel": "P4",
  "Supplier": "AirCon Fixers Inc",
  "Assets": [
    "30aee389-860d-47ce-89dc-3d8b96766480"
  ],
  "IsAssetAvailable": true,
  "CustomFields": [
    {
      "Name": "RT_IsInsurance",
      "Answer": "FALSE"
    }
  ],
  "Relate": {
    "Type": "child",
    "Reference": "80042"
  }
}

Response Examples

Failure Example

Indicates that the task was not created.

{
  "Messages": [{
    "Key": "BrokenRule_CreateTask_SiteRequired",
    "Value": " A site is required"
  }],
  "TaskReference": null,
  "TaskIdentifier": null
}

Success Example

Indicates that the task was successfully created and dispatched.

{
  "Messages": [],
  "TaskReference": 800827,
  "TaskIdentifier": "167e2c46-2670-44fb-a96d-a6ea0ee4a93e"
}

Success Example with conditions

Indicates that the task was successfully created but was not automatically dispatched.

{
  "Messages": [{
    "Key": "BrokenRule_CreateTask_NoSla",
    "Value": "The task was successfully created, but remains in a New status as there was no Service Level assigned"
  }],
  "TaskReference": 800827,
  "TaskIdentifier": "167e2c46-2670-44fb-a96d-a6ea0ee4a93e"
}

Change Task Status

PUT /task/{tenant}/{identifier}/status

This method allows you to update the Status of a given Task.

Property Notes
StatusName The name of the status to transition to. It must be a valid destination status from the current status.
StatusChangeDateTimeUtc UTC date and time that the status change was made, in ISO-8601 format. Note that for most users and status changes this property ignore unless the status' IsManualDateEnabled property is true.
Note A comment to go along with the status change. This may be mandatory, depending on the tenant's configuration.
TaskCompliance Task Compliance Custom Fields to go along with the status change. Only required if the status has Task Compliance questions assigned.
AssetDowntime If the answer to the main question "IsAssetAvailable" for the Task is still FALSE and there are Asset Downtime questions available for the selected Status then this property is required.
TaskResolutionCause Specify the code of the Cause matrix item and any optional notes
TaskResolutionRemedy Specify the code of the Remedy matrix item and any optional notes
AssetConditionSurveyResponses[] Array of Asset Condition Survey Responses
AssetConditionSurveyResponses.AssetIdentifier The Asset identifier from the list of assets from any Read Task output
AssetConditionSurveyResponses.OperationalCondition Text response from any of the Asset Condition group from the Asset Reference List output
AssetConditionSurveyResponses.VisualCondition Text response from any of the Asset Condition group from the Asset Reference List output
AssetConditionSurveyResponses.ConditionNotes Any notes to go along with the Condition updates

If the Task Resolution Cause or Remedy feature has been turned on and the data hasn't been supplied, the request will be rejected with a broken rule.

Request Examples

Minimum Request

The following request is the minimum required to change a task's status. Note that individual tenants may have varying requirements for the TaskCompliance and AssetDowntime properties.

{
  "StatusName": "Contractor Complete",
  "StatusChangeDateTimeUtc": "2021-05-25T13:53:30.1247961Z",
  "TaskCompliance": [],
  "AssetDowntime": null
}

Full Request

The following request shows all properties that can be used to change the status of a task via the REST api.

{
  "StatusName": "Contractor Complete",
  "StatusChangeDateTimeUtc": "2021-05-25T13:53:30.1247961Z",
  "Note": "Broken pipe to water egress",
  "TaskCompliance": [
    {
      "Name": "TC_Clean",
      "Answer": true
    },
    {
      "Name": "TC_SignOut",
      "Answer": true
    }
  ],
  "AssetDowntime": {
    "Reason": "Asset breakdown",
    "ReasonNote": "Broken pipe to water egress",
    "WorkingOnArrival": false,
    "IsAssetBackUp": true
  },
   "TaskResolutionCause": {
    "MatrixItemCode": "01-01",
    "Notes": "Test Cause Note"
  },
  "TaskResolutionRemedy": {
    "MatrixItemCode": "01-02",
    "Notes": "Test Remedy Note"
  }
}

Read Task

GET /tasks/{tasktype}/{tenant}/{taskreference}

This method allows you to return the full details of a single Task within the system. The tasktype variable is one of either Reactive or Scheduled.

Details on each of the properties that can be returned when reading a task via the REST API

Path Notes
DateTimeModifiedUtc The date and time of the last modification to the task
TaskIdentifier The GUID representing the task. Unique across the platform
TaskReference Integer representing the task. Unique to the tenant
Tenant Name of the tenant
ExternalIdentifier Identifier assigned to the task by the associated supplier
InitiatorName Name of the person or system creating the task
Description Free text description of the task
Matrix Properties relating to the matrix item associated with the task
Matrix.Name The name of the matrix
Matrix.Code The code of the matrix item, unique to the tenant
Matrix.Text The full text of the matrix item, unique to the tenant. For reactive tasks this categorises the problem. For scheduled tasks it is a general category
Chargeability Indicates whether the task is chargeable or not. While tenants can have their own values, this is typically Chargeable or Contract
Workflow The name of the workflow associated with the task. See Workflows for more info.
Type The type of the task, either Reactive or Scheduled
Supplier Information about the supplier currently assigned to the task
Supplier.Name The name of the supplier currently assigned to the task.
Supplier.Code The tenant's unique code for referencing the supplier.
Status Information about the status of the task. See Workflows for more info
Status.Name The name of the current status of the task.
Status.Type The type of status, either New, Open, Closed or Cancelled
Status.Destinations[] A list of strings that the task can be moved into from the current status.
Status.History Information about the status history of the task
Status.History[].Name The name of the status
Status.History[].Type The type of the status, either New, Open, Closed or Cancelled
Status.History[].DateTimeUtc The date and time that the task was moved into the status.
Site Information about the Site associated with the task. See Sites for more information
Site.Name The name of the site
Site.Code The tenant's unique code referencing the site
Notes[] An array of notes associated with the task
Notes[].Identifier The GUID representing the note. Unique across the platform
Notes[].Text The text of the note
Notes[].DateTimeCreatedUtc The date and time that the note was created
Notes[].Author The name of the note's author
Assets[] Information about the assets associated with the task.
Assets[].AssetTag The asset's tag number. If not empty should be unique to the teannt.
Assets[].SerialNumber The asset's serial number
Assets[].Model The model of the asset
Assets[].Manufacturer The manufacturer of the asset
Assets[].Description The free text description of the asset
Assets[].Location The location of the asset
Assets[].LocationDetail Free text location of the asset
Assets[].Category Category of the asset
Assets[].AssetIdentifier The GUID representing the asset. Unique across the platform
Assets[].MatrixItemCode The asset's matrix item code that categorises it. Unique to the tenant. See Matrix for more info.
AssetDowntimeInHours The amount of time in Hours any Assets assigned to the task have been down for. Combined with AssetDowntimeInMinutes to give an overall hh:mm total
AssetDowntimeInMinutes The amount of time in Minutes any Assets assigned to the task have been down for. Combined with AssetDowntimeInMinutes to give an overall hh:mm total
CustomFields[] Information about the custom fields associated with the task. See Custom Fields for more info.
CustomFields[].Answer The current answer for the custom field
CustomFields[].DataType The data type for the custom field, see Custom Fields for more info.
CustomFields[].Name The name of the custom field. Unique to the tenant
CustomFields[].Parent The name of the parent field (if any) for the custom field.
CustomFields[].Text The text that was displayed to the user when they answered the custom field.
Documents[] Information about the documents associated with the task. See Documents for more info.
Documents[].DocumentIdentifier The GUID representing the document. Unique across the platform and used to download the document.
Documents[].ByteSize The size of the document in bytes
Documents[].Filename The name of the file when it was uploaded
Documents[].MimeType The mime type of the document that was detected when it was uploaded
Reactive Properties that are specific to Reactive tasks. Populated when the Type property is Reactive
Reactive.ServiceLevel Information about the service level associated with the task
Reactive.ServiceLevel.Name The name of the service level. Service levels have a Respond component, a Complete component or both components.
Reactive.ServiceLevel.RespondByDateTimeUtc The date and time that the supplier must respond to the task by. This varies per tenant and workflow but is usually a status where the technician would be on site
Reactive.ServiceLevel.CompleteByDateTimeUtc The date and time that the supplier must complete the task by. This varies per tenant and workflow but is usually a status where the technician has completed the work required of them
Reactive.ServiceLevel.IsRespondOverdue Boolean that determines if the respond component has been breached
Reactive.ServiceLevel.IsCompleteOverdue Boolean that determines if the complete component has been breached
Scheduled Properties that are specific to Scheduled tasks. Populated when the Type property is Scheduled
Scheduled.Template Information about the template, which is the top level of the scheduled task. Template > Instruction Set > Instructions
Scheduled.Template.Category The category of the template
Scheduled.Template.Name The name of the template.
Scheduled.InstructionSet Information about the instruction set that groups the instructions together
Scheduled.InstructionSet.Name The name of the instruction set
Scheduled.Instructions[] An array of instructions to carry out to complete the task
Scheduled.Instructions[].AssetIdentifiers[] An array of Asset Identifiers associated with the instruction. These are individually inspected or serviced
Scheduled.Instructions[].Costs Information about the typically costs incurred by the tenant in when this scheduled task is completed
Scheduled.Instructions[].Costs.Labour Labour Costs
Scheduled.Instructions[].Costs.Materials Material Costs
Scheduled.Instructions[].Costs.Other Other Costs
Scheduled.Instructions[].Costs.Travel Travel Costs
Scheduled.Instructions[].Duration Duration that the task should typically take. In decimal hours
Scheduled.Instructions[].Matrix Information about the matrix item that categorises this instruction. See Matrix for more info.
Scheduled.Instructions[].Matrix.Code The matrix item code that categorises this instruction
Scheduled.Instructions[].Matrix.Name The name of the matrix that categorises this instructiom
Scheduled.Instructions[].Matrix.Text The full text of the matrix item that categorises this instruction
Scheduled.Instructions[].Name The name of the instruction
Scheduled.Instructions[].ResponseList Information about the response you can make to the task when completing it. Usually an Activity list (Complete/Incomplete/Deferred) or an Inspection list (Pass/Fail/Deferred) but these are configurable per tenant. The list of available options can be found in the Read Task output in the Scheduled Task section.
Scheduled.Instructions[].ResponseList.Name The name of the response list
Scheduled.Instructions[].ResponseList.Values[] The list of possible values to use when responding to the task
Scheduled.Instructions[].Text The text of the instruction - details what the technician is expected to do.
Scheduled.Window Unlike reactive tasks, scheduled tasks have a defined start time, this property gives the valid "window" a task can be worked on.
Scheduled.Window.EarlyAttendanceStartDateTimeUtc If the client allows you to attend a task earlier than their actual selected Start Date then this value will have the absolute earliest you can attend and star this task. If NULL then the StartDateTimeUtc is used. (V36)
Scheduled.Window.StartDateTimeUtc The client selected date and time that the task cannot be started before, Early Attendance settings may allow you to attend earlier.
Scheduled.Window.EndDateTimeUtc The date and time that the task must be completed by
DocumentCategories[] List of document categories
TaskResolutionCause[].Name Matrix name of the Task Resolution Cause matrix item
TaskResolutionCause[].Code Code of the Task Resolution Cause matrix item
TaskResolutionCause[].Text Matrix line text of the Task Resolution Cause matrix item
TaskResolutionRemedy[].Name Matrix name of the Task Resolution Remedy matrix item
TaskResolutionRemedy[].Code Code of the Task Resolution Remedy matrix item
TaskResolutionRemedy[].Text Matrix line text of the Task Resolution Remedy matrix item
PossibleTaskResolutionCauses[].Code Code of the possible Task Resolution Cause matrix item
PossibleTaskResolutionCauses[].Text Text of the possible Task Resolution Cause matrix item
PossibleTaskResolutionRemedies[].Code Code of the possible Task Resolution Remedy matrix item
PossibleTaskResolutionRemedies[].Text Text of the possible Task Resolution Remedy matrix item

Response Example

{
    "DateTimeModifiedUtc": "2020-01-01T05:59:59",
    "TaskIdentifier": "3E4F5568-B523-41E9-95D0-13A8C5E602B1",
    "TaskReference": 123456,
    "Tenant": "Urgent",
    "ExternalIdentifier": null,
    "InitiatorName": "Smith",
    "Description": "One of the pumps has been broken due to a car running into it",
    "Matrix": {
        "Name": "Reactive",
        "Code": "04-0A-01-05",
        "Text": "Reactive > Fuel > Pumps > Broken"
    },
    "Chargeability": "Contract",
    "Workflow": "Reactive",
    "Type": "Reactive Tasks",
    "Supplier": {
        "Name": "Test Supplier 1",
        "Code": "Test-001"
    },
    "Status": {
        "Name": "Dispatched",
        "Type": "Open",
        "Destinations": [
            "Declined",
            "Controlled Release"
        ],
        "History": [
            {
                "Name": "New",
                "Type": "New",
                "DateTimeUtc": "2020-01-01T05:59:59"
            },
            {
                "Name": "Dispatched",
                "Type": "Open",
                "DateTimeUtc": "2020-01-01T05:59:59"
            }
        ]
    },
    "Site": {
        "Name": "Test Site (001)",
        "SiteCode": "001"
    },
    "Notes": [],
    "Assets": [{
            "AssetTag": "TEST-01-01",
            "SerialNumber": "SN-123456789",
            "Model": "T-Model 01",
            "Manufacturer": "Manufacturer 01",
            "Description": "Test Assert for Examples",
            "Location": "Forecourt",
            "LocationDetail": null,
            "Category": "Parts",
            "AssetIdentifier": "845B3FB1-B4DA-493B-9B8E-281EC47BE6B7",
            "MatrixItemCode": "01-11-06"
        },
        {
            "AssetTag": "TEST-01-02",
            "SerialNumber": "SN-987654321",
            "Model": "T-Model 02",
            "Manufacturer": "Manufacturer 01",
            "Description": "Test Assert for Examples",
            "Location": "Forecourt",
            "LocationDetail": null,
            "Category": "Parts",
            "AssetIdentifier": "845B3FB1-B4DA-493B-9B8E-281EC47BE6B7",
            "MatrixItemCode": "01-10-07"
        }],
    "AssetDowntimeInHours": null,
    "AssetDowntimeInMinutes": null,
    "CustomFields": [
        {
            "Name": "CustomField1",
            "Text": "Has the area been made safe?",
            "Answer": false,
            "DataType": "Boolean",
            "Parent": null
        },
        {
            "Name": "CustomField2",
            "Text": "Please indicate the condition of the area on arrival",
            "Answer": "",
            "DataType": "Text",
            "Parent": "CustomField1"
        }
    ],
    "Documents": [
        {
          "DocumentIdentifier": "3570537b-4a9c-482f-a12b-9e2e1489603d",
          "ByteSize": 6291456,
          "Filename": "photo1.jpg",
          "MimeType": "image/jpeg"
        }
      ],
    "Reactive": {
        "ServiceLevel": {
            "Name": "Standard SLA",
            "RespondByDateTimeUtc": "2020-01-01T05:59:59",
            "CompleteByDateTimeUtc": "2020-01-04T06:59:59",
            "IsRespondOverdue": false,
            "IsCompleteOverdue": false
        }
    },
    "Scheduled": {
        "Template": null,
        "InstructionSet": null,
        "Instructions": null,
        "Window": null
    },
    "DocumentCategories": [],
    "TaskResolutionCause": null,
    "TaskResolutionRemedy": null,
    "PossibleTaskResolutionCauses": [],
    "PossibleTaskResolutionRemedies": []
}

Search Tasks

POST /tasks/{tenant}/searches

When searching for tasks all properties are optional, but at least one must be supplied. Output is the same fields as Read Tasks example but with possible multiple results as a list.

Path Notes
Chargeabilities[] A list of Chargeabilities to search for
Dates Date searches
Dates.CreatedFromUtc Tasks created on or after this date and time
Dates.CreatedToUtc Tasks created on or before this date and time
Dates.ModifiedFromUtc Tasks modified on or after this date and time
Dates.ModifiedToUtc Tasks modified on or before this date and time
MatrixItemCodes[] A list of reactive matrix item codes to search for. See Matrix for more info
ServiceLevels[] A list of service levels to search for
SiteCodes[] A list of site codes to search for. See Sites for more info.
Statuses Status Searches
Statuses.Names[] A list of status names to search for. See Workflows for more info.
Statuses.Types[] A list of status types to search for. Either New, Open, Closed or Cancelled
SupplierNames[] A list of Supplier Names to search for
TaskReferences[] A list of task references for search for
TaskType The type of task to search for, either reactive or scheduled
Workflows[] A list of workflow names to search for.
IncludeHistoricalTasks Boolean. After a certain amount of time, typically 90 days after completion, completed tasks are not returned in search results unless this flag is set to true. For open tasks and work in progress, this flag should be set to false for better performance.
StartIndex Zero-based pagination of tasks, a max of 100 results are returned at once. If no Start or End Index are supplied a single record will be returned.
EndIndex Zero-based pagination of tasks, a max of 100 results are returned at once. If no Start or End Index are supplied a single record will be returned.
ScheduledTaskTemplateNames[] A list of scheduled task template names to search for
EligibleForInvoicing Optional boolean (true/false or exclude from search terms) to limit the search results to only those Tasks Eligible for Invoicing

Read Task Notes

GET /task/{tenant}/{identifier}/notes

This method returns the list of Notes logged against a Task.

Path Notes
Notes[] A list of all notes visible to the user for the Task
Notes[].NoteIdentifier A GUID value identifying this specific note in the system.
Notes[].Text The note itself
Notes[].DateTimeCreatedUtc The date and time the Note was created in system in Coordinated Universal Time.
Notes[].Author Username of the author of the note.

Read Task Status History

GET /task/{tenant}/{identifier}/history

This method returns the Status history of a Task.

Path Notes
History[] A list of all Status values the Task has been through.
History[].Name The Status Name in the users local language
History[].Type The Status Type of either New, Open, Closed or Cancelled.
History[].DateTimeCreatedUtc The date and time the Note was created in system in Coordinated Universal Time.

Add Task Quote

POST /task/{tenant}/{identifier}/quote

Quotes are submitted in a two-stage process from any status that is marked as IsEligibleForQuotation in the workflow. The AmountNet and Notes properties are mandatory, and if a document is to be uploaded then the metadata should be populated too.

The response object will then contain a DocumentIdentifier which should be used with the Document Actions to upload the actual document.

Path Notes
AmountNet The value you want to add as the Quote as a two decimal places value
Notes Any notes you want to add alongside the quote
FileMetadata[] The meta data of any documents you want to upload alongside the quote.
FileMetadata[].FileName Document filename
FileMetadata[].Bytesize Document size in bytes
FileMetadata[].Mimetype Document Mimetype

Response Examples

Failure Example

Indicates that the quote was not created.

{
    "DocumentIdentifier": null,
    "Messages": [
        {
            "Key": "BrokenRule_TaskQuote_InvalidAmount",
            "Value": "The amount you supplied for the Quote is invalid"
        }
    ]
}

Success Example (no document)

Indicates that the quote was successfully created.

{
    "DocumentIdentifier": null,
    "Messages": null
}

Success Example (with document)

Indicates that the quote was successfully created.

{
    "DocumentIdentifier": "ABF372EC-10FC-416F-AF60-FEC7831A1BA8",
    "Messages": null
}

Update Task Inspection

PUT /task/{tenant}/{identifier}/inspection

Scheduled Task Inspections can only be updated when the supplier user is on site, typically from an Attended or Arrived status. If the instruction has assets associated with it then you must provide a result for each one and are not required to provide one for the instruction as a whole.

Path Notes
Operation The operation, either "skip" to skip the inspection, if the workflow allows, "draft" to save the inspection as a work in progress, or "submit" if it is final. Some inspections will not allow you to skip them.
Instructions[] List of Scheduled Task Instructions to update
Instructions[].Name The name of the scheduled task instruction you are inspecting
Instructions[].Result The result of the inspection for the instruction.
Instructions[].RemedialTask Information about a remedial task that should be created if the inspection fails.
Instructions[].RemedialTask.MatrixItemCode The reactive matrix item code that should be used for an remedial task
Instructions[].Note Any notes for the inspection
Instructions[]Assets[] The list of assets, if any, that should be inspected
Instructions[].Assets[].AssetIdentifier The GUID of the asset
Instructions[].Assets[].Result The result of the inspection for the instruction.
Instructions[].Assets[].Note Any notes for the inspection

Response Examples

Failure Example

Indicates that the inspection was was not updated.

{
    "Messages": [
        {
            "Key": "BrokenRule_TaskInspection_InvalidResult",
            "Value": "The inspection result was not recognised"
        }
    ]
}

Success Example

Indicates that the inspection was successfully updated.

{
    "Messages": null
}

Add Note

POST /task/{tenant}/{identifier}/notes

Adding a note to a task is simple. These notes go alongside the Swagger documentation.

Path Notes
Note The note you wish to add

Response Examples

Success Example

{
  "NoteIdentifier": "fbfa1dcf-ce9e-41e4-a4ea-9182a08a9925",
  "Messages": null
}

Failure Example

{
  "NoteIdentifier": null,
  "Messages": [{
    "Key": "BrokenRule_Section_Item_RuleKey",
    "Value": "The item failed the rule in the section"
  }]
}

Change Task Service Level

PUT /task/{tenant}/{identifier}/servicelevel

This method allows the user to update the Service Level Agreement or SLA of a give Task.

Property Notes
ServiceLevel The name of the Service Level that you want to associate the task with.
RecalculationType The name of the recalculation type to be used when calculating the Service Level for the task. The options available are Default, FromDateCreatedAndSlaTimeUsed, FromDateCreated, FromNow, FromDispatchDate and FromStatusDateAndSlaTimeUsed.

Response Examples

Success Example

{
  "Messages": null
}

Failure Example

{
  "Messages": [{
    "Key": "BrokenRule_Section_Item_RuleKey",
    "Value": "The item failed the rule in the section"
  }]
}

Change Task Supplier

PUT /task/{tenant}/{identifier}/supplier

This method allows the user to change the Supplier assigned to complete the Task.

Property Notes
Supplier The name of the Supplier that you want to assign to the task.

Response Examples

Success Example

{
  "Messages": null
}

Failure Example

{
  "Messages": [{
    "Key": "BrokenRule_Section_Item_RuleKey",
    "Value": "The item failed the rule in the section"
  }]
}

Chase Task

POST /task/{tenant}/{identifier}/chase

This method allows a user to Chase a task if the Supplier is behind in dealing with it.

Property Notes
Note Any notes you wish to add to the Chase request.

Response Examples

Success Example

{
  "Messages": null
}

Failure Example

{
  "Messages": [{
    "Key": "BrokenRule_Incident_CannotBeChasedKey",
    "Value": "This Task cannot be chased at this time"
  }]
}

Update Task Purchase Order

PUT /task/{tenant}/{identifier}/purchaseorder

This method allows you to update the purchase order of a given task. Optionally, via a tenant setting, this will also update the purchase order of the associated invoice

Property Notes
PurchaseOrderNumber The new purchase order number. To remove a purchase order number from a task this property should be submitted as blank

Request Example

{
  "PurchaseOrderNumber" : "TCN-12345"
}