GET /api/tasks
Index of all Tasks

Returns a list of Tasks which match the supplied filter (JSON encoded).

Currently supported filters: * location_id (string) * reference_number (string) * created_at (time, time range) May be a time (in ISO 8601 format), in which case only Transactions at or after that time will be returned. It may also be a range of times, expressed as an array.

Examples

$ curl -i \
  -H "Accept: application/json; version=1" \
  -H "Authorization: Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjQyLCJpYXQiOjE0NjM2OTQ4MjN9.k48v-R-un93KdIXqp9Zi12JOGJCu8uibtrWjscFCTqc" \
  "https://api.record360.com/api/tasks?after_id=88&limit=2"

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: max-age=0, private, must-revalidate

{
  "tasks": [
    {
    "id":"42",
    "due_by":"2020-12-21T21:25:04.000Z",
    "name":"Inspect Bulldozer",
    "status":"idle",
    "created_at":"2020-12-16T21:25:11.795Z",
    "updated_at":"2020-12-16T21:25:11.795Z",
    "high_priority":false,
    "asset":{
      "id":"1",
      "external_id":"5764868635464"
    },
    "location":{
      "id":"1",
      "name":"Demo Location"
    },
    "assignee":{
      "id":"8",
      "email":"[email protected]",
      "name":"Ahmad Mosciski"
    },
    "requester":{
      "id":"8",
      "email":"[email protected]",
      "name":"Ahmad Mosciski"
    },
    "activities":[
      {
        "event":"Created Task",
        "user":{
          "id":"8",
          "email":"[email protected]",
          "name":"Ahmad Mosciski"
        },
        "created_at":"2020-12-16T21:25:11.807Z"
      }
    ]
    },
    {
    "id":"43",
    "due_by":"2020-12-21T21:25:04.000Z",
    "name":"Inspect Bulldozer",
    "status":"idle",
    "created_at":"2020-12-16T21:25:11.795Z",
    "updated_at":"2020-12-16T21:25:11.795Z",
    "high_priority":false,
    "asset":{
      "id":"1",
      "external_id":"5764868635464"
    },
    "location":{
      "id":"1",
      "name":"Demo Location"
    },
    "assignee":{
      "id":"8",
      "email":"[email protected]",
      "name":"Ahmad Mosciski"
    },
    "requester":{
      "id":"8",
      "email":"[email protected]",
      "name":"Ahmad Mosciski"
    },
    "activities":[
      {
        "event":"Created Task",
        "user":{
          "id":"8",
          "email":"[email protected]",
          "name":"Ahmad Mosciski"
        },
        "created_at":"2020-12-16T21:25:11.807Z"
      }
    ]
    },
    ...
  ],
  "links": {
    "prev": "https://api.record360.com/api/tasks?before_id=89&limit=2",
    "next": "https://api.record360.com/api/tasks?after_id=90&limit=2"
  }
}

Params

Param name Description
before_id
optional

Return Tasks before the specified ID

Validations:

  • Must be a String

after_id
optional

Return Tasks after the specified ID

Validations:

  • Must be a String

limit
optional

Limit the number of Tasks to return (max: 50)

Validations:

  • Must be a number.


GET /api/tasks/:id
Show a particular Task

Examples

 $ curl -i \
   -H "Accept: application/json; version=1" \
   -H "Authorization: Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjQyLCJpYXQiOjE0NjM2OTQ4MjN9.k48v-R-un93KdIXqp9Zi12JOGJCu8uibtrWjscFCTqc" \
   https://api.record360.com/api/tasks/42

HTTP/1.1 200 OK
 Content-Type: application/json; charset=utf-8
 Cache-Control: max-age=0, private, must-revalidate

 {
   "task":{
     "id":"42",
     "due_by":"2020-12-21T21:25:04.000Z",
     "name":"Inspect Bulldozer",
     "status":"idle",
     "created_at":"2020-12-16T21:25:11.795Z",
     "updated_at":"2020-12-16T21:25:11.795Z",
     "high_priority":false,
     "asset":{
       "id":"1",
       "external_id":"5764868635464"
     },
     "location":{
       "id":"1",
       "name":"Demo Location"
     },
     "assignee":{
       "id":"8",
       "email":"[email protected]",
       "name":"Ahmad Mosciski"
     },
     "requester":{
       "id":"8",
       "email":"[email protected]",
       "name":"Ahmad Mosciski"
     },
     "activities":[
       {
         "event":"Created Task",
         "user":{
           "id":"8",
           "email":"[email protected]",
           "name":"Ahmad Mosciski"
         },
         "created_at":"2020-12-16T21:25:11.807Z"
       }
     ]
   }
 }

Params

Param name Description
id
required

Task ID

Validations:

  • Must be a number.


DELETE /api/tasks/:id
Delete a Task

Examples

$ curl -i \
  -H "Accept: application/json; version=1" \
  -H "Authorization: Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjQyLCJpYXQiOjE0NjM2OTQ4MjN9.k48v-R-un93KdIXqp9Zi12JOGJCu8uibtrWjscFCTqc" \
  -X DELETE \
  https://api.record360.com/api/tasks/42

