TaskAssure

TaskAssure API

Overview

BETA RELEASE V3

Developers and partners are encouraged to use this API and report functional issues or documentation inconsistencies to TaskAssure.

The TaskAssure API allows registered and authenticated third-party systems to 'task assure' activities. A task assured activity is one that is performed by a person using the TaskAssure mobile phone app (or equivalent, created by a third-party) and monitored according to a requestor’s preferences. As an activity status changes, TaskAssure will automatically send notifications to the requestor based on preferences, such as via email or text message.

Partner Registration and API Endpoints

Two API endpoints are available, each with separate backend databases. A partner can register for one or the other or both.

Sandbox Testing

For 'sandbox' testing, a partner can make requests to the full suite of TaskAssure services, in a safe environment, with test users. To use the sandbox API, first create a partner account by registering at https://dev-taskassure.herokuapp.com/partners/new. A response page will provide partner API key and secret, and a corresponding email will be sent. The base path for all requests will be https://dev-taskassure.com.herokuapp.com/api/v3.

Tip
TaskAssure operates the sandbox services on a 'developer' heroku platform that may be idled after a period of inactivity. Users of this method should anticipate occasional network timeouts, when Heroku may need to reinitialize idled services. Upon a timeout, retrying the operation will typically find the service running.

Live Operations

Requests to the live TaskAssure API services can begin when a partner is ready. To use the live API, first create a partner account by registering at https://tasks.taskassure.com/partners/new. A response page will provide partner API key and secret, and a corresponding email will be sent. The base path for all requests will be https://tasks.taskassure.com/api/v3.

Sample App

TaskAssure has released the "TaskAssure Partner Sample App" (TAPSA) as an example and potential starting point for developers. To download or clone TAPSA from github please visit https://github.com/ssurfr2819/taskassure-partner-sample-app. TAPSA is currently offered as Ruby on Rails. TAPSA provides an example of using an API model library ("ActiveResource") to permit the Web app to access TaskAssure API services without directly writing API request and response code. ActiveResource translates code such as mytask = Task.find(1234) into the proper TaskAssure request, and parses the response into a local object (i.e. mytask) that can be accessed directly by its attributes (e.g. mytask.name and mytask.address).

TAPSA is provided solely as an example of the capabilities that can be acheived through the TaskAssure API. TAPSA is not meant to be used as production code, and TaskAssure Corp. makes no guarantees about the code quality or functional completeness. Consider TAPSA an illustration of the potential. For some, it may also serve as a starting point for implementation. Please contact us if you wish to offer your own sample app or to provide recommendations to improve TAPSA.

Mobile Phone App

TaskAssure has not released its mobile phone app for community use. If you are interested in adapting the TaskAssure mobile phone app to your needs, please contact us to discuss. Our code offers a good potential starting point, and we are happy to assist in converting for your use.

Version information

Version: 3.0.6

Contact information

License information

License: TBD License URL: TBD

Terms of service: http://taskassure.com/terms/

URI scheme

Host: tasks.taskassure.com BasePath: /api/v3 Schemes: HTTPS

Consumes

  • application/json

Produces

  • application/json

Paths

POST /my_helper_lists

Description

Creates new MyHelperList object for designated user.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X POST -d ' {"my_helper_list":{"provider_email":"job@taskassure.com", "address":"2819 Coconut Ave", "city":"Honolulu","state":"HI","zipcode":"96815","country":"US"}}' https://tasks.taskassure.com/api/v3/my_helper_lists
Example Success Response
Warning
The response header contains Location value which is the url to the created MyHelperList. As an interim service, TaskAssure returns the new user attributes in the response body. This practice may stop without notice and should not be relied upon.
{
  "my_helper_lists": {
    "id": 123,
    "name": "Honolulu Rental Condo",
    "address": "2819 Coconut Ave",
    "city": "Honolulu",
    "state": "HI",
    "zipcode": "96815",
    "country": "US",
    "zone": null,
    "latitude": null,
    "longitude": null
  }
}, status: 201
Example Error Response

This error is returned if the user token was missing or invalid.

