Response Format
The default Content-Type is 'application/json'.
In most cases a 200 response will have the following format
{
"data": {
...
...
}
"meta": {
"count": 0,
"links": [
{
"rel": "",
"href": ""
},
...
...
]
}
}
The data attribute contains the data values related to the request.
The data attribute may contain other data attributes as required.
The meta attribute contains meta values related to the request.
In most cases, there will be a links attribute containing a list of valid urls that can be used. The client should avoid constructing its own urls and should only use those provided by the api as they may change in future versions.
If the data attribute represents an array (e.g. collection of grids) there will usually be a count attribute in the meta attribute with the number of items in the array.
Errors
The default Content-Type for errors is application/problem+json.
In most cases the response will have the following format
{
"status": NNN,
"type": "",
"title": "",
"detail": "",
"instance": ""
"token": ""
}
Examples
401 Unauthorized
{
"status": 401,
"type": "???",
"title": "Invalid value for token.",
"detail": "api\\methodgrid\\com\\Http\\Exception\\UnauthorizedException",
"instance": "GET https://api.methodgrid.com/v1/"
}
Root Endpoint
GET /
Use this to check that authentication is working . An Authorization header is required. If authentication is successful, response status is 200 and response contains some basic meta data. In time the response could be extended to include meta data related to the authenticated user such as which api requests they are authorized to use.
Responses
Status: 200 OK
{
"links": [
{
"rel": "canonical",
"href": "https://api.methodgrid.com/v1/"
}
]
}
OPTIONS /
Responses
Status: 200 OK
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/ -H 'Authorization: Bearer {accessToken}'
$ curl -X OPTIONS -v https://api.methodgrid.com/v1/ -H 'Origin: {Origin}'
Is api available?
GET /ping
Use this to check that api is available.
No Authorization header is required.
Responses
Status: 200 OK
{
"pong": "2020-02-25 13:29:27"
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/ping
Authentication
Revoke access token (logout)
DELETE /authenticate
Use this to revoke an accessToken, usually requested when a user logs out of client application.
Note that the access token will remain valid until it reaches its expiry time but it will not be able to refresh the access token.
Responses
Status: 204 No content
Status: 401 Unauthorized
Examples
204 No Content
$ curl -X DELETE -v https://api.methodgrid.com/v1/authenticate -H 'Authorization: Bearer {accessToken}'
Get access token using email/password credentials
POST /authenticate
No Authorization header is required
If credentials are valid, will return new accessToken and refreshToken.
Note that any access tokens that are invalidated will remain valid until they expire but once expired it will not be possible to refresh that access token.
Parameters
{
password
subdomain (optional)
}
Responses
Status: 200 OK
{
"accessToken": "accessToken",
"refreshToken": "refreshToken"
}
accessToken expires after 1 hour.
refreshToken expires after 7 days.
Status: 400 Bad Request
{
"status": 400,
"type": "???",
"title": "Missing parameters",
"detail": "api\\methodgrid\\com\\Http\\Exception\\BadRequestException: Expecting either email/password, refreshToken",
"instance": ""
}
Status: 401 Unauthorized
{
"status": 401,
"type": "???",
"title": "Invalid credentials.",
"detail": "api\\methodgrid\\com\\Http\\Exception\\UnauthorizedException: The supplied credentials are incorrect",
"instance": "POST https://api.methodgrid.com/v1/authenticate"
}
Examples
200 OK
$ curl -X POST -v https://api.methodgrid.com/v1/authenticate -d 'email={email}' -d 'password={password}'
400 Bad Request
$ curl -X POST -v https://api.methodgrid.com/v1/authenticate
401 Unauthorized
$ curl -X POST -v https://api.methodgrid.com/v1/authenticate -d 'email=invalid' -d 'password=invalid'
Get access token using refresh token
POST /authenticate
Authorization header is required and should contain the accessToken that corresponds to the given refreshToken.
If refreshToken is valid, will return new accessToken and refreshToken.
Parameters
{
refreshToken
}
Responses
Status: 200 OK
{
"accessToken": "accessToken",
"refreshToken": "refreshToken"
}
accessToken expires after 1 hour.
refreshToken expires after 7 days.
Status: 400 Bad Request
{
"status": 400,
"type": "???",
"title": "Missing parameters",
"detail": "api\\methodgrid\\com\\Http\\Exception\\BadRequestException: Expecting either email/password, refreshToken",
"instance": ""
}
Status: 500 Internal Server Error
{
"status": 500,
"type": "App\\Domain\\Exception\\NotFoundException",
"title": "???",
"detail": "",
"instance": "???"
}
Examples
200 OK
$ curl -X POST -v https://api.methodgrid.com/v1/authenticate -H 'Authorization: Bearer {accessToken}' -d 'refreshToken={refreshToken}'
400 Bad Request
$ curl -X POST -v https://api.methodgrid.com/v1/authenticate
500 Internal Server Error
$ curl -X POST -v https://api.methodgrid.com/v1/authenticate -H 'Authorization: Bearer {accessToken}' -d 'refreshToken=invalid'
Elements
List elements
GET /elements
Authorization header is required.
Responses
Status: 501 Not Implemented
{
"status": 501,
"type": "???",
"title": "Not Implemented",
"detail": "api\\methodgrid\\com\\Http\\Exception\\NotImplementedException",
"instance": ""
}
OPTIONS /elements
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/elements -H 'Authorization: Bearer {accessToken}'
Get element details
GET /elements/{elementIdentifier}
Authorization header is required.
Basic details of element.
Links to sub-resources (tasks).
No element area structure is imposed on tasks collection it is just a list of all the tasks in the element.
Responses
Status: 200 OK
{
"data": {
"identifier": "identifier",
"name": "name",
"tasks": {
"data": [
{
"data": {
"identifier": "identifier",
"description": "description"
},
"meta": {
"links": [
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/tasks/{taskIdentifier}"
}
]
}
},
...
...
],
"meta": {
"count": 3
}
}
},
"meta": {
"links": [
{
"rel": "comments",
"href": "https://api.methodgrid.com/v1/elements/{elementIdentifier}/comments"
},
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/elements/{elementIdentifier}"
}
]
}
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/elements/{elementIdentifier} -H 'Authorization: Bearer {accessToken}'
Grids
List grids
GET /grids
Authorization header is required.
Responses
Status: 501 Not Implemented
{
"status": 501,
"type": "???",
"title": "Not Implemented",
"detail": "api\\methodgrid\\com\\Http\\Exception\\NotImplementedException",
"instance": ""
}
OPTIONS /grids
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/grids -H 'Authorization: Bearer {accessToken}'
Get grid details
GET /grids/{gridIdentifier}
Authorization header is required.
Basic details of grid.
Links to sub-resources (elements).
No stage/theme structure is imposed on elements collection it is just a list of all the elements in the grid.
Responses
Status: 200 OK
{
"data": {
"elements": {
"data": [
{
"data": {
"identifier": "identifier",
"title": "title"
},
"meta": {
"links": [
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/elements/{elementIdentifier}"
}
]
}
},
...
...
]
"meta": {
"count": 33
}
},
"identifier": "identifier",
"name": "name"
},
"meta": {
"links": [
{
"rel": "comments",
"href": "https://api.methodgrid.com/v1/grids/{gridIdentifier}/comments"
},
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/grids/{gridIdentifier}"
}
]
}
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/grids/{gridIdentifier} -H 'Authorization: Bearer {accessToken}'
Me
Get basic details with links to sub-resources
GET /me
Authorization header is required.
Basic details of member.
Links to sub-resources (analytics, elements, folders, grids, settings, tasks).
Responses
Status: 200 OK
{
"data": {
"full-name": "full-name",
"id": id,
"identifier": "identifier"
},
"meta": {
"links": [
{
"rel": "analytics",
"href": "https://api.methodgrid.com/v1/me/analytics"
},
{
"rel": "elements",
"href": "https://api.methodgrid.com/v1/me/elements"
},
{
"rel": "folders",
"href": "https://api.methodgrid.com/v1/me/folders"
},
{
"rel": "grids",
"href": "https://api.methodgrid.com/v1/me/grids"
},
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/me/"
},
{
"rel": "settings",
"href": "https://api.methodgrid.com/v1/me/settings"
},
{
"rel": "tasks",
"href": "https://api.methodgrid.com/v1/me/tasks"
}
]
}
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/me -H 'Authorization: Bearer {accessToken}'
OPTIONS /me
Get my analytics
GET /me/analytics
Authorization header is required
Responses
Status: 200 OK
{
"data": {
"elements": {
"data": {
"open": {
"data": {
"count-all": 999,
"count-assigned": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=open"
}
]
}
},
"overdue": {
"data": {
"count-all": 2,
"count-assigned": 2
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=overview"
}
]
}
},
"due-this-week": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1617580800
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=due-this-week"
}
]
}
},
"due-next-week": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1618185600
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=due-next-week"
}
]
}
},
"due-in-two-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1618790400
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=due-in-two-weeks"
}
]
}
},
"due-in-three-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1619395200
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=due-in-three-weeks"
}
]
}
},
"due-in-four-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1620000000
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=due-in-four-weeks"
}
]
}
},
"due-in-five-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1620604800
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=due-in-five-weeks"
}
]
}
},
"due-in-six-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1621209600
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=due-in-six-weeks"
}
]
}
},
"flagged": {
"data": {
"count-all": 1,
"count-assigned": 1
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/elements?filter=flagged"
}
]
}
}
},
"meta": []
},
"grids": {
"data": {
"open": {
"data": {
"count-all": 15,
"count-assigned": 3
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=open"
}
]
}
},
"overdue": {
"data": {
"count-all": 5,
"count-assigned": 3
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=overview"
}
]
}
},
"due-this-week": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1617580800
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=due-this-week"
}
]
}
},
"flagged": {
"data": {
"count-all": 1,
"count-assigned": 1
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=flagged"
}
]
}
}
},
"meta": []
},
"overview": {
"data": {
"red": {
"data": {
"label": "Red",
"count": 1,
"percent": 6
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=red"
}
]
}
},
"amber": {
"data": {
"label": "Amber",
"count": 1,
"percent": 6
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=amber"
}
]
}
},
"green": {
"data": {
"label": "Green",
"count": 1,
"percent": 6
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=green"
}
]
}
},
"complete": {
"data": {
"label": "Complete",
"count": 0,
"percent": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=complete"
}
]
}
},
"none": {
"data": {
"label": "None",
"count": 12,
"percent": 80
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=none"
}
]
}
}
},
"meta": []
},
"tasks": {
"data": {
"open": {
"data": {
"count-all": 999,
"count-assigned": 1
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=open"
}
]
}
},
"overdue": {
"data": {
"count-all": 2,
"count-assigned": 2
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=overview"
}
]
}
},
"due-this-week": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1617580800
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=due-this-week"
}
]
}
},
"due-next-week": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1618185600
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=due-next-week"
}
]
}
},
"due-in-two-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1618790400
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=due-in-two-weeks"
}
]
}
},
"due-in-three-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1619395200
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=due-in-three-weeks"
}
]
}
},
"due-in-four-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1620000000
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=due-in-four-weeks"
}
]
}
},
"due-in-five-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1620604800
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=due-in-five-weeks"
}
]
}
},
"due-in-six-weeks": {
"data": {
"count-all": 0,
"count-assigned": 0,
"start-of-week": 1621209600
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=due-in-six-weeks"
}
]
}
},
"flagged": {
"data": {
"count-all": 1,
"count-assigned": 1
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=flagged"
}
]
}
}
},
"meta": []
},
"trends": {
"data": {
"2021-01-18": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-01-18"
}
]
}
},
"2021-01-25": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-01-25"
}
]
}
},
"2021-02-01": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-02-01"
}
]
}
},
"2021-02-08": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-02-08"
}
]
}
},
"2021-02-15": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-02-15"
}
]
}
},
"2021-02-22": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-02-22"
}
]
}
},
"2021-03-01": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-03-01"
}
]
}
},
"2021-03-08": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-03-08"
}
]
}
},
"2021-03-15": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-03-15"
}
]
}
},
"2021-03-22": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-03-22"
}
]
}
},
"2021-03-29": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-03-29"
}
]
}
},
"2021-04-05": {
"data": {
"red": 0,
"amber": 0,
"green": 0,
"complete": 0
},
"meta": {
"links": [
{
"rel": "detail",
"href": "https://api.methodgrid.com/v1/me/grids?filter=2021-04-05"
}
]
}
}
},
"meta": []
}
},
"meta": {
"links": [
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/me/analytics"
},
[
{
"rel": "help",
"href": "https://help.methodgrid.com/help/how-can-i-see-an-overview-of-all-grids-assigned-to-me-and-overall"
}
]
]
}
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/me/analytics -H 'Authorization: Bearer {accessToken}'
OPTIONS /me/analytics
List my elements
GET /me/elements
Authorization header is required
Parameters
Filters can be combined as a comma separated string e.g. filter=assigned,overdue.
filter=assigned
List elements assigned to me.
filter=flagged
List elements with a flag.
filter=overdue
List elements that are overdue.
due-date-from=DD-MM-YYYY
List elements with a due date after given value.
due-date-to=DD-MM-YYYY
List elements with a due date before given value.
Responses
Status: 200 OK
{
"data": [
{
"data": {
"assigned-to": {
"data": {
"identifier": "identifier",
"name": "name"
},
"meta": []
},
"due-date": 1617145199,
"folder": {
"data": {
"name": "name"
},
"meta": {
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/folders/{folderIdentifier}",
"href-app": "https://app.methodgrid.com/grids/p/{folderIdentifier}"
}
},
"grid": {
"data": {
"name": "name"
},
"meta": {
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/grids/{gridIdentifier}",
"href-app": "https://app.methodgrid.com/grid/{gridIdentifier}"
}
},
"identifier": "identifier",
"isFlagged": true,
"name": "name",
"stage": {
"data": {
"name": "name"
},
"meta": []
},
"status": "OVERDUE",
"theme": {
"data": {
"name": "name"
},
"meta": []
}
},
"meta": {
"links": [
{
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/elements/{elementIdentifier}",
"href-app": "https://app.methodgrid.com/grid/{gridIdentifier}/element/{elementIdentifier}"
}
]
}
},
...
...
],
"meta": {
"count": 2,
"links": [
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/me/elements?filter=overdue"
}
],
"pagination": null
}
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/me/elements -H 'Authorization: Bearer {accessToken}'
$ curl -v https://api.methodgrid.com/v1/me/elements?filter=overdue -H 'Authorization: Bearer {accessToken}'
OPTIONS /me/elements
List my grids
GET /me/grids
Authorization header is required
Parameters
Filters can be combined as a comma separated string e.g. filter=assigned,overdue.
filter=assigned
List grids assigned to me.
filter=due-this-week
List grids due this week.
filter=flagged
List grids with a flag.
filter=overdue
List grids that are overdue.
filter=amber
List grids with a RAG value of amber.
filter=complete
List grids that are complete.
filter=green
List grids with a RAG value of green.
filter=none
List grids that have no RAG value.
filter=red
List grids with a RAG value of red.
due-date-from=DD-MM-YYYY
List grids with a due date after given value.
due-date-to=DD-MM-YYYY
List grids with a due date before given value.
Responses
Status: 200 OK
{
"data": [
{
"data": {
"due-date": 1607990399,
"elements-with-tasks": {
"data": {
"count": 1,
"percentage-complete": 0
},
"meta": []
},
"folder": {
"data": {
"name": ""
},
"meta": {
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/folders/{folderIdentifier}",
"href-app": "https://app.methodgrid.com/grids/p/{folderIdentifier}"
}
},
"identifier": "",
"isFlagged": true,
"name": "",
"owner": {
"data": {
"identifier": "identifier",
"name": "name"
},
"meta": []
},
"status": "Red"
},
"meta": {
"links": [
{
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/grids/{gridIdentifier}",
"href-app": "https://app.methodgrid.com/grid/{gridIdentifier}"
}
]
}
},
{
...
},
{
...
},
{
...
},
],
"meta": {
"count": 10,
"links": [
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/me/grids"
}
],
"pagination": {
"links": [
{
"rel": "first",
"href": "https://api.methodgrid.com/v1/me/grids?page=1"
},
{
"rel": "prev",
"href": "https://api.methodgrid.com/v1/me/grids?page=1"
},
{
"rel": "next",
"href": "https://api.methodgrid.com/v1/me/grids?page=2"
},
{
"rel": "last",
"href": "https://api.methodgrid.com/v1/me/grids?page=2"
},
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/me/grids?page=1"
}
],
"numPages": 2,
"numResults": 15,
"page": 1,
"perPage": 10
}
}
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/me/grids -H 'Authorization: Bearer {accessToken}'
$ curl -v https://api.methodgrid.com/v1/me/grids?filter=assigned -H 'Authorization: Bearer {accessToken}'
OPTIONS /me/grids
List my tasks
GET /me/tasks
Authorization header is required
Parameters
Filters can be combined as a comma separated string e.g. filter=assigned,overdue.
filter=assigned
List tasks assigned to me.
filter=flagged
List tasks with a flag.
filter=overdue
List tasks that are overdue.
due-date-from=DD-MM-YYYY
List grids with a due date after given value.
due-date-to=DD-MM-YYYY
List grids with a due date before given value.
Responses
Status: 200 OK
{
"data": [
{
"data": {
"assigned-to": {
"data": {
"identifier": "entityIdentifier",
"name": "name"
},
"meta": []
},
"description": "description",
"due-date": 1615852799,
"element": {
"data": {
"name": "name"
},
"meta": {
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/elements/{elementIdentifier}",
"href-app": "https://app.methodgrid.com/grid/ewfoxt/element/{elementIdentifier}"
}
},
"folder": {
"data": {
"name": "name"
},
"meta": {
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/folders/{folderIdentifier}",
"href-app": "https://app.methodgrid.com/grids/p/{folderIdentifier}"
}
},
"grid": {
"data": {
"name": "name"
},
"meta": {
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/grids/{gridIdentifier}",
"href-app": "https://app.methodgrid.com/grid/{gridIdentifier}"
}
},
"identifier": "taskIdentifier",
"isFlagged": false,
"reminder-date": "TBD",
"stage": {
"data": {
"name": "name"
},
"meta": []
},
"status": "OVERDUE",
"theme": {
"data": {
"name": "name"
},
"meta": []
}
},
"meta": {
"links": [
{
"rel": "self",
"href-api": "https://api.methodgrid.com/v1/tasks/{taskIdentifier}",
"href-app": "https://app.methodgrid.com/grid/ewfoxt/element/{elementIdentifier}"
}
]
}
},
...
],
"meta": {
"count": 2,
"links": [
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/me/tasks?filter=overdue"
}
],
"pagination": null
}
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/me/tasks -H 'Authorization: Bearer {accessToken}'
$ curl -v https://api.methodgrid.com/v1/me/tasks?filter=assigned -H 'Authorization: Bearer {accessToken}'
OPTIONS /me/tasks
Tasks
List tasks
GET /tasks
Authorization header is required.
Responses
Status: 501 Not Implemented
{
"status": 501,
"type": "???",
"title": "Not Implemented",
"detail": "api\\methodgrid\\com\\Http\\Exception\\NotImplementedException",
"instance": ""
}
OPTIONS /tasks
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/tasks -H 'Authorization: Bearer {accessToken}'
Get task details
GET /tasks/{taskIdentifier}
Authorization header is required.
Basic details of task.
Responses
Status: 200 OK
{
"data": {
"description": "description",
"identifier": "taskIdentifier"
},
"meta": {
"links": [
{
"rel": "comments",
"href": "https://api.methodgrid.com/v1/tasks/{taskIdentifier}/comments"
},
{
"rel": "self",
"href": "https://api.methodgrid.com/v1/tasks/{taskIdentifier}"
}
]
}
}
Examples
200 OK
$ curl -v https://api.methodgrid.com/v1/tasks/{taskIdentifier} -H 'Authorization: Bearer {accessToken}'
Mark task as complete/incomplete
PUT /tasks/{taskIdentifier}
Authorization header is required.
Parameters
{
completed: Y|N
}
Responses
Status: 204 No Content
Examples
204 No Content
$ curl -X PUT -v https://api.methodgrid.com/v1/tasks/{taskIdentifier} -H 'Authorization: Bearer {accessToken}' -d 'completed="Y"'