Follow the three steps below to prepare your project to use the TaskMessenger API.

TaskMessenger provides a simple API for developers that are writing their applications in Java, C#, or node.js. Our APIs allow you to programmatically assign a task by simple making a function call. Hiding the lower-level communications details required to send a task assignment request to TaskMessenger.

Developers writing applications using other languages can still assign tasks programmatically. Only they will be responsible for writing the actual communications layer. But not to worry, it’s really very simple. You will be making an HTTP POST to a URL, sending JSON in the body of the request. That’s all there is to it! So, let’s get started.

Sending a task assignment request.
You send task assignment requests to TaskMessenger using an HTTP POST. You will be sending the POST to the following URL:
The Content-Type header of the POST should be set to "application/json". You might also want to set the Accept header to "application/json". The body of the POST contains the actual task assignment request, which is in JSON; see below.
"action" : "sendTask", "apiKey" : "ihewtjfgte75jhg&%gd994jjfnqw72u33yeioxc55", "taskType" : "text", "dueDate" : "06/01/2018 05:00 PM", "task" : "This is a test task that is being sent programatically.", "caption" : "", taskRecipients" : [ "", "" ]

The "action","taskType", and "caption" should always be set to the same values shown in the example above.
The "apiKey" is, of course, your API key. Which you can find in the TaskMessenger app.
The "taskRecipients" list is the list of task recipient to whom you wish to send the task. Obviously, this list cannot be empty, otherwise you will receive an error. You can send a task to a maximum of 10 recipients. Recipient in the list after the first 10 are ignored. You can include yourself in the recipients list as a task recipient. You are automatically considered the assigner of the task.
The "task" field is the actual task that you wish to assign to the recipients. The task can be up to 6000 characters long.
The "dueDate" is the date/time by which the task needs to be completed. If your task does not have a due date, you can set this field to an empty string. Keep in mind that the field MUST be present, even if your task does not have a due date. The due date cannot be set more than 14 days in the future. If it is, it will be truncated to 14 days from the delivery date. Also, the due date cannot be set for a time that is before the send date. If it is, it will be ignored.
The due date can be set in one of the three following formats:
  •  US Format: mm/dd/yyyy hh:mm AM/PM Example: 06/01/2018 05:30 PM The due date is assumed to be in UTC time.
  •  ISO 8601: yyyy-mm-dd hh:mm Example: 2018-06-01 17:30 The due date is assumed to be in UTC time.
  •  From delivery time: XXd YYh ZZm Example: 01d 05h 15m This example reads as one day, five hours, and fifteen minutes from time that the task is sent. In this format, the dues date is the number of days, hours, and minutes from the time that the task is sent. So, in the example above, if you were to send this task on a Monday at 9:00 AM, the task would be due Tuesday at 2:15 PM.

The formats above must be followed precisely, spaces included, otherwise you will receive an error.
The TaskMessenger Response:
TaskMessenger will send back a JSON response. The response will be one of the following:
For success:    { "success" : "sendTask" } For failure:    { "error" : "<cause of the failure>" }