{"errors":
  {
    "error": "User not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

BodyParameter

body

JSON of new MyHelperList properties

true

MyHelperList

Responses

HTTP Code Description Schema

201

Created

No Content

401

Not authorized

object

GET /my_helper_lists

Description

Gets MyHelperList objects for the designated user.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/my_helper_lists
Example Success Response
{
  "my_helper_lists": [
    {
      "id": 123,
      "efficiency": 3,
      "timeliness": 4,
      "quality": 5,
      "overall": 4,
      "comments": "Great handiman",
      "provider_user": {
        "id": 16,
        "firstname": "Jobs",
        "lastname": "TaskAssure",
        "name": "Jobs TaskAssure",
        "email": "job@taskassure.com",
        "address": null,
        "city": null,
        "state": null,
        "zipcode": null,
        "country": null,
        "phone_number": null,
        "image_thumb_url": null,
        "role": "provider",
        "ta_api_token": null
      }
    },
    {
      "id": 9,
      "efficiency": null,
      "timeliness": null,
      "quality": null,
      "overall": null,
      "comments": null,
      "provider_user": {
        "id": 50,
        "firstname": "Test",
        "lastname": "Me12",
        "name": "Test Me12",
        "email": "test@me12.com",
        "address": "",
        "city": "",
        "state": "",
        "zipcode": null,
        "country": null,
        "phone_number": null,
        "image_thumb_url": null,
        "role": "provider",
        "ta_api_token": null
      }
    }
  ]
}, status: 200
Example Error Response

This error is returned if the api key or secret is missing or invalid.

{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

Responses

HTTP Code Description Schema

200

Successful response

MyHelperList array

401

Not authorized

No Content

GET /my_helper_lists/new

Description

Used to help support REST forms operations. Gets properties of a blank TaskAssure MyHelperList.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/my_helper_lists/new
Example Success Response
{
  "my_helper_list":
    {
      "id": null,
      "efficiency": null,
      "timeliness": null,
      "quality": null,
      "overall": null,
      "comments": null,
      "provider_user": null
    }
}, status: 200
Example Error Response

This error is returned if the api key or secret is missing or invalid.

{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

Responses

HTTP Code Description Schema

200

Successful response

MyHelperList

401

Not authorized

No Content

GET /my_helper_lists/summary

Description

Get summary list of MyHelperList records for a user. The summary list includes only id, name, and email properties. This may provide a streamlined interface to allow user’s to view/choose from their current list of helpers. (For example, via ajax.)

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/my_helper_lists/summary
Example Success Response
{
  "my_helper_lists": [
    {
      "id": 71,
      "name": "Example TaskPerson2",
      "email": "job@taskassure.com"
    },
    {
      "id": 8091,
      "name": "Hope Test",
      "email": "hope@guns4all.us"
    },
    {
      "id": 8092,
      "name": "Job Ninetynine",
      "email": "job99@taskassure.com"
    },
    {
      "id": 80,
      "name": "Shawn ODonnell",
      "email": "shawn@taskassure.com"
    },
    {
      "id": 8094,
      "name": "Test Me100",
      "email": "test100@ta.com"
    },
    {
      "id": 8093,
      "name": "Test Me99",
      "email": "test99@ta.com"
    }
  ]
}, status: 200
Example Error Response

This error is returned if the user token is missing or invalid.

{}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

Responses

HTTP Code Description Schema

200

Successful response

MyHelperListSummary array

401

Not authorized

No Content

DELETE /my_helper_lists/{id}

Description

Delete a MyHelperList object.

Example Request
curl -v -H "Accept: application/json" -H "Content-ty: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X DELETE https://tasks.taskassure.com/api/v3/my_helper_lists/123
Example Success Response
{}, status: 200
Example Error Response

This error is returned if the designated MyHelperList object does not exist.

{}, status: 404

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

No Content

401

Not authorized

No Content

404

Not found

No Content

GET /my_helper_lists/{id}

Description

Get properties of a MyHelperList.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/my_helper_lists/123
Example Success Response
{
  "my_helper_list":
    {
      "id": 123,
      "efficiency": 3,
      "timeliness": 4,
      "quality": 5,
      "overall": 4,
      "comments": "Great handiman",
      "provider_user": {
        "id": 16,
        "firstname": "Jobs",
        "lastname": "TaskAssure",
        "name": "Jobs TaskAssure",
        "email": "job@taskassure.com",
        "address": null,
        "city": null,
        "state": null,
        "zipcode": null,
        "country": null,
        "phone_number": null,
        "image_thumb_url": null,
        "role": "provider",
        "ta_api_token": null
      }
    }
}, status: 200
Example Error Response

This error is returned if the designated id does not exist.

{}, status: 404

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

MyHelperList

401

Not authorized

No Content

404

Not found

No Content

PUT /my_helper_lists/{id}

Description

Update a MyHelperList object.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -d '{"user_location":{"name":"Hawaii condo"}}' -X PUT https://tasks.taskassure.com/api/v3/my_helper_lists/123
Example Success Response
{}, status: 204
Example Error Response

This error is returned if the user token is missing or invalid.

{"errors":
  {
    "error": "User not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

BodyParameter

body

JSON of MyHelperList properties to update

true

MyHelperList

Responses

HTTP Code Description Schema

204

Update successful

No Content

401

Not authorized

No Content

404

Not found

No Content

GET /partners/partner_self

Description

Get properties of Partner record. Requires api key and secret. Provided as a convenience method to retrieve current properties.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H -X GET https://tasks.taskassure.com/api/v3/partners/partner_self
Example Success Response
{
  "partners": [
    {
      "id": 8,
      "name": "Test Partner",
      "phone_number": "123-456-7890",
      "email": "test@me.com",
      "status": "testing",
      "api_key": "test-api-key",
      "api_secret": "test-api-secret",
      "task_alias": "Job",
      "location_alias": "Property",
      "helper_alias": ""
    }
  ]
}, status: 200
Example Error Response

This error is returned if the partner api key or secret is missing or invalid.

{}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

Responses

HTTP Code Description Schema

200

Successful response

Partner array

401

Not authorized

No Content

GET /partners/{id}

Description

Get properties of a Partner. The partner id would most likely be retrieved via /partners/partner_self.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -X GET https://tasks.taskassure.com/api/v3/partners/8
Example Success Response
{
  "partner":
    {
      "id": 8,
      "name": "Test Partner",
      "phone_number": "123-456-7890",
      "email": "test@me.com",
      "status": "testing",
      "api_key": "test-api-key",
      "api_secret": "test-api-secret",
      "task_alias": "Job",
      "location_alias": "Property",
      "helper_alias": ""
    }
}, status: 200
Example Error Response

This error is returned if the designated id does not exist.

{}, status: 404

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

Partner

401

Not authorized

No Content

PUT /partners/{id}

Description

Update a Partner object.

Warning
Changing alias attributes is not encouraged, especially for live systems, due to potential confusing side effects. When an alias is changed, TaskAssure begins using the new alias for future events and communications (emails, texts) but does not alter previously recording information. For example, changing 'task_alias' from "Task" to "Job" would not result in a modification of a previously recorded event message like "Task started within scheduled time.".
Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -d '{"partner":{"phone_number":"808-555-4321", "email":"newemail@place.com"}}' -X PUT https://tasks.taskassure.com/api/v3/partners/8
Example Success Response
{}, status: 204
Example Error Response

This error is returned if the partner api key or secret is missing or invalid.

{}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

PathParameter

id

true

integer

BodyParameter

body

JSON of Partner properties to update

true

Partner

Responses

HTTP Code Description Schema

204

Update successful

No Content

401

Not authorized

No Content

GET /providers

Description

Determine presence of TaskAssure user with specified email address. (Status indicates if user exists and whether user can receive task assignments (aka "provider").)

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/providers?job@taskassure.com
Example Success Response
{
  "providers": [
    {
      "id": 11,
      "provider_user": {
        "id": 16,
        "firstname": "Jobs",
        "lastname": "TaskAssure",
        "name": "Jobs TaskAssure",
        "email": "job@taskassure.com",
        "address": null,
        "city": null,
        "state": null,
        "zipcode": null,
        "country": null,
        "phone_number": null,
        "image_thumb_url": null,
        "role": "provider",
        "ta_api_token": null
      }
    }
  ]
}, status: 200
Example Error Response

This error is returned if the specified user exists, but is not able to receive task assignments.

{}, status: 403
Example Error Response

This error is returned if the specified user does not exist.

{}, status: 404

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

QueryParameter

emailAddress

true

string

Responses

HTTP Code Description Schema

200

Successful response

Provider array

401

Not authorized

No Content

403

Forbidden

No Content

404

Not found

No Content

POST /tasks

Description

Create a new task for user.

Tip
Request body may include either a provider_email or provider_id. If included, the associated provider user will be assigned to the task. (Use GET /providers to determine if a provider exists for a provider_email. Use POST /users/create_helper to create a provider.) If both are included, provider_id will take precedence and provider_email will be ignored.
Tip
Including default_address: 1 in the request body will cause TaskAssure to store the address fields as default for new tasks created for this user. Including default_verification: 1 in the request body will cause TaskAssure to store the verification fields as default for new tasks created for this user.
Warning
Tasks may be created without an assigned provider, and without a valid and complete address. However, such tasks will have attribute task_valid set to false. Tasks with task_valid false will not be distributed to a provider.
Example Request - Method A

Designating "provider_email" for task assignment.

curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X POST -d ' {"task":{"name":"Task example", "description":"Test task", "local_time_string":"22 Jan 2016 12:00pm","duration":"2", "duration_units":"hours", "address":"2780 Coconut Ave", "city":"Honolulu", "state":"HI", "zipcode":"96815", "country":"US", "category_id":"13", "provider_email":"job@taskassure.com"}, "default_address":1, "default_verification":1}' https://tasks.taskassure.com/api/v3/tasks
Example Request - Method B

Designating "provider_id" for task assignment.

curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X POST -d ' {"task":{"name":"Task example", "description":"Test task", "local_time_string":"22 Jan 2016 12:00pm","duration":"2", "duration_units":"hours", "address":"2780 Coconut Ave", "city":"Honolulu", "state":"HI", "zipcode":"96815", "country":"US", "category_id":"13", "provider_id":123}, "default_address":1, "default_verification":1}' https://tasks.taskassure.com/api/v3/tasks
Example Success Response
Warning
The response header contains Location value which is the url to the created task. As an interim service, TaskAssure returns the new task attributes in the response body. This practice may stop without notice and should not be relied upon.
{}, status: 201
Example Error Response

This error is returned if required attributes name and local_time_string were not included.

{
  "errors": {
    "name": [
      "can't be blank"
    ],
    "starts_at": [
      "can't be blank"
    ]
  }
}, status: 422

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

BodyParameter

body

JSON of new task properties

true

Task

Responses

HTTP Code Description Schema

201

Created

No Content

401

Not authorized

No Content

422

Unprocessable entity

No Content

GET /tasks

Description

Gets Task objects for the User.

This method returns a summary of task properties. Use /tasks/{taskId} GET to retrieve all properties for a specific task.

Tip
For User of role buyer, the tasks returned were created by the user. For User of role provider, the tasks returned were assigned to the user.
Tip
The local_time_string attribute represents the date time string in the time zone of the location of the task. The starts_at attribute is generated by TaskAssure and is the equivalent UTC date time in datetime format. As a numerical representation, and in time zone neutral (i.e. UTC) form, starts_at is suitable for such operations as filtering and sorting.
Warning
The required and only safe format for local_time_string is "dd Mmm yyyy hh:mmpp" such as "01 Mar 2015 8:00am". Any other format may result in the task POST being rejected.
Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/tasks
Example Success Response
{
  "tasks": [
    {
      "id": 171,
      "address": "2780 Coconut Ave",
      "category_id": 13,
      "city": "Honolulu",
      "country": "US",
      "description": "Test task",
      "latitude": "21.2583397",
      "longitude": "-157.8184843",
      "name": "Task example",
      "starts_at": "2016-12-02T01:00:00Z",
      "state": "HI",
      "zipcode": "96815",
      "provider_email": "",
      "zone": "Pacific\/Honolulu",
      "local_time_string": "1\/12\/2016 5:00pm",
      "provider_id": null,
      "buyer_id": 19,
      "valid_task": false,
      "status": "created"
    },
    {
      "id": 17383,
      "address": "1600 Bahama St.",
      "category_id": 13,
      "city": "Titusville",
      "country": "US",
      "description": "Test task",
      "latitude": "28.566792",
      "longitude": "-80.81981",
      "name": "Task example",
      "starts_at": "2016-01-22T17:00:00Z",
      "state": "FL",
      "zipcode": "32780",
      "provider_email": "job@taskassure.com",
      "zone": "America\/New_York",
      "local_time_string": "1\/28\/2016 08:00am",
      "provider_id": 11,
      "buyer_id": 19,
      "valid_task": true,
      "status": "created"
    }
  ]
}, status: 200
Example Error Response

This error is returned if a user token was missing or invalid.

{"errors":
  {
    "error": "User not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

Responses

HTTP Code Description Schema

200

Successful response

TaskSummary array

401

Not authorized

No Content

404

Not found

No Content

422

Unprocessable entity

No Content

GET /tasks/new

Description

Used to help support REST forms operations. Gets properties of a blank TaskAssure Task.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/tasks/new
Example Success Response
{
  "task": {
    "id": null,
    "address": null,
    "authenticate_during": null,
    "authenticate_frequency": null,
    "authenticate_frequency_units": null,
    "category_id": null,
    "city": "Titusville",
    "complete_distance_units": null,
    "complete_distance_within": null,
    "complete_time_after": null,
    "complete_time_after_units": null,
    "complete_time_before": null,
    "complete_time_before_units": null,
    "country": null,
    "description": null,
    "distance_units": null,
    "distance_within": null,
    "duration": null,
    "duration_units": null,
    "identify_photo_at_door": null,
    "is_hourly": null,
    "latitude": null,
    "location_during_frequency": null,
    "location_during_frequency_units": null,
    "longitude": null,
    "minimum_photos": null,
    "minutes_after": null,
    "minutes_before": null,
    "name": "New task",
    "password": null,
    "rate": null,
    "starts_at": null,
    "state": null,
    "take_completed_photo": null,
    "time_after_units": null,
    "time_before_units": null,
    "track_location_during": null,
    "verify_endtime": null,
    "verify_location": null,
    "verify_password": null,
    "verify_startime": null,
    "warnings": null,
    "zipcode": null,
    "email_notifications_status_changes": null,
    "text_message_status_changes": null,
    "email_notifications_verification_alerts": null,
    "text_message_verification_alerts": null,
    "verify_stop_location": null,
    "provider_email": null,
    "zone": null,
    "local_time_string": null,
    "time_on_task": null,
    "provider_id": null,
    "buyer_id": null,
    "valid_task": null,
    "status": null,
    "pre_monitoring_actions": [],
    "during_monitoring_actions": [],
    "post_monitoring_actions": [],
    "provider_user": null,
    "buyer_user": null
  }
}, status: 200
Example Error Response

This error is returned if the api key or secret is missing or invalid.

{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

Responses

HTTP Code Description Schema

200

Successful response

Task

401

Not authorized

No Content

DELETE /tasks/{id}

Description

Delete a TaskAssure Task.

Example Request
curl -v -H "Accept: application/json" -H "Content-ty: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X DELETE https://tasks.taskassure.com/api/v3/tasks/17383
Example Success Response
{}, status: 200
Example Error Response

This error is returned if the user token were missing or invalid.

{"errors":
  {
    "error": "User not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

No Content

401

Not authorized

No Content

404

Not found

No Content

422

Unprocessable entity

No Content

GET /tasks/{id}

Description

Get properties of a TaskAssure Task.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/tasks/17383
Example Success Response
{
  "task": {
    "id": 17383,
    "address": "1600 Bahama St.",
    "authenticate_during": null,
    "authenticate_frequency": null,
    "authenticate_frequency_units": null,
    "category_id": 13,
    "city": "Titusville",
    "complete_distance_units": null,
    "complete_distance_within": null,
    "complete_time_after": null,
    "complete_time_after_units": null,
    "complete_time_before": null,
    "complete_time_before_units": null,
    "country": "US",
    "description": "Test task",
    "distance_units": null,
    "distance_within": null,
    "duration": "1",
    "duration_units": "hours",
    "identify_photo_at_door": null,
    "is_hourly": null,
    "latitude": "28.566792",
    "location_during_frequency": null,
    "location_during_frequency_units": null,
    "longitude": "-80.81981",
    "minimum_photos": null,
    "minutes_after": null,
    "minutes_before": null,
    "name": "New task",
    "password": null,
    "rate": null,
    "starts_at": "2016-01-22T17:00:00Z",
    "state": "FL",
    "take_completed_photo": null,
    "time_after_units": null,
    "time_before_units": null,
    "track_location_during": null,
    "verify_endtime": null,
    "verify_location": null,
    "verify_password": null,
    "verify_startime": null,
    "warnings": null,
    "zipcode": "32780",
    "email_notifications_status_changes": null,
    "text_message_status_changes": null,
    "email_notifications_verification_alerts": null,
    "text_message_verification_alerts": null,
    "verify_stop_location": null,
    "provider_email": "job@taskassure.com",
    "zone": "America\/New_York",
    "local_time_string": "22 Jan 2016 12:00pm",
    "time_on_task": 0,
    "provider_id": 11,
    "buyer_id": 19,
    "valid_task": true,
    "status": "created",
    "pre_monitoring_actions": [],
    "during_monitoring_actions": [],
    "post_monitoring_actions": [],
    "provider_user": {
      "id": 16,
      "firstname": "Jobs",
      "lastname": "TaskAssure",
      "name": "Jobs TaskAssure",
      "email": "job@taskassure.com",
      "address": null,
      "city": null,
      "state": null,
      "zipcode": null,
      "country": null,
      "phone_number": null,
      "image_thumb_url": null,
      "role": "provider",
      "ta_api_token": null
    },
    "buyer_user": {
      "id": 11,
      "firstname": "Shawn",
      "lastname": "OD",
      "name": "Shawn OD",
      "email": "hope@taskassure.com",
      "address": null,
      "city": null,
      "state": null,
      "zipcode": null,
      "country": null,
      "phone_number": "123-456-7890",
      "image_thumb_url": null,
      "role": "buyer",
      "ta_api_token": "7b6398a2-9fe8-40b9-b72e-fcc25b2d1a9a"
    }
  }
}, status: 200
Example Error Response
{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

Task

401

Not authorized

No Content

404

Not found

No Content

422

Unprocessable entity

No Content

PUT /tasks/{id}

Description

Update a Task.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -d ' {"task":{"name":"New task 999", "category_id":"8", "provider_email":"job@taskassure.com"}}' -X PUT https://tasks.taskassure.com/api/v3/tasks/17383
Example Success
{}, status: 204
Example Error Response

This error is returned if api key or secret is missing or invalid.

{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

BodyParameter

body

JSON of task properties to update

true

Task

Responses

HTTP Code Description Schema

204

Update successful

No Content

401

Not authorized

No Content

404

Not found

No Content

422

Unprocessable entity

No Content

POST /user_locations

Description

Creates new UserLocation for designated user.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X POST -d ' {"user_location":{"name":"Honolulu Rental Condo", "address":"2819 Coconut Ave", "city":"Honolulu","state":"HI","zipcode":"96815","country":"US"}}' https://tasks.taskassure.com/api/v3/user_locations
Example Success Response
Warning
The response header contains Location value which is the url to the created user_location. As an interim service, TaskAssure returns the new user attributes in the response body. This practice may stop without notice and should not be relied upon.
{
  "user_location": {
    "id": 123,
    "name": "Honolulu Rental Condo",
    "address": "2819 Coconut Ave",
    "city": "Honolulu",
    "state": "HI",
    "zipcode": "96815",
    "country": "US",
    "zone": null,
    "latitude": null,
    "longitude": null
  }
}, status: 201
Example Error Response

This error is returned if the user token was missing or invalid.

{"errors":
  {
    "error": "User not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

BodyParameter

body

JSON of new user_location properties

true

UserLocation

Responses

HTTP Code Description Schema

201

Created

No Content

401

Not authorized

object

GET /user_locations

Description

Gets UserLocation objects for the designated user.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/user_locations
Example Success Response
{
  "user_locations": [
    {
      "id": 5,
      "address": "5118 Lakeshore Dr",
      "city": "San Ramon",
      "country": "US",
      "latitude": null,
      "longitude": null,
      "name": "Home",
      "state": "CA",
      "zipcode": "94583",
      "zone": null
    },
    {
      "id": 123,
      "address": "2819 Coconut Ave",
      "city": "Honolulu",
      "country": "US",
      "latitude": null,
      "longitude": null,
      "name": "Honolulu Rental Condo",
      "state": "HI",
      "zipcode": "96815",
      "zone": null
    }
  ]
}, status: 200
Example Error Response

This error is returned if the api key or secret is missing or invalid.

{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

Responses

HTTP Code Description Schema

200

Successful response

UserLocation array

401

Not authorized

No Content

GET /user_locations/new

Description

Used to help support REST forms operations. Gets properties of a blank TaskAssure UserLocation.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/user_locations/new
Example Success Response
{"user_location":
  {
    "id": null,
    "address": null,
    "city": null,
    "country": null,
    "latitude": null,
    "longitude": null,
    "name": null,
    "state": null,
    "zipcode": null,
    "zone": null
  }
}, status: 200
Example Error Response

This error is returned if the api key or secret is missing or invalid.

{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

Responses

HTTP Code Description Schema

200

Successful response

UserLocation

401

Not authorized

No Content

GET /user_locations/summary

Description

Get summary list of UserLocation records for a user. This includes name and address information. This may provide a streamlined interface to allow user’s to view/choose from their current list of locations. (For example, via ajax.)

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/user_locations/summary
Example Success Response
{
  "user_locations": [
    {
      "id": 5,
      "address": "5118 Lakeshore Dr",
      "city": "San Ramon",
      "country": "US",
      "name": "Home",
      "state": "CA",
      "zipcode": "94583",
    },
    {
      "id": 123,
      "address": "2819 Coconut Ave",
      "city": "Honolulu",
      "country": "US",
      "name": "Honolulu Rental Condo",
      "state": "HI",
      "zipcode": "96815",
    }
  ]
}, status: 200
Example Error Response

This error is returned if the user token is missing or invalid.

{}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

Responses

HTTP Code Description Schema

200

Successful response

UserLocationSummary array

401

Not authorized

No Content

DELETE /user_locations/{id}

Description

Delete a UserLocation.

Example Request
curl -v -H "Accept: application/json" -H "Content-ty: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X DELETE https://tasks.taskassure.com/api/v3/user_locations/123
Example Success Response
{}, status: 200
Example Error Response

This error is returned if the designated UserLocation does not exist.

{}, status: 404

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

No Content

401

Not authorized

No Content

404

Not found

No Content

GET /user_locations/{id}

Description

Get properties of a UserLocation.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/user_locations/123
Example Success Response
{"user_location":
  {
    "id": 123,
    "address": "2819 Coconut Ave",
    "city": "Honolulu",
    "country": "US",
    "latitude": null,
    "longitude": null,
    "name": "Honolulu Rental Condo",
    "state": "HI",
    "zipcode": "96815",
    "zone": null
  }
}, status: 200
Example Error Response

This error is returned if the designated id does not exist.

{}, status: 404

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

UserLocation

401

Not authorized

No Content

404

Not found

No Content

PUT /user_locations/{id}

Description

Update a UserLocation.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -d '{"user_location":{"name":"Hawaii condo"}}' -X PUT https://tasks.taskassure.com/api/v3/user_locations/123
Example Success Response
{}, status: 204
Example Error Response

This error is returned if the user token is missing or invalid.

{"errors":
  {
    "error": "User not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

BodyParameter

body

JSON of UserLocation properties to update

true

UserLocation

Responses

HTTP Code Description Schema

204

Update successful

No Content

401

Not authorized

No Content

404

Not found

No Content

POST /users

Description

Creates new User in TaskAssure for the Partner.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret"  -X POST -d ' {"user":{"firstname":"Shawn", "lastname":"OD", "email":"hope@taskassure.com", "role":"buyer"}}' https://tasks.taskassure.com/api/v3/users
Example Success Response
Warning
The response header contains Location value which is the url to the created user. As an interim service, TaskAssure returns the new user attributes in the response body. This practice may stop without notice and should not be relied upon.
{
  "user": {
    "id": 11,
    "firstname": "Shawn",
    "lastname": "OD",
    "name": "Shawn OD",
    "email": "hope@taskassure.com",
    "address": null,
    "city": null,
    "state": null,
    "zipcode": null,
    "country": null,
    "phone_number": null,
    "image_thumb_url": null,
    "role": "buyer",
    "ta_api_token": "822dfd0a-61e4-4154-9145-1b1ee9f91093"
  }
}, status: 201
Example Error Response

This error is returned if a user already exists with the given email address.

{"errors":
  {
    "email": ["has already been taken"]
  }
}, status: 422

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

BodyParameter

body

JSON of new user properties

true

User

Responses

HTTP Code Description Schema

201

Created

No Content

401

Not authorized

object

422

Unprocessable entity

object

GET /users

Description

Gets User objects for the Partner.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -X GET https://tasks.taskassure.com/api/v3/users
Example Success Response
{"users": [
  {
    "id": 11,
    "firstname": "Shawn",
    "lastname": "OD",
    "name": "Shawn OD",
    "email": "hope@taskassure.com",
    "address": null,
    "city": null,
    "state": null,
    "zipcode": null,
    "country": null,
    "phone_number": null,
    "image_thumb_url": null,
    "role": "buyer",
    "ta_api_token": "822dfd0a-61e4-4154-9145-1b1ee9f91093"
  },
  {
    "id": 14,
    "firstname": "Sandy",
    "lastname": "Smith",
    "name": "Sandy Smith",
    "email": "ssmith@taskassure.com",
    "address": null,
    "city": null,
    "state": null,
    "zipcode": null,
    "country": null,
    "phone_number": null,
    "image_thumb_url": null,
    "role": "provider",
    "ta_api_token": "33ca6d24-835a-401c-be94-0e408881c620"
  } ]
}, status: 200
Example Error Response

This error is returned if the api key or secret is missing or invalid.

{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

Responses

HTTP Code Description Schema

200

Successful response

User array

401

Not authorized

No Content

POST /users/create_helper

Description

Similar function as Create User, but used by partner system to create a helper (i.e. provider) user AND setup proper internal account information to permit sign in via the TaskAssure mobile phone app AND invite the new provider user to participate in TaskAssure via email. For a provider/helper to use the TaskAssure mobile phone app to get their tasks and perform tasks, etc., they also need to be able to sign in. In a typical scenario, a partner system may allow a customer to create tasks and assign them to helpers that don’t yet exist in TaskAssure space. The Create Helper API allows the partner system to complete this use case.

Tip
When a helper is created on behalf of a user, that helper record is automatically added to the MyHelperList for that user. That helper can then receive task assignments from any (buyer) user in the TaskAssure space.
Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret"  -X POST -d ' {"user":{"firstname":"Joe", "lastname":"Jobman", "email":"joe@jobmen.com"}}' https://tasks.taskassure.com/api/v3/users/create_helper
Example Success Response
Warning
The response header contains Location value which is the url to the created user. As an interim service, TaskAssure returns the new user attributes in the response body. This practice may stop without notice and should not be relied upon.
{
  "user":
  {
    "id": 11,
    "firstname": "Joe",
    "lastname": "Jobman",
    "name": "Joe Jobman",
    "email": "joe@jobmen.com",
    "address": null,
    "city": null,
    "state": null,
    "zipcode": null,
    "country": null,
    "phone_number": null,
    "image_thumb_url": null,
    "role": "provider",
    "ta_api_token": "822dfd0a-61e4-4154-9145-1b1ee9f91093"
  }
}, status: 201
Example Error Response

This error is returned if a user already exists with the given email address.

{"errors":
  {
    "email": ["has already been taken"]
  }
}, status: 422

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

BodyParameter

body

JSON of new user properties

true

User

Responses

HTTP Code Description Schema

201

Created

No Content

401

Not authorized

object

422

Unprocessable entity

object

GET /users/new

Description

Used to help support REST forms operations. Gets properties of a blank TaskAssure User.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -X GET https://tasks.taskassure.com/api/v3/users/new
Example Success Response
{
  "user": {
    "id": null,
    "firstname": null,
    "lastname": null,
    "name": null,
    "email": null,
    "address": null,
    "city": null,
    "state": null,
    "zipcode": null,
    "country": null,
    "phone_number": null,
    "image_thumb_url": null,
    "role": null,
    "ta_api_token": null
  }
}, status: 200
Example Error Response

This error is returned if the api key or secret is missing or invalid.

{"errors":
  {
    "error": "Partner not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

Responses

HTTP Code Description Schema

200

Successful response

User

401

Not authorized

No Content

DELETE /users/{id}

Description

Delete a TaskAssure User..

Example Request
curl -v -H "Accept: application/json" -H "Content-ty: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X DELETE https://tasks.taskassure.com/api/v3/users/53
Example Success Response
{}, status: 200
Example Error Response

This error is returned if the designated user does not exist.

{}, status: 404

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

No Content

401

Not authorized

No Content

404

Not found

No Content

GET /users/{id}

Description

Get properties of a TaskAssure User.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -X GET https://tasks.taskassure.com/api/v3/users/11
Example Success Response
{
  "user": {
    "id": 11,
    "firstname": "Shawn",
    "lastname": "OD",
    "name": "Shawn OD",
    "email": "hope@taskassure.com",
    "address": null,
    "city": null,
    "state": null,
    "zipcode": null,
    "country": null,
    "phone_number": null,
    "image_thumb_url": null,
    "role": "buyer",
    "ta_api_token": "822dfd0a-61e4-4154-9145-1b1ee9f91093"
  }
}, status: 200
Example Error Response

This error is returned if the designated userId does not exist.

{}, status: 404

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

Responses

HTTP Code Description Schema

200

Successful response

User

401

Not authorized

No Content

404

Not found

No Content

PUT /users/{id}

Description

Update a TaskAssure User.

Example Request
curl -v -H "Accept: application/json" -H "Content-type: application/json" -H "TA-API-KEY: test-api-key" -H "TA-API-SECRET: test-api-secret" -H "TA-USER-TOKEN: 822dfd0a-61e4-4154-9145-1b1ee9f91093" -d ' {"user":{"phone_number":"123-456-7890"}}' -X PUT https://tasks.taskassure.com/api/v3/users/11
Example Success Response
{}, status: 204
Example Error Response

This error is returned if the user token is missing or invalid.

{"errors":
  {
    "error": "User not authorized"
  }
}, status: 401

Parameters

Type Name Description Required Schema Default

HeaderParameter

TA-API-KEY

true

string

HeaderParameter

TA-API-SECRET

true

string

HeaderParameter

TA-USER-TOKEN

true

string

PathParameter

id

true

integer

BodyParameter

body

JSON of user properties to update

true

User

Responses

HTTP Code Description Schema

204

Update successful

No Content

401

Not authorized

No Content

404

Not found

No Content

Definitions

Error

Name Description Required Schema Default

error

The error name or type.

false

string

description

A text description of the error.

false

string

MyHelperList

MyHelperList records represent a user’s list of helpers (people that perform tasks for the user) including ratings on four categories (efficiency, timeliness, quality, overall) and a comment. TaskAssure automatically creates MyHelperList records each time a user first assigns a task to a helper. For example, if a user assigns a task to "job@taskassure.com" for the first time, a record is created in that user’s MyHelperList. Through the API, a partner system can also create, update and delete MyHelperList entries, and can retrieve a user’s list of helpers. A simple "summary" list is available optionally.

Tip
Currently, each user’s ratings and text comment are private. A future release of TaskAssure may allow these to be shared with other users.
Name Description Required Schema Default

id

false

integer

efficiency

The user’s numerical assessment of the helper’s relative efficiency. Recommend constraining values to 1 to 5.

false

integer

timeliness

The user’s numerical assessment of the helper’s relative timelineess. Recommend constraining values to 1 to 5.

false

integer

quality

The user’s numerical assessment of the helper’s relative quality. Recommend constraining values to 1 to 5.

false

integer

overall

The user’s numerical assessment of the helper’s relative overall service. Recommend constraining values to 1 to 5.

false

integer

comments

The user’s text comments regarding the helper.

false

string

provider_user

false

User

MyHelperListSummary

A summary of a MyHelperList object.

Tip
Use the MyHelperListSummary method to retrieve only the necessary attributes to help a user complete a task create/update form. For example, a partner app task create form can make an AJAX call to MyHelperListSummary to retrieve the user’s current list of helpers. Each helper’s name and email can be displayed to assist the user choose the correct helper to insert into the task create form.
Name Description Required Schema Default

id

false

integer

name

Helper user’s first and last name.

false

string

email

Helper user’s email address.

false

string

Partner

A representation of a TaskAssure partner. A partner may be an organization that uses the TaskAssure API to implement task assurance capabilities in an app.

Tip
To create a partner, visit https://tasks.taskassure.com/partners/new. This is not currently an API endpoint.
Name Description Required Schema Default

id

false

integer

name

Partner name.

true

string

email

Partner email address.

true

string

phone_number

Partner phone number.

true

string

status

Partner account status.

false

enum (testing, active, deactivated)

task_alias

The preferred term for 'task'. TaskAssure will use this term when possible in communications for the partner.

false

string

helper_alias

The preferred term for 'helper'. TaskAssure will use this term when possible in communications for the partner.

false

string

location_alias

The preferred term for 'location'. TaskAssure will use this term when possible in communications for the partner.

false

string

api_key

The partner api key. Readonly.

false

string (uuid)

api_secret

The partner api secret. Readonly.

false

string (uuid)

Photo

Name Description Required Schema Default

id

false

integer

url

A URL to the photo.

false

string

Provider

A type of User that can perform tasks.

Tip
At the present time, the API only exposes the GET /providers method. Use this method to detect if a user exists with a specified email address, and whether the user can receive task assignments (i.e., is a provider/helper).
Name Description Required Schema Default

provider_user

false

User

Status

A Status object captures an event associated with a task. TaskAssure automatically creates Statuses when any task event occurs. Example task events include: task created, task started, task not started at expected location, photo uploaded for task, etc.

Tip
The current API does not support the creation of Status records by the partner app. (That is, it is read only, and collected via the GET task/{id} endpoint.) Status records are created by TaskAssure automatically as it processes events.
Name Description Required Schema Default

id

false

integer

name

A short descriptive name of the event.

true

string

description

A text description of the event.

false

string

latitude

The location latitude associated with the event.

false

number (float)

longitude

The location longitude associated with the event.

false

number (float)

marker

A JSON text string representing a marker of the event location, suitable for use with GoogleMap API. This element is created by TaskAssure when saving the object.

false

string

Task

An element of service or activity that will be monitored by TaskAssure.

Tip
TaskAssure will apply UserTaskDefaults when a new task is created. UserTaskDefaults are associated with task monitoring actions and notification preferences. When a task is created, TaskAssure will first set the associated attributes according to system defaults, then over-write with UserTaskDefaults, then over-write with values included in the POST request to create.
Name Description Required Schema Default

id

false

integer

address

Task location street address.

false

string

authenticate_during

(Not yet supported) Re-authenticate provider during performance of the task.

false

boolean

false

authenticate_frequency

(Not yet supported) Number of frequency units between re-authentication.

false

integer

authenticate_frequency_units

(Not yet supported) Units of time for use with authenticate_during setting.

false

enum (minutes, hours)

category_id

ID of the task category.

false

integer

city

Task location city.

false

string

complete_distance_units

Units of distance for use with complete_distance_within setting. Required if verify_stop_location is true.

false

enum (feet, miles)

feet

complete_distance_within

Number of complete_distance_units task location must be completed within. Required if verify_stop_location is true.

false

integer

complete_time_after

Number of complete time units task must be completed within. Required if verify_endtime is true.

false

integer

complete_time_after_units

Units of time for use with complete time after setting. Required if verify_endtime is true.

false

enum (minutes, hours)

minutes

complete_time_before

Number of complete time units task must be completed within. Required if verify_endtime is true.

false

integer

complete_time_before_units

Units of time for use with complete time after setting. Required if verify_endtime is true.

false

enum (minutes, hours)

minutes

country

Task location country. For maximum consistency, should be two character ISO country code.

false

string

US

description

Task description.

false

string

distance_units

Units of distance for use with distance_within setting. Required if verify_location is true.

false

enum (feet, miles)

feet

distance_within

Number of distance_within_units task location must be completed within. Required if verify_location is true.

false

integer

duration

Number of duration_units that task is expected to require for completion.

true

integer

duration_units

Units of time for use with duration.

true

enum (minutes, hours)

identify_photo_at_door

Verify identity of the provider at start of task. Currently uses facial recognition.

false

boolean

false

latitude

Last reported latitude of provider while performing the task.

false

number (float)

location_during_frequency

(Currently not available for setting by API.) Number of location frequency units to verify location during a task. Required if verify_location_during is true.

false

integer

location_during_frequency_units

(Currently not available for setting by API.) Units of time for use with location during. Required if verify_location_during is true.

false

enum (minutes, hours)

minutes

longitude

Last reported longitude of provider while performing the task.

false

number (float)

minimum_photos

Number of photos of task desired. Required if take_completed_photo is true.

false

integer

minutes_after

Number of time after units that task should start after scheduled start time. Required if verify_startime is true.

false

integer

minutes_before

Number of time before units that task should start before scheduled start time. Required if verify_startime is true.

false

integer

name

Task name.

true

string

password

A password string presented to provider when starting task. Required if verify_password is true.

false

string

starts_at

Date time value for preferred task start time. Calculated by TaskAssure from local_time_string and zone.

false

integer

state

Task location state or region.

false

string

take_completed_photo

Advise provider to take photos of task.

false

boolean

false

time_after_units

Units of time for use with minutes after setting. Required if verify_startime is true.

false

enum (minutes, hours)

minutes

time_before_units

Units of time for use with minutes before setting. Required if verify_startime is true.

false

enum (minutes, hours)

minutes

track_location_during

Monitor the provider location during the task. Location reports are expected at least every five minutes. If no reports are received within a ten minute period, a "missed status report" event is logged. TaskAssure mobile phone app automatically makes task location reports.

false

boolean

true

verify_endtime

Verify the provider is within complete distance specified during task completion.

false

boolean

false

verify_location

Verify the provider is within distance specified during task start.

false

boolean

true

verify_password

Provide the task password to the provider during task startup after other pre-monitoring actions are completed.

false

boolean

false

verify_startime

Verify that task start request is being received between the time before and time after attributes.

false

boolean

true

warnings

Alerts, warnings or other information related to the task.

false

string

zipcode

Task location zipcode or postal code.

false

string

email_notifications_status_changes

If true, email notification is sent for each task status change.

false

boolean

true

text_message_status_changes

If true, text message is sent for each task status change.

false

boolean

false

email_notifications_verification_alerts

If true, email notification is sent each time a task monitoring action is performed. Currently, this is read only for the API. TaskAssure forces to same value as email notifications status changes.

false

boolean

true

text_message_verification_alerts

If true, text message is sent each time a task monitoring action is performed. Currently, this is read only for the API. TaskAssure forces to same value as text message status changes.

false

boolean

false

verify_stop_location

Verify the location when a task is completed.

false

boolean

false

provider_email

The TaskAssure account email of the provider to assign to the task. Used when creating new tasks or updating tasks.

false

string

zone

Time zone of the task address. Calculated by TaskAssure using task address. If task address is missing or invalid, "UTC" is used.

false

string

UTC

local_time_string

Date time string in the time zone of the task address. Format "dd Mmm yyyy hh:mmpp".

true

string

time_on_task

Aggregate seconds worked on task to-date.

false

integer

provider_id

ID of provider object associated with task provider. Read only via API.

false

integer

buyer_id

ID of buyer object associated with task buyer. Read only via API.

false

integer

valid_task

Task is valid for performance by provider. Set to false if task location is invalid or incomplete, or if task provider is not designated.

false

boolean

status

Current task status. Set by TaskAssure. Can be written via API, but may lead to unexpected results.

false

enum (completed, created, Identity verified, In progress, late, location_updated, missed 1 status report, missed 2 status reports, missed 3 status reports, paused, permission_denied, permission_granted, photo uploaded, provider requested, request_start, rescheduled, reschedule requested, Start location verification, Start_location_verification, Start time verification, Start_time_verification, Stop location verification, Stop time verification, Task Aborted, task assigned, task comment, Task comment, Task Completed, time on task report)

pre_monitoring_actions

An array of strings listing the task monitoring actions that will be performed before a task starts.

false

string array

during_monitoring_actions

An array of strings listing the task monitoring actions that will be performed during the task.

false

string array

post_monitoring_actions

An array of strings listing the task monitoring actions that will be performed before a task starts.

false

string array

statuses

Array of logged task events.

false

Status array

task_photos

Array of uploaded task photos.

false

Photo array

provider_user

false

User

buyer_user

false

User

TaskSummary

A summary of task attributes. Use in situations when an overview of tasks is desired.

Name Description Required Schema Default

id

false

integer

address

Task location street address.

false

string

category_id

ID of the task category.

false

integer

city

Task location city.

false

string

country

Task location country. For maximum consistency, should be two character ISO country code.

false

string

US

description

Task description.

false

string

latitude

Last reported latitude of provider while performing the task.

false

number (float)

longitude

Last reported longitude of provider while performing the task.

false

number (float)

name

Task name.

true

string

starts_at

Date time value for preferred task start time. Calculated by TaskAssure from local_time_string and zone.

false

integer

state

Task location state or region.

false

string

zipcode

Task location zipcode or postal code.

false

string

provider_email

The TaskAssure account email of the provider to assign to the task. Used when creating new tasks or updating tasks.

false

string

zone

Time zone of the task address. Calculated by TaskAssure using task address. If task address is missing or invalid, "UTC" is used.

false

string

UTC

local_time_string

Date time string in the time zone of the task address. Format "dd Mmm yyyy hh:mmpp".

false

string

provider_id

ID of provider object associated with task provider. Read only via API.

false

integer

buyer_id

ID of buyer object associated with task buyer. Read only via API.

false

integer

valid_task

Task is valid for performance by provider. Set to false if task location is invalid or incomplete, or if task provider is not designated.

false

boolean

status

Current task status. Set by TaskAssure. Can be written via API, but may lead to unexpected results.

false

enum (completed, created, Identity verified, In progress, late, location_updated, missed 1 status report, missed 2 status reports, missed 3 status reports, paused, permission_denied, permission_granted, photo uploaded, provider requested, request_start, rescheduled, reschedule requested, Start location verification, Start_location_verification, Start time verification, Start_time_verification, Stop location verification, Stop time verification, Task Aborted, task assigned, task comment, Task comment, Task Completed, time on task report)

User

Name Description Required Schema Default

id

false

integer

email

User email address. Must be unique in the system.

true

string

firstName

User first name.

false

string

lastName

User last name.

false

string

phone_number

User phone number. Used for text message notifications.

false

string

address

User street address.

false

string

city

User city.

false

string

state

User state or region.

false

string

zipcode

User zipcode or postal code.

false

string

country

User country. Recommend two-letter ISO string.

false

string

US

image_thumb_url

URL to thumbnail of User profile photo.

false

string

role

User role.

true

enum (buyer, provider)

ta_api_token

Token required for user-specific API actions.

false

string (uuid)

UserLocation

An object representing a physical location where tasks may be performed. TaskAssure allows users to store locations so that they can be used repeatedly without needing to re-enter the location address information each time a task is created.

Tip
The extent that a partner app implements the UserLocation store is at their discretion. Each task has physical location information whether or not it was pulled initially from a UserLocation store. For example, TAPSA allows users to store and maintain UserLocations, but a user may also create a task for a location that will never be used again, so they might not choose to store the address information as a UserLocation. On the other hand, if a partner app is maintaining user 'location' information in its own resources, it would likely not use the TaskAssure UserLocation capabilities.
Name Description Required Schema Default

id

false

integer

address

UserLocation street address.

false

string

city

UserLocation city.

false

string

country

UserLocation country. (Two letter ISO code recommended.)

false

string

latitude

UserLocation latitude. (Currently not generated by TaskAssure. If desired, must be created by Partner app.)

false

number (float)

longitude

UserLocation longitude. (Currently not generated by TaskAssure. If desired, must be created by Partner app.)

false

number (float)

name

A name for the UserLocation created by the user.

true

string

state

UserLocation state or region.

false

string

zipcode

UserLocation zipcode or postal code.

false

string

zone

UserLocation time zone. (Currently not generated by TaskAssure. If desired, must be created by Partner app.)

false

string

UserLocationSummary

A summary of properties of a UserLocation.

Name Description Required Schema Default

id

false

integer

address

UserLocation street address.

false

string

city

UserLocation city.

false

string

country

UserLocation country. (Two letter ISO code recommended.)

false

string

name

A name for the UserLocation created by the user.

true

string

state

UserLocation state or region.

false

string

zipcode

UserLocation zipcode or postal code.

false

string