HTTP/1.1 204 No Content

Params

Param name Description
id
required

Task ID

Validations:

  • Must be a String


POST /api/tasks
Create a new Task

Examples

$ curl -i \
  -H "Accept: application/json; version=1" \
  -H "Authorization: Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjQyLCJpYXQiOjE0NjM2OTQ4MjN9.k48v-R-un93KdIXqp9Zi12JOGJCu8uibtrWjscFCTqc" \
  -X POST \
  -H 'Content-type: application/json' \
  -d '{"task": {"asset_id": "1", "assignee_id": "8", "draft_id": "1", "due_by": "2020-12-21 21:21:35 UTC", "location_id": "1", "name": "Inspect Bulldozer", "priority": "0", "requester_id": "8"} }' \
  https://api.record360.com/api/tasks

HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8
Cache-Control: max-age=0, private, must-revalidate

{
  "task":{
    "id":"1",
    "due_by":"2020-12-21T21:25:04.000Z",
    "name":"Inspect Bulldozer",
    "status":"idle",
    "created_at":"2020-12-16T21:25:11.795Z",
    "updated_at":"2020-12-16T21:25:11.795Z",
    "high_priority":false,
    "asset":{
      "id":"1",
      "external_id":"5764868635464"
    },
    "location":{
      "id":"1",
      "name":"Demo Location"
    },
    "assignee":{
      "id":"8",
      "email":"[email protected]",
      "name":"Ahmad Mosciski"
    },
    "requester":{
      "id":"8",
      "email":"[email protected]",
      "name":"Ahmad Mosciski"
    },
    "activities":[
      {
        "event":"Created Task",
        "user":{
          "id":"8",
          "email":"[email protected]",
          "name":"Ahmad Mosciski"
        },
        "created_at":"2020-12-16T21:25:11.807Z"
      }
    ]
  }
}

Params

Param name Description
task
required

Task attributes

Validations:

  • Must be a Hash

task[status]
optional

Validations:

  • Must be a String

task[name]
required

Validations:

  • Must be a String

task[description]
optional

Validations:

  • Must be a String

task[due_by]
optional

Defaults to one week from today if param is not provided

Validations:

  • Must be a String

task[priority]
optional

Validations:

  • Must be a String

task[location_id]
optional

Validations:

  • Must be a String

task[assignee_id]
optional

Validations:

  • Must be a String

task[draft_id]
optional

Validations:

  • Must be a String

task[asset_id]
optional

Validations:

  • Must be a String

task[requester_id]
optional

Validations:

  • Must be a String


PATCH /api/tasks/:id
Update an existing Task

PUT /api/tasks/:id
Update an existing Task

Examples

$ curl -i \
  -H "Accept: application/json; version=1" \
  -H "Authorization: Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjQyLCJpYXQiOjE0NjM2OTQ4MjN9.k48v-R-un93KdIXqp9Zi12JOGJCu8uibtrWjscFCTqc" \
  -X PUT \
  -H 'Content-type: application/json' \
  -d '{"task": "42", task": { "name": "Wash windows" }}' \
  https://api.record360.com/api/tasks/42

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: max-age=0, private, must-revalidate

{
  "task": {
    "id": "42",
    "name": "Wash windows",
    "due_by":"2020-12-21T21:25:04.000Z",
    "status":"idle",
    "created_at":"2020-12-16T21:25:11.795Z",
    "updated_at":"2020-12-16T21:25:11.795Z",
    "high_priority":false,
    "asset":{
      "id":"1",
      "external_id":"5764868635464"
    },
    "location":{
      "id":"1",
      "name":"Demo Location"
    },
    "assignee":{
      "id":"8",
      "email":"[email protected]",
      "name":"Ahmad Mosciski"
    },
    "requester":{
      "id":"8",
      "email":"[email protected]",
      "name":"Ahmad Mosciski"
    },
    "activities":[
      {
        "event":"Created Task",
        "user":{
          "id":"8",
          "email":"[email protected]",
          "name":"Ahmad Mosciski"
        },
        "created_at":"2020-12-16T21:25:11.807Z"
      }
    ]
  }
}

Params

Param name Description
task
required

Task attributes

Validations:

  • Must be a Hash

task[status]
optional

Validations:

  • Must be a String

task[name]
required

Validations:

  • Must be a String

task[description]
optional

Validations:

  • Must be a String

task[due_by]
optional

Validations:

  • Must be a String

task[priority]
optional

Validations:

  • Must be a String

task[location_id]
optional

Validations:

  • Must be a String

task[assignee_id]
optional

Validations:

  • Must be a String

task[draft_id]
optional

Validations:

  • Must be a String

task[asset_id]
optional

Validations:

  • Must be a String

task[requester_id]
optional

Validations:

  • Must be a String

id
required

Task ID

Validations:

  • Must be a String