Quire API API Reference
Introduction
Welcome to the reference for the Quire REST API!
The Quire REST API provides a broad set of operations and resources that:
- Consistently do repetitive or tedious tasks.
- Chain a process together for your team’s process and workflow.
Want to share your thoughts on how Quire API works for you? Tell us how you feel about using our API and what we can do to make it better.
REST is a web-service protocol for rapid development by using HTTP and JSON technology.
API Changelog
You can find the Changelog of the API Reference in the Quire Community.
Authentication
OAuth v2.0
Quire uses OAuth v2.0 to authenticate your app to access the Quire REST API on behalf of users without getting their password.
Authenticating via OAuth2 requires the following steps:
- Register Your Application on Quire
- Ask a Quire User to Grant Access to Your Application
- Retrieve an Access Token
- Make Authenticated Requests
Register Your Application on Quire
1. Give your app a cool name
Your app deserves a cool name that lives up to its wide broad of great features.
All of the app users will see this name in public, so think carefully!
2. Choose the Quire Organization that your app belongs to
You can choose an organization in Quire that your app belongs to.
If one day you decide to leave the organization, you will lose the authority to manage the app.
3. Redirect URL
When users grant your app authorization request, users will be directed to the configured URL that you’ve set.
4. Choose permission scopes
You can set permission on what your app can do with Quire. There are several options for you to choose from.
Note: If none of the options is selected, the app can only read user’s data.
5. Development Client ID and Client Secret
The Client ID and Client secret will be automatically generated as you create an app.
The Client ID is a unique ID to identify your app.
You should keep your client secret safe, which means you should never share your client secret with anyone. If you choose to regenerate the client secret, the old one will immediately become invalid.
6. Update your App
If your app hasn't been published to Quire App Directory, it will remain as unpublished status. You can still use the configured shareable link in the Developer App Console Distribution to share the app with other users for testing or integration.
When you make changes to the app, you can use the shareable link to access the development copy as well. Working on your development copy will not affect your live App Directory app. When your updated app is ready to be published and replaced the old version on Quire App Directory, your published app will have a different Client ID to the unpublished one.
There are two sets of Client ID and Client Secret.
Development set
- should be used during developing and testing internally of the app.Production set
- should be used once your app is ready and published on Quire App Directory.
Fulfill Authorization Request
Ask a Quire User to Grant Access to Your Application
Once registering your application, you can ask your user to grant access to your application.
The authorization endpoint lets users grant your app access to the requested permissions.
The authorization endpoint should look like this:
https://quire.io/oauth?client_id=your-client-ID&redirect_uri=your-redirect-uri
After your user clicks Allow
, the access will be granted, and he will be redirected to the URL you specified in the redirect_uri
parameter with an authorization code provided as a query parameter called code
.
After your app is granted, you can have an authorization code to exchange access token for access Quire API. The redirect_uri
is optional. If not being specified, we will automatically use the one that is previously detected in the app. If specified, the redirect URL must start with the prefix of the one that was previously detected in the app.
Parameter | Value |
---|---|
client_id | {your-client-ID} |
redirect_uri | Optional. The redirect URL after granted. If specified, it must match the redirect URL specified in your app's config. Otherwise, the configured URL will be used. |
state | Optional. A random string generated by your app to protect from XSRF. |
Retrieve Access Token
To retrieve the access token, you have to post a request to https://quire.io/oauth/token
with the following data:
Parameter | Value |
---|---|
grant_type | authorization_code |
code | {your-authorization-code} |
client_id | {your-client-ID} |
client_secret | {your-client-secret} |
curl -X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code&code=Your_code_from_previous_step&client_id=Your_app_client_id&client_secret=Your_app_client_secret" \
https://quire.io/oauth/token
Then, the access token will be returned in the response's body.
{
"access_token":"ACCESS_TOKEN",
"token_type": "bearer",
"expires_in":2592000,
"refresh_token":"REFRESH_TOKEN"
}
The token should be kept carefully and permanently since you need it to access every Quire API.
Use Access Token to Access Quire API
In each request, the access token must be put in the header. The header name is Authorization
and the value is Bearer your_token
.
After you exchange the access token, your app can make requests to Quire API on behalf of the authorized users.
curl -H 'Authorization: Bearer {access_token}' \
https://quire.io/api/user/id/me
{
"email": "[email protected]",
"website": "https://coolwebsites.com",
"id": "My_ID",
"description": "This is *cool*!",
"url": "https://quire.io/u/My_ID",
"nameText": "My Name",
"nameHtml": "My Name",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"iconColor": "37",
"name": "My Name",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
Token Expiration
A refresh token might stop working for one of these reasons:
- The user has revoked your app's access.
- The refresh token has not been used for 6 months.
Publish App
By default, your app will be set as Private. You can change the app distribution to Public so that other Quire users can install your app to their workspace as well.
If your app is made available on Quire App Directory and you want to delete the app, you should communicate with your users first before depreciating the app.
WebHook
When one event on Quire is triggered, the system will send a payload to the webhook's configured URL.
A webhook is used by Quire to call an app, while Quire API is used by an app to call Quire. To receive these events, you have to specify a valid URL for Webhooks when configuring your app.
System Events
A system event is used to notify your app about system or app's activities.
Token Expiration
When the token has been expired or revoked, an event will be sent to your app. You can clean up your storage if necessary.
{
"type": "system",
"token": "hook-token-defined-by-you",
"secret": "secret-defined-by-you",
"data": {
"type": "token-revocation",
"token": "the-refresh-token"
}
}
Notification Events
A notification is the information about a update (aka., an activity). Here is an example:
{
"type": "notification",
"token": "hook-token-defined-by-you",
"secret": "secret-defined-by-you",
"data": {
"type": 0, //activity's type
"when": "2019-09-30T08:20:12.000Z",
"what": {
"oid": "YxjapXXRCOYxoaiCT4tT3OQm", //OID of a task, project, or organization depending on type
"id": 101,
"name": "Brand new start"
},
"user": {
"oid": "1AbDEFed2A5031BEDDweqmde", //OID of the user
"id": "john.doer",
"name": "John Doer"
},
"message": "<a href=\"https://quire.io/u/john.doer\">John Doer</a> added <a href=\"https://quire.io/w/MyProjects/101\">Brand new start</a>",
"text": "John Doer added Brand new start",
"url": "https://quire.io/w/MyProjects/101"
}
}
-
There is an optional field called
value
in the map of thedata
field. It contains the detailed information in a map instance. For example, it contains the assignee's ID, name and URL if it is an assignment. -
Also, if the notification is about start or due, there will be another field called
due
in the map of thedata
field. It is the date time formatted in user's locale and time zone. -
There is an addition field called
tasks
for activities that can affect multiple tasks. The field is a collection of OIDs of tasks that were changed.- For example, completing a task will complete its subtasks too. And, you can find all of them from the
tasks
field. - Please refer to Activity Types.
- For example, completing a task will complete its subtasks too. And, you can find all of them from the
Registration for Notifications
If the app wants to receive notifications of a specific projects or tasks, it can
follow the projects or apps by sending a PUT
request to the URL. To add a follower, the body of the request can be:
Syntax 1
{
"addFollowers": ["app"]
}
where app
is a keyword. It indicates that the app would like to receives the notifications about the given target (a project or a task). That is, it'll add the app into the target's followers.
Syntax 2
In additions, you can specify additional information that will be passed as part of a notification in the following syntax.
"app|team|channel"
where app
is a keyword while team
and channel
are application specific. That is, you can pass any value to team
and channel
.
Note:
team
andchannel
can not contain'|'
.
For example,
{
"addFollowers": ["app|extra101"]
}
Then, the notification will carry additional field called team
with the value "extra101"
:
{
"type": "notification",
"team": "extra101",
"data": {
//refer the Notifications section for details
}
}
Another example:
{
"addFollowers": ["app|extra101|channel9"]
}
You'll get:
{
"type": "notification",
"team": "extra101",
"channel": "channel9",
"data": {
//refer the Notifications section for details
}
}
Syntax 3
"app|team|channel|mine"
where both app
and mine
are keywords. It is similar to
Syntax 2, except it receives only notifications that match the notification setting of the user.
If you don't need both team
and channel
, you can specify: "app|||mine
.
The notification setting can be found at
https://quire.io/w/YourProject?view=setting&tab=options#notifications
Syntax 4
"app|/path"
where app
is a keyword, and /path
is application specific. The path will be appended to the app's hook URL. For example, assume the app's hook URL is "https://super.app/hooks/standard"
, and the follower "app|/soc/id279/channel51". Then, the notification will be posted the following URL: "https://super.app/hooks/standard/soc/id279/channel51"
.
Syntax 5
If you'd like to pass additional information in this syntax, you can append it as follows.
"app|/path|channel"
For example, app|/soc/id8|box51
. Then, box51
will be part of the JON object sent to the hook URL.
{
"type": "notification"
"channel": "box51"
"data": {
//refer the Notifications section for details
}
}
Responding and Retries
When receiving the notification, your Web Hook shall return a status code between 200 and 299 to indicate success.
If 403 or 404 is returned, the registration will be removed, so called unfollow. That is, you won't receive further notifications for the same task or project your app follows.
If a status code other than above is returned, we will retry 10 minutes later, then 1 hour later, 1 day later and 3 days later.
Activities Types
Rate Limits
To protect the stability of the API and keep it available to all users, Quire enforces multiple kinds of rate limiting. Requests that hit any of our rate limits will receive a 429 Too Many Requests
response. We may change these quotas or add new quotas in the future.
Here are the limits for free plans.
Plan | Maximum requests per organization, per minute | Maximum requests per organization, per hour |
---|---|---|
Free | 25 | 120 |
Note: the limit is per-organization. It sums up the total number of all accesses from all applications for each organization. For more quota, please refer to Pricing.
Size limits
The size of each request can't be larger than 1MB. Requests that hit this limit will receive a 413 Content too large
response.
Status Codes
Code | Meaning | Description |
---|---|---|
200 | Success | Request successful |
400 | Bad Request | You're using a wrong parameter, or passing incorrect data. |
401 | Unauthorized | Invalid or expired token. |
403 | Forbidden | Not authorized to access the resource. |
404 | Not Found | The specified resource could not be found. |
405 | Method not allowed | Method not allowed or supported. |
409 | Conflict | There is already a resource with the same criteria. |
413 | Content too large | The request's content is larger than 1MB. |
418 | Not valid JSON content | The request's content doesn't appear to be JSON. |
429 | Too Many Requests | Exceeded the rate limit for API calls |
500 | Internal Server Error | There is an unexpected error. |
503 | Service Unavailable | Server is down for maintenance. |
Error Responses
The following JSON data is returned in the response body when an error occurs.
{
"code": a_number,
"message": "an error message here"
}
Error Code | Meaning |
---|---|
100 | General authentication error. |
400 | Bad request including wrong request body, wrong parameter and so on. |
401 | Invalid or expired token. |
403 | Forbidden. |
404 | Resource not found. |
405 | Method not allowed. |
413 | Request too large. |
429 | Too many invocations. |
469 | Quota exceeded, such as number of projects and number of members. |
500 | General invocation error. Most likely, an internal error. |
API Endpoint
https://quire.io/api
Terms of Service: https://quire.io/terms
Contact: [email protected]
Schemes: https
Version: 1.0.0
comment
A comment that an user can put to a task or project.
Add a new comment to a project.
Add a new comment to a project.
ID of the project that new comment will be added to
The content of the new comment.
(Optional) Whether to pin this comment. Default: false
(Optional) Specify true if you'd like to make this new comment as created by the app. Default: false -- the comment is marked as created by the user authorizing the app.
Request Example
{
"description": "Adjust style",
"pinned": false,
"asUser": true
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Add a new comment to a task.
Add a new comment to a task.
ID of the project that the task is in
ID of the task that new comment will be added to
The content of the new comment.
(Optional) Whether to pin this comment. Default: false
(Optional) Specify true if you'd like to make this new comment as created by the app. Default: false -- the comment is marked as created by the user authorizing the app.
Request Example
{
"description": "Adjust style",
"pinned": false,
"asUser": true
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Add a new comment to a task or a project.
Add a new comment to a task or a project. If the given OID is a project, the comment will be added to a project. If a task, the comment will be added to a task.
OID of the project or task that new comment will be added to
The content of the new comment.
(Optional) Whether to pin this comment. Default: false
(Optional) Specify true if you'd like to make this new comment as created by the app. Default: false -- the comment is marked as created by the user authorizing the app.
Request Example
{
"description": "Adjust style",
"pinned": false,
"asUser": true
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get a comment with project's OID
Returns the full comment record of the given OID.
OID of the project that the comment is in.
OID of comment that needs to be feteched.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get a comment with project's ID
Returns the full comment record of the given OID.
ID of the project that the comment is in.
OID of comment that needs to be feteched.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get all comments of the given task.
Returns all comment records of the given task by its ID.
ID of the project.
ID of the task
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Get comments added to the given object.
Returns all comment records of the given object that can be a project or a task.
OID of project or task that comments will be be fetched from.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Update an existing comment with project's OID
Updates an existing comment, and returns the complete updated comment record.
OID of the project that the comment is in.
OID of the comment that needs to be updated.
(Optional) The new content of the comment.
(Optional) Whether to pin this comment.
Request Example
{
"description": "Adjust style",
"pinned": false
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Update an existing comment with project's ID
Updates an existing comment, and returns the complete updated comment record.
ID of the project that the comment is in.
OID of the comment that needs to be updated.
(Optional) The new content of the comment.
(Optional) Whether to pin this comment.
Request Example
{
"description": "Adjust style",
"pinned": false
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Delete an existing comment with project's OID
Delete an existing comment.
OID of the project that the comment is in.
OID of comment that needs to be deleted
ok
Response Content-Types: application/json
Delete an existing comment with project's ID
Delete an existing comment.
ID of the project that the comment is in.
OID of comment that needs to be deleted
ok
Response Content-Types: application/json
notification
Sends a notification the user who granted the access. It is usually to report an error to the user.
Send a notification.
Send a notification to the user.
The message
(Optional) The URL of the message.If not omitted, a hyperlink will be generated to enclose the message.
Request Example
{
"message": "Unable to synchronize",
"url": "https://superheros.com/sync"
}
ok
Response Content-Types: application/json
organization
An organization is a group of projects where members collaborate at once.
Get an organization by its ID.
Returns the complete organization record of the given OID.
ID of organization that needs to be fetched
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Organization",
"id": "my_organization",
"nameText": "My Organization",
"nameHtml": "My Organization",
"email": "[email protected]",
"url": "https://quire.io/c/my_organization",
"website": "https://coolwebsites.com",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"followers": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get an organization by its OID.
returns the complete organization record.
OID of organization that needs to be fetched
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Organization",
"id": "my_organization",
"nameText": "My Organization",
"nameHtml": "My Organization",
"email": "[email protected]",
"url": "https://quire.io/c/my_organization",
"website": "https://coolwebsites.com",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"followers": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get all organizations.
Returns the organization records for all organizations that the current user can grant to this application.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "My Organization",
"id": "my_organization",
"nameText": "My Organization",
"nameHtml": "My Organization",
"email": "[email protected]",
"url": "https://quire.io/c/my_organization",
"website": "https://coolwebsites.com",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"followers": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Update an organization by its ID.
A specific, existing organization can be updated by making a PUT request on the URL for that organization. Returns the complete updated organization record.
ID of organization that needs to be updated
(Optional) OID of the users to replace the followers of this organization. Please refer to addFollowers()
for more details.
(Optional) OID of the followers to be added to this organization.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) OID of the followers to be removed from this organization. Please refer to addFollowers()
for more details.
Request Example
{
"followers": [
"string"
],
"addFollowers": [
"string"
],
"removeFollowers": [
"string"
]
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Organization",
"id": "my_organization",
"nameText": "My Organization",
"nameHtml": "My Organization",
"email": "[email protected]",
"url": "https://quire.io/c/my_organization",
"website": "https://coolwebsites.com",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"followers": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Update an organization by its OID.
A specific, existing organization can be updated by making a PUT request on the URL for that organization. Returns the complete updated organization record.
OID of organization that needs to be updated
(Optional) OID of the users to replace the followers of this organization. Please refer to addFollowers()
for more details.
(Optional) OID of the followers to be added to this organization.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) OID of the followers to be removed from this organization. Please refer to addFollowers()
for more details.
Request Example
{
"followers": [
"string"
],
"addFollowers": [
"string"
],
"removeFollowers": [
"string"
]
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Organization",
"id": "my_organization",
"nameText": "My Organization",
"nameHtml": "My Organization",
"email": "[email protected]",
"url": "https://quire.io/c/my_organization",
"website": "https://coolwebsites.com",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"followers": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
partner
An external team (aka., a parnter) is a group of users that can access only tasks that are assigned to this team.
Get an external team (aka., a partner).
Returns the full external team record of the given OID.
OID of external team that needs to be fetched.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "UI design team",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get all external teams of the given project by its ID.
Returns all external team records of the given project by its ID.
ID of project to look for
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "UI design team",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Get all external teams of the given project by its OID.
Returns all external team records of the given project by its OID.
OID of the project to look for
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "UI design team",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
project
A project represents a prioritized list of tasks in Quire. It exists in a single organization and is accessible to a subset of users in that organization, depending on its permissions.
Export a project into a CSV string by the given ID.
Returns a CSV string containing the project, tasks, and so on. Note: it is allowed only for projects with professional plan or above. Also notice that the allowed number of invocation of this API is more restricted.
ID of project that needs to be exported
Task's status to match with. You can specify a value "active" for active tasks, "completed" for completed tasks, or "all" for all tasks. Default: all.
Whether to merge all values of the same header into one column. Example: All values for tags will be put in the same column. Default: false.
successful operation
Response Content-Types: text/csv
Response Example (200 OK)
"ID",Name,Status,Started,Completed,Priority,Start,Due,Assignee,Tag,Created,Created by,Description
#6,Task A,In Progress,"Mar 8, 2022",,Medium,,"Mar 8, 2022",,,"Mar 7, 2022",John,
"#6, #8",Task A1,To-Do,"Jan 24, 2022",,Urgent,,,,,"Mar 7, 2022",John,
#7,Task B,In Progress,"Jan 24, 2022",,Urgent,,"Mar 4, 2022",,,"Mar 7, 2022",John,
"#7, #9",Task B1,In Progress,"Jan 24, 2022",,Medium,,,,,"Mar 7, 2022",John,
"#7, #4",Task B2,In Progress,"Mar 2, 2022",,Medium,,"Mar 8, 2022",,,"Mar 2, 2022",John,
Export a project into a JSON map by the given ID.
Returns a JSON map containing the project, all tasks, and so on. Note: it is allowed only for projects with professional plan or above. Also notice that the allowed number of invocation of this API is more restricted.
ID of project that needs to be exported
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Project",
"id": "My_Project",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
Export a project into a JSON map by the given OID.
Returns a JSON map containing the project, all tasks, and so on. Note: it is allowed only for projects with professional plan or above. Also notice that the allowed number of invocation of this API is more restricted.
OID of project that needs to be exported
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Project",
"id": "My_Project",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
Export a project into a CSV string by the given OID.
Returns a CSV string containing the project, tasks, and so on. Note: it is allowed only for projects with professional plan or above. Also notice that the allowed number of invocation of this API is more restricted.
OID of project that needs to be exported
Task's status to match with. You can specify a value "active" for active tasks, "completed" for completed tasks, or "all" for all tasks. Default: all.
Whether to merge all values of the same header into one column. Example: All values for tags will be put in the same column. Default: false.
successful operation
Response Content-Types: text/csv
Response Example (200 OK)
"ID",Name,Status,Started,Completed,Priority,Start,Due,Assignee,Tag,Created,Created by,Description
#6,Task A,In Progress,"Mar 8, 2022",,Medium,,"Mar 8, 2022",,,"Mar 7, 2022",John,
"#6, #8",Task A1,To-Do,"Jan 24, 2022",,Urgent,,,,,"Mar 7, 2022",John,
#7,Task B,In Progress,"Jan 24, 2022",,Urgent,,"Mar 4, 2022",,,"Mar 7, 2022",John,
"#7, #9",Task B1,In Progress,"Jan 24, 2022",,Medium,,,,,"Mar 7, 2022",John,
"#7, #4",Task B2,In Progress,"Mar 2, 2022",,Medium,,"Mar 8, 2022",,,"Mar 2, 2022",John,
Get a project by its ID.
Returns the complete project record of the given ID.
ID of project that needs to be fetched
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Project",
"id": "my_project",
"nameText": "My Project",
"nameHtml": "My Project",
"rootCount": 5,
"organization": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"url": "https://quire.io/w/my_project",
"activeCount": 20,
"taskCount": 30,
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"editedAt": "2018-12-22T02:06:58.158Z",
"archivedAt": "2018-12-22T02:06:58.158Z",
"followers": [
"#/definitions/SimpleIdentity"
],
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get a project by its OID.
Returns the complete project record of the given OID.
OID of project that needs to be fetched
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Project",
"id": "my_project",
"nameText": "My Project",
"nameHtml": "My Project",
"rootCount": 5,
"organization": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"url": "https://quire.io/w/my_project",
"activeCount": 20,
"taskCount": 30,
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"editedAt": "2018-12-22T02:06:58.158Z",
"archivedAt": "2018-12-22T02:06:58.158Z",
"followers": [
"#/definitions/SimpleIdentity"
],
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get all granted projects.
Returns the project records for all projects that the current user can grant to this application.
Whether to return archived projects. By default, archived projects won't be returned. If the parameter is specified without value, true
is assumed.
Whether to return only projects that you can add tasks to. Default: false
. If the parameter is specified without value, true
is assumed.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "My Project",
"id": "my_project",
"nameText": "My Project",
"nameHtml": "My Project",
"rootCount": 5,
"organization": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"url": "https://quire.io/w/my_project",
"activeCount": 20,
"taskCount": 30,
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"editedAt": "2018-12-22T02:06:58.158Z",
"archivedAt": "2018-12-22T02:06:58.158Z",
"followers": [
"#/definitions/SimpleIdentity"
],
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Get all granted projects of the organization by its ID.
Returns all project records of the given organization. Only granted projects will be returned.
ID of the organization
Whether to return archived projects. By default, archived projects won't be returned. If the parameter is specified without value, true
is assumed.
Whether to return only projects that you can add tasks to. Default: false
. If the parameter is specified without value, true
is assumed.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "My Project",
"id": "my_project",
"nameText": "My Project",
"nameHtml": "My Project",
"rootCount": 5,
"organization": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"url": "https://quire.io/w/my_project",
"activeCount": 20,
"taskCount": 30,
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"editedAt": "2018-12-22T02:06:58.158Z",
"archivedAt": "2018-12-22T02:06:58.158Z",
"followers": [
"#/definitions/SimpleIdentity"
],
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Get all granted projects of the organization by its OID.
Returns all project records of the given organization. Only granted projects will be returned.
OID of the organization.
Whether to return archived projects. By default, archived projects won't be returned. If the parameter is specified without value, true
is assumed.
Whether to return only projects that you can add tasks to. Default: false
. If the parameter is specified without value, true
is assumed.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "My Project",
"id": "my_project",
"nameText": "My Project",
"nameHtml": "My Project",
"rootCount": 5,
"organization": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"url": "https://quire.io/w/my_project",
"activeCount": 20,
"taskCount": 30,
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"editedAt": "2018-12-22T02:06:58.158Z",
"archivedAt": "2018-12-22T02:06:58.158Z",
"followers": [
"#/definitions/SimpleIdentity"
],
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Update a project by its ID.
Updates an existing project, and returns the complete updated project record.
ID of project that needs to be updated
(Optional) OID of the users to replace the followers of this project. Please refer to addFollowers()
for more details.
(Optional) OID of the followers to be added to this project.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) OID of the followers to be removed from this project. Please refer to addFollowers()
for more details.
Request Example
{
"followers": [
"tzufRLqCnud74dARyDSvjWDl",
"app"
],
"addFollowers": [
"sfsvLbDVPvi1QMf2GkDn7VSy"
],
"removeFollowers": [
"aBuz4MwfZ5CasOae6stnFa2f"
]
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Project",
"id": "my_project",
"nameText": "My Project",
"nameHtml": "My Project",
"rootCount": 5,
"organization": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"url": "https://quire.io/w/my_project",
"activeCount": 20,
"taskCount": 30,
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"editedAt": "2018-12-22T02:06:58.158Z",
"archivedAt": "2018-12-22T02:06:58.158Z",
"followers": [
"#/definitions/SimpleIdentity"
],
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Update a project by its OID.
Updates an existing project, and returns the complete updated project record.
OID of project that needs to be updated
(Optional) OID of the users to replace the followers of this project. Please refer to addFollowers()
for more details.
(Optional) OID of the followers to be added to this project.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) OID of the followers to be removed from this project. Please refer to addFollowers()
for more details.
Request Example
{
"followers": [
"tzufRLqCnud74dARyDSvjWDl",
"app"
],
"addFollowers": [
"sfsvLbDVPvi1QMf2GkDn7VSy"
],
"removeFollowers": [
"aBuz4MwfZ5CasOae6stnFa2f"
]
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "My Project",
"id": "my_project",
"nameText": "My Project",
"nameHtml": "My Project",
"rootCount": 5,
"organization": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"url": "https://quire.io/w/my_project",
"activeCount": 20,
"taskCount": 30,
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"editedAt": "2018-12-22T02:06:58.158Z",
"archivedAt": "2018-12-22T02:06:58.158Z",
"followers": [
"#/definitions/SimpleIdentity"
],
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
status
A task status is a value to indicate the progress of a task.
Add a new task status.
Add a new task status into a project.
OID of project that this new task status to be added to.
The name of the status
The value. It is a non-negative value to indicate the progress. The value must be unique. If it is great or equals to 100, it means the task has been completed.
(Optional) The color of the status.If not omitted, a color will be generated automatially.
Request Example
{
"name": "Doing",
"value": "true",
"color": "35"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Doing",
"value": 50,
"color": "35"
}
Add a new task status.
Add a new task status into a project.
ID of project that this new task status to be added to.
The name of the status
The value. It is a non-negative value to indicate the progress. The value must be unique. If it is great or equals to 100, it means the task has been completed.
(Optional) The color of the status.If not omitted, a color will be generated automatially.
Request Example
{
"name": "Doing",
"value": "true",
"color": "35"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Doing",
"value": 50,
"color": "35"
}
Get the task status of the given value.
Returns the full status record of the given value.
OID of project that the task status belongs to.
The status's value that needs to be fetched.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Doing",
"value": 50,
"color": "35"
}
Get the task status of the given value.
Returns the full status record of the given value.
ID of project that the task status belongs to.
The status's value that needs to be fetched.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Doing",
"value": 50,
"color": "35"
}
Get all statuses of the given project by its ID.
Returns all status records of the given project by its ID.
ID of project.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "Doing",
"value": 50,
"color": "35"
}
]
Get all statuses of the given project by its OID.
Returns all status records of the given project by its OID.
OID of the project.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "Doing",
"value": 50,
"color": "35"
}
]
Update a status.
Updates an existing status, and returns the complete updated record.
OID of project that the task status belongs to.
The status's value that needs to be updated.
(Optional) The new name of the status.
(Optional) The new value of the status. It is a non-negative value to indicate the progress. The value must be unique. If it is great or equals to 100, it means the task has been completed.
(Optional) The color of the status.
Request Example
{
"name": "Later",
"value": "true",
"color": "35"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Doing",
"value": 50,
"color": "35"
}
Update a status.
Updates an existing status, and returns the complete updated record.
ID of project that the task status belongs to.
The status's value that needs to be updated.
(Optional) The new name of the status.
(Optional) The new value of the status. It is a non-negative value to indicate the progress. The value must be unique. If it is great or equals to 100, it means the task has been completed.
(Optional) The color of the status.
Request Example
{
"name": "Later",
"value": "true",
"color": "35"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Doing",
"value": 50,
"color": "35"
}
Delete a status
Delete an existing status.
OID of project that the task status belongs to.
The status's value that needs to be deleted.
ok
Response Content-Types: application/json
Delete a status
Delete an existing status.
ID of project that the task status belongs to.
The status's value that needs to be deleted.
ok
Response Content-Types: application/json
storage
A storage to store application specific data. The application specific data is stored per access token. They will be deleted if the token is revoked or expired.
Get the application specific data of the given name.
Returns the application specific data of the given name If not found, it returns 404 (status code).Note: application specific data are stored per access token.
The name. Example: "latest"
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"myKey": "My data"
}
Get all stored application specific values with the given prefix.
Returns all stored application specific values that start with the given prefix. Note: at most 20 items are returned for each query.
A prefix (optional). Example: "foo".If not specified, all values are returned.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"currentProject": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"myList": [
"string"
],
"latest": {
"myKey": "My data"
}
}
Update the application specific data of the given name.
Updates the application specific data of the given name. If it doesn't exist, it adds the name to the given value. If the value is null, it is the same as deletion. It returns true if the value is updated or added successfully. Note: application specific data are stored per access token.
The name. Example: "latest"
Property name
Request Example
{
"myKey": "My data"
}
ok
Response Content-Types: application/json
Delete the application specific data of the given name
Delete the application specific data of the given name. It returns true if the value is deleted successfully, or false if the name doesn't exist. Note: application specific data are stored per access token.
The name. Example: "latest"
ok
Response Content-Types: application/json
sublist
A sublist is a collections of tasks. It represents a subset of all tasks.
Add a new sublist by owner's OID.
Add a new sublist by owner's OID
The type of the owner that this new sublist to be added to. It can be project
, organization
, folder
or smart-folder
. If omitted, project
is assumed. For example, /this_is_oid
is equivalent to /project/this_is_oid
.
OID of the owner that this new sublist to be added to.
The name of the sublist.
(Optional) ID of the sublist. If omitted, Quire will generate one automatically. It must be unquie in the whole project if specified
(Optional) The color of the icon representing this record. It is an index of our predefined color palette.
(Optional) An optional description about this task.
(Optional) A list of tasks' OID that belong to this sublist. Note: all of descendants will be included too.
(Optional) The image representing this record. It shall be one of the predined images: 'icon-view-list', 'icon-view-kanban', 'icon-briefcase-o', 'icon-rocket-o', 'icon-bug-o', 'icon-leaf-o', 'icon-clapperboard', 'icon-sitemap-o', 'icon-flash-on-o', 'icon-piggy-bank-o', 'icon-graduation-cap-o', 'icon-paper-plane-o', 'icon-globe-o', 'icon-music-o', 'icon-detail', 'icon-beach-o', 'icon-paper', 'icon-home-o', 'icon-building', 'icon-database-o', 'icon-microscope-o', 'icon-hamburger-o', 'icon-trophy-o', 'icon-thumbs-o-up', 'icon-thumbs-o-down', 'icon-smile-o', 'icon-frown-o', 'icon-meh-o', 'icon-bullseye', 'icon-square-dotted-o'
(Optional) Whether it is personal. If omitted, false is assumed.
(Optional) OID of the external team that this sublist belongs to.
(Optional) When this sublist was aimed to start.
(Optional) When this sublist was aimed to complete.
Request Example
{
"name": "Sublist 101",
"id": "Sublist101",
"iconColor": "37",
"description": "**Great** sublist to start with.",
"includes": [
"string"
],
"image": "icon-view-kanban",
"personal": false,
"partner": "rcBHBYXZSiyDRrHrWPutatfF",
"start": "2024-01-02",
"due": "2024-05-25"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
Add a new sublist by owner's ID.
Add a new sublist by owner's ID.
The type of the owner that this new sublist to be added to. It can be project
, organization
, folder
or smart-folder
. If omitted, project
is assumed. For example, /id/this_is_id
is equivalent to /id/project/this_is_id
.
ID of owner that this new sublist to be added to.
The name of the sublist.
(Optional) ID of the sublist. If omitted, Quire will generate one automatically. It must be unquie in the whole project if specified
(Optional) The color of the icon representing this record. It is an index of our predefined color palette.
(Optional) An optional description about this task.
(Optional) A list of tasks' OID that belong to this sublist. Note: all of descendants will be included too.
(Optional) The image representing this record. It shall be one of the predined images: 'icon-view-list', 'icon-view-kanban', 'icon-briefcase-o', 'icon-rocket-o', 'icon-bug-o', 'icon-leaf-o', 'icon-clapperboard', 'icon-sitemap-o', 'icon-flash-on-o', 'icon-piggy-bank-o', 'icon-graduation-cap-o', 'icon-paper-plane-o', 'icon-globe-o', 'icon-music-o', 'icon-detail', 'icon-beach-o', 'icon-paper', 'icon-home-o', 'icon-building', 'icon-database-o', 'icon-microscope-o', 'icon-hamburger-o', 'icon-trophy-o', 'icon-thumbs-o-up', 'icon-thumbs-o-down', 'icon-smile-o', 'icon-frown-o', 'icon-meh-o', 'icon-bullseye', 'icon-square-dotted-o'
(Optional) Whether it is personal. If omitted, false is assumed.
(Optional) OID of the external team that this sublist belongs to.
(Optional) When this sublist was aimed to start.
(Optional) When this sublist was aimed to complete.
Request Example
{
"name": "Sublist 101",
"id": "Sublist101",
"iconColor": "37",
"description": "**Great** sublist to start with.",
"includes": [
"string"
],
"image": "icon-view-kanban",
"personal": false,
"partner": "rcBHBYXZSiyDRrHrWPutatfF",
"start": "2024-01-02",
"due": "2024-05-25"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
Get an existing sublist by its ID.
Returns the full sublist record of the given ID.
The type of the owner that this sublist belongs to. It can be project
, organization
, folder
or smart-folder
. If omitted, project
is assumed. For example, /id/this_is_id
is equivalent to /id/project/this_is_id
.
ID of owner that this sublist belongs to.
ID of the sublist that needs to be fetched
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
Get an existing sublist by its OID
Returns the full sublist record of the given OID.
OID of sublist that needs to be fetched.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
Get all sublists of the given owner by its ID.
Returns all sublist records of the given owner by its ID.
The type of the owner. It can be project
, organization
, folder
or smart-folder
. If omitted, project
is assumed. For example, /list/id/this_is_id
is equivalent to /list/id/project/this_is_id
.
ID of the owner.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
]
Get all sublists of the given owner by its OID.
Returns all sublist records of the given owner by its OID.
The type of the owner. It can be project
, organization
, folder
or smart-folder
. If omitted, project
is assumed. For example, /list/this_is_oid
is equivalent to /list/project/this_is_oid
.
OID of the owner.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
]
Update a sublist by its ID.
Updates an existing sublist, and returns the complete updated record.
The type of the owner. It can be project
, organization
, folder
or smart-folder
. If omitted, project
is assumed. For example, /id/this_is_id
is equivalent to /id/project/this_is_id
.
ID of the owner.
(Optional) The name of the sublist.
(Optional) ID of the sublist.
(Optional) Specify true to archive this sublist. Or, specify false to undo the previous archiving if any.
(Optional) The color of the icon representing this record. It is an index of our predefined color palette.
(Optional) An optional description about this task.
(Optional) The image representing this record. It shall be one of the predined images: 'icon-view-list', 'icon-view-kanban', 'icon-briefcase-o', 'icon-rocket-o', 'icon-bug-o', 'icon-leaf-o', 'icon-clapperboard', 'icon-sitemap-o', 'icon-flash-on-o', 'icon-piggy-bank-o', 'icon-graduation-cap-o', 'icon-paper-plane-o', 'icon-globe-o', 'icon-music-o', 'icon-detail', 'icon-beach-o', 'icon-paper', 'icon-home-o', 'icon-building', 'icon-database-o', 'icon-microscope-o', 'icon-hamburger-o', 'icon-trophy-o', 'icon-thumbs-o-up', 'icon-thumbs-o-down', 'icon-smile-o', 'icon-frown-o', 'icon-meh-o', 'icon-bullseye', 'icon-square-dotted-o'
(Optional) When this sublist was aimed to start.
(Optional) When this sublist was aimed to complete.
(Optional) A list of changes to control what tasks to be added to or removed from this sublist.
Request Example
{
"name": "Sublist 101",
"id": "Sublist101",
"archived": true,
"iconColor": "37",
"description": "**Great** sublist to start with.",
"image": "icon-view-kanban",
"start": "2024-01-02",
"due": "2024-05-25",
"changes": [
{
"exclude": false,
"single": false,
"task": "2MmYOpJH_ZLeehIjjytH1Rwr"
}
]
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
Update a sublist by its OID.
Updates an existing sublist, and returns the complete updated record.
OID of sublist that needs to be updated
(Optional) The name of the sublist.
(Optional) ID of the sublist.
(Optional) Specify true to archive this sublist. Or, specify false to undo the previous archiving if any.
(Optional) The color of the icon representing this record. It is an index of our predefined color palette.
(Optional) An optional description about this task.
(Optional) The image representing this record. It shall be one of the predined images: 'icon-view-list', 'icon-view-kanban', 'icon-briefcase-o', 'icon-rocket-o', 'icon-bug-o', 'icon-leaf-o', 'icon-clapperboard', 'icon-sitemap-o', 'icon-flash-on-o', 'icon-piggy-bank-o', 'icon-graduation-cap-o', 'icon-paper-plane-o', 'icon-globe-o', 'icon-music-o', 'icon-detail', 'icon-beach-o', 'icon-paper', 'icon-home-o', 'icon-building', 'icon-database-o', 'icon-microscope-o', 'icon-hamburger-o', 'icon-trophy-o', 'icon-thumbs-o-up', 'icon-thumbs-o-down', 'icon-smile-o', 'icon-frown-o', 'icon-meh-o', 'icon-bullseye', 'icon-square-dotted-o'
(Optional) When this sublist was aimed to start.
(Optional) When this sublist was aimed to complete.
(Optional) A list of changes to control what tasks to be added to or removed from this sublist.
Request Example
{
"name": "Sublist 101",
"id": "Sublist101",
"archived": true,
"iconColor": "37",
"description": "**Great** sublist to start with.",
"image": "icon-view-kanban",
"start": "2024-01-02",
"due": "2024-05-25",
"changes": [
{
"exclude": false,
"single": false,
"task": "2MmYOpJH_ZLeehIjjytH1Rwr"
}
]
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
Delete a sublist by its ID
Delete an existing sublist of the given OID.
The type of the owner. It can be project
, organization
, folder
or smart-folder
. If omitted, project
is assumed. For example, /id/this_is_id
is equivalent to /id/project/this_is_id
.
ID of the owner.
ok
Response Content-Types: application/json
Delete a sublist by its OID
Delete an existing sublist of the given OID.
OID of sublist that needs to be deleted
ok
Response Content-Types: application/json
tag
A tag is a label that can be attached to any task in Quire.
Add a new tag.
Add a new tag into a project.
OID of project that this new tag to be added to. Specify "-" if you'd like to add it to the personal tasks that belong to no specific projects in My Tasks.
The name of the tag
(Optional) Whether this tag is global. If omitted, it is not glboal.
(Optional) The color of the tag.If not omitted, a color will be generated automatially.
Request Example
{
"name": "Later",
"global": true,
"color": "35"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"global": true,
"name": "Later",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Add a new tag.
Add a new tag into a project.
ID of project that this new tag to be added to. Specify "-" if you'd like to add it to the personal tasks that belong to no specific projects in My Tasks.
The name of the tag
(Optional) Whether this tag is global. If omitted, it is not glboal.
(Optional) The color of the tag.If not omitted, a color will be generated automatially.
Request Example
{
"name": "Later",
"global": true,
"color": "35"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"global": true,
"name": "Later",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get a tag.
Returns the full tag record of the given OID.
OID of tag that needs to be fetched.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"global": true,
"name": "Later",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get all tags of the given project by its ID.
Returns all tag records of the given project by its ID.
ID of project. Specify "-" if you'd like to retrieve tags from the personal tasks that belong to no specific projects in My Tasks.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"global": true,
"name": "Later",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Get all tags of the given project by its OID.
Returns all tag records of the given project by its OID.
OID of the project. Specify "-" if you'd like to retrieve tags from the personal tasks that belong to no specific projects in My Tasks.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"global": true,
"name": "Later",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Update a tag.
Updates an existing tag, and returns the complete updated record.
OID of tag that needs to be updated
(Optional) The new name of the tag.
(Optional) Whether this tag is global. If you specify false here, you have to specify "project" for what project you'd like to put the tag to.
(Optional) The color of the tag.
(Optional) OID of the project this tag shall be limited to. It is used only if "global" is also specified and false. Otherwise, it is simply ignored.
Request Example
{
"name": "Later",
"global": true,
"color": "35",
"project": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"global": true,
"name": "Later",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Delete a tag
Delete an existing tag of the given OID.
OID of tag that needs to be deleted
ok
Response Content-Types: application/json
task
The task is a piece of work to be done or undertaken. It is the basic object that you and your team can collaborate on.
Add a new task.
Add a new task into a project.
ID of project that this new task to be added to. The new task will be added as a root task. Specify "-" if you'd like to add it to the personal tasks that belong to no specific projects in My Tasks.
The name of the task.
(Optional) OID, ID or emails of the users that this task is assigned to.
(Optional) The recurring information of this task. It is null if it is not a recurring task.
freq
:daily
,weekly
,monthly
,yearly
interval
: The interval between each freq iteration. Default: 1.until
: The last recurrence is less than or equals to the specified value. Default: never ends.bymonth
: If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only iffreq
isyearly
. Default: 1 meaning January.byweekno
: If given, it must be an integer, meaning the week number, orlast
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
.byweekday
: If given, it must be an integer: 0 for Monday, 1 for Tuesday, and so on. Forweekly
, it is a list of integers, such as[1]
and[0, 3]
. When given, these values will define the weekdays where the recurrence will be applied.bydayno
: If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only formonthly
andyearly
.- Note:
byweekday
andbydayno
can not be specified at the same time.
- Note:
dupsubtasks
: Whether to duplicate the subtasks when the task is completed. Default: true.sincelatest
: Whether to repeat it since the last date the task is completed. It is available only fordaily
. Default: false.
- boolean
- integer
(Optional) Specify true or a positive integer to peekaboo this task and its subtasks, if any. Or, specify false to undo the previous peekaboo if any.
If a positive integer is specified, it is the number of days to peekaboo a task. If true, it won't be reshowed automatically.
Default: false.
(Optional) OID or ID of successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) Specify a value to your custom field. The name and value depends on your definition of the custom field.
- For Money type, please specify the value directly (without currency).
- For User or Task type, please specify the OID.
- For Duration type, please specify number of seconds.
- For multiple values, you can specify a list of values.
(Optional) OID, ID or emails of users who follow this task.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) An optional description about this task.
(Optional) Specify whether this task is a section. Default: false.
(Optional) Specify true if you'd like to make this new task as created by the app. Default: false -- the task is marked as created by the user authorizing the app.
(Optional) OID or names of the tags to be added to the new created task. Note: if tag's name is specified, it is case-insensitive.
(Optional) An optional start time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) An optional due time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) A list of subtasks to create.
(Optional) An optional priority. Its value must be between -1 (lowest) and 2 (highest). Default: 0.
(Optional) The estimated time to complete. If specified, it must be non-negative. Unit: seconds.
(Optional) An optional status. Its value must be between 0 and 100. Default: 0.
Request Example
{
"name": "Design new **logo**",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"followers": [
"tzufRLqCnud74dARyDSvjWDl"
],
"description": "This is a *cool* task.",
"section": true,
"asUser": true,
"tags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"tasks": [
"#/definitions/CreateTaskBody"
],
"priority": 0,
"etc": 0,
"status": 0
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Add a new task.
Add a new task into a project or a task.
OID of project or task that this new task to be added to. If the given OID is a project, the new task will be added as a root task. If the given OID is a task, the new task will become its subtask. Specify "-" if you'd like to add it to the personal tasks that belong to no specific projects in My Tasks.
The name of the task.
(Optional) OID, ID or emails of the users that this task is assigned to.
(Optional) The recurring information of this task. It is null if it is not a recurring task.
freq
:daily
,weekly
,monthly
,yearly
interval
: The interval between each freq iteration. Default: 1.until
: The last recurrence is less than or equals to the specified value. Default: never ends.bymonth
: If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only iffreq
isyearly
. Default: 1 meaning January.byweekno
: If given, it must be an integer, meaning the week number, orlast
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
.byweekday
: If given, it must be an integer: 0 for Monday, 1 for Tuesday, and so on. Forweekly
, it is a list of integers, such as[1]
and[0, 3]
. When given, these values will define the weekdays where the recurrence will be applied.bydayno
: If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only formonthly
andyearly
.- Note:
byweekday
andbydayno
can not be specified at the same time.
- Note:
dupsubtasks
: Whether to duplicate the subtasks when the task is completed. Default: true.sincelatest
: Whether to repeat it since the last date the task is completed. It is available only fordaily
. Default: false.
- boolean
- integer
(Optional) Specify true or a positive integer to peekaboo this task and its subtasks, if any. Or, specify false to undo the previous peekaboo if any.
If a positive integer is specified, it is the number of days to peekaboo a task. If true, it won't be reshowed automatically.
Default: false.
(Optional) OID or ID of successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) Specify a value to your custom field. The name and value depends on your definition of the custom field.
- For Money type, please specify the value directly (without currency).
- For User or Task type, please specify the OID.
- For Duration type, please specify number of seconds.
- For multiple values, you can specify a list of values.
(Optional) OID, ID or emails of users who follow this task.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) An optional description about this task.
(Optional) Specify whether this task is a section. Default: false.
(Optional) Specify true if you'd like to make this new task as created by the app. Default: false -- the task is marked as created by the user authorizing the app.
(Optional) OID or names of the tags to be added to the new created task. Note: if tag's name is specified, it is case-insensitive.
(Optional) An optional start time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) An optional due time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) A list of subtasks to create.
(Optional) An optional priority. Its value must be between -1 (lowest) and 2 (highest). Default: 0.
(Optional) The estimated time to complete. If specified, it must be non-negative. Unit: seconds.
(Optional) An optional status. Its value must be between 0 and 100. Default: 0.
Request Example
{
"name": "Design new **logo**",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"followers": [
"tzufRLqCnud74dARyDSvjWDl"
],
"description": "This is a *cool* task.",
"section": true,
"asUser": true,
"tags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"tasks": [
"#/definitions/CreateTaskBody"
],
"priority": 0,
"etc": 0,
"status": 0
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Add a new task after the given task.
Add a new task after the given task.
OID of the task that this new task to be added after.
The name of the task.
(Optional) OID, ID or emails of the users that this task is assigned to.
(Optional) The recurring information of this task. It is null if it is not a recurring task.
freq
:daily
,weekly
,monthly
,yearly
interval
: The interval between each freq iteration. Default: 1.until
: The last recurrence is less than or equals to the specified value. Default: never ends.bymonth
: If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only iffreq
isyearly
. Default: 1 meaning January.byweekno
: If given, it must be an integer, meaning the week number, orlast
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
.byweekday
: If given, it must be an integer: 0 for Monday, 1 for Tuesday, and so on. Forweekly
, it is a list of integers, such as[1]
and[0, 3]
. When given, these values will define the weekdays where the recurrence will be applied.bydayno
: If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only formonthly
andyearly
.- Note:
byweekday
andbydayno
can not be specified at the same time.
- Note:
dupsubtasks
: Whether to duplicate the subtasks when the task is completed. Default: true.sincelatest
: Whether to repeat it since the last date the task is completed. It is available only fordaily
. Default: false.
- boolean
- integer
(Optional) Specify true or a positive integer to peekaboo this task and its subtasks, if any. Or, specify false to undo the previous peekaboo if any.
If a positive integer is specified, it is the number of days to peekaboo a task. If true, it won't be reshowed automatically.
Default: false.
(Optional) OID or ID of successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) Specify a value to your custom field. The name and value depends on your definition of the custom field.
- For Money type, please specify the value directly (without currency).
- For User or Task type, please specify the OID.
- For Duration type, please specify number of seconds.
- For multiple values, you can specify a list of values.
(Optional) OID, ID or emails of users who follow this task.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) An optional description about this task.
(Optional) Specify whether this task is a section. Default: false.
(Optional) Specify true if you'd like to make this new task as created by the app. Default: false -- the task is marked as created by the user authorizing the app.
(Optional) OID or names of the tags to be added to the new created task. Note: if tag's name is specified, it is case-insensitive.
(Optional) An optional start time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) An optional due time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) A list of subtasks to create.
(Optional) An optional priority. Its value must be between -1 (lowest) and 2 (highest). Default: 0.
(Optional) The estimated time to complete. If specified, it must be non-negative. Unit: seconds.
(Optional) An optional status. Its value must be between 0 and 100. Default: 0.
Request Example
{
"name": "Design new **logo**",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"followers": [
"tzufRLqCnud74dARyDSvjWDl"
],
"description": "This is a *cool* task.",
"section": true,
"asUser": true,
"tags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"tasks": [
"#/definitions/CreateTaskBody"
],
"priority": 0,
"etc": 0,
"status": 0
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Add a new task before the given task.
Add a new task before the given task.
OID of the task that this new task to be added before.
The name of the task.
(Optional) OID, ID or emails of the users that this task is assigned to.
(Optional) The recurring information of this task. It is null if it is not a recurring task.
freq
:daily
,weekly
,monthly
,yearly
interval
: The interval between each freq iteration. Default: 1.until
: The last recurrence is less than or equals to the specified value. Default: never ends.bymonth
: If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only iffreq
isyearly
. Default: 1 meaning January.byweekno
: If given, it must be an integer, meaning the week number, orlast
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
.byweekday
: If given, it must be an integer: 0 for Monday, 1 for Tuesday, and so on. Forweekly
, it is a list of integers, such as[1]
and[0, 3]
. When given, these values will define the weekdays where the recurrence will be applied.bydayno
: If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only formonthly
andyearly
.- Note:
byweekday
andbydayno
can not be specified at the same time.
- Note:
dupsubtasks
: Whether to duplicate the subtasks when the task is completed. Default: true.sincelatest
: Whether to repeat it since the last date the task is completed. It is available only fordaily
. Default: false.
- boolean
- integer
(Optional) Specify true or a positive integer to peekaboo this task and its subtasks, if any. Or, specify false to undo the previous peekaboo if any.
If a positive integer is specified, it is the number of days to peekaboo a task. If true, it won't be reshowed automatically.
Default: false.
(Optional) OID or ID of successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) Specify a value to your custom field. The name and value depends on your definition of the custom field.
- For Money type, please specify the value directly (without currency).
- For User or Task type, please specify the OID.
- For Duration type, please specify number of seconds.
- For multiple values, you can specify a list of values.
(Optional) OID, ID or emails of users who follow this task.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) An optional description about this task.
(Optional) Specify whether this task is a section. Default: false.
(Optional) Specify true if you'd like to make this new task as created by the app. Default: false -- the task is marked as created by the user authorizing the app.
(Optional) OID or names of the tags to be added to the new created task. Note: if tag's name is specified, it is case-insensitive.
(Optional) An optional start time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) An optional due time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) A list of subtasks to create.
(Optional) An optional priority. Its value must be between -1 (lowest) and 2 (highest). Default: 0.
(Optional) The estimated time to complete. If specified, it must be non-negative. Unit: seconds.
(Optional) An optional status. Its value must be between 0 and 100. Default: 0.
Request Example
{
"name": "Design new **logo**",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"followers": [
"tzufRLqCnud74dARyDSvjWDl"
],
"description": "This is a *cool* task.",
"section": true,
"asUser": true,
"tags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"tasks": [
"#/definitions/CreateTaskBody"
],
"priority": 0,
"etc": 0,
"status": 0
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get an existing task by its ID.
Returns the full task record for a single task.
ID of the project that the task belongs to. Specify "-" if you'd like to retrieve the personal tasks that belong to no specific projects in My Tasks.
ID of the task that needs to be fetched
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get an existing task by its OID.
Returns the full task record for a single task.
OID of the task that needs to be fetched
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Get all subtasks of the given task.
Returns all subtask records of the given task. Note: tasks in the same level are return. That is, it won't returns subtasks of subtasks. You have to retrieve them recursively.
ID of the project. Specify "-" if you'd like to retrieve the personal tasks that belong to no specific projects in My Tasks
ID of the parent task.
Task's status to match with. You can specify a value between 0 and 100, or "active" for active tasks, "completed" for completed tasks.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Get all root tasks of the given project or all subtasks of the given task.
Returns all root task records of the given project or all subtasks of the given task by OID. If the given OID is a project, the root tasks are returned. If the given OID is a task, its subtasks are returned. Note: tasks in the same level are return. That is, it won't returns subtasks of subtasks. You have to retrieve them recursively.
OID of project or parent task to look for. Specify "-" if you'd like to retrieve the personal tasks that belong to no specific projects in My Tasks.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Get all root tasks of the given project.
Returns all root task records of the given project.
ID of project. Specify "-" if you'd like to retrieve the personal tasks that belong to no specific projects in My Tasks.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Searches tasks in the project of the given OID.
Returns task records that match the specified criteria in the given project.
OID of the project to search for the tasks. Specify "-" if you'd like to search the personal tasks that belong to no specific projects in My Tasks.
Text to do a full-text search against the name, description, and attachments. Note: it doesn't include the content and attachment of comments. Also note: the update of tasks can take 10 seconds or more before it can be found by the full-text search.
Task name to match with. To specify a regular expression, you can precede it with ~
. To specify a case-insensitive regular expression, you can precede it with ~*
. For example, name=~abc
matches if abc
is part of the name. name=~^ab.*ed$
matches if the name starts with ab
and ends with ed
. To do a full-text search, please use text
instead.
Task's description to match with. To specify a regular expression, you can precede it with ~
. To specify a case-insensitive regular expression, you can precede it with ~*
.
ID or OID of task's sublist to match with.
Task's status to match with. You can specify a value between 0 and 100, or "active" for active tasks, "completed" for completed tasks.
Whether to return only tasks that are scheduled. By scheduled we mean either start
or due
is scheduled. If scheduled=false
is specified, it returns only tasks that neither start nor due is scheduled.
Whether to return only My Tasks. By My Tasks we mean tasks that are assigned to me, or tasks that are created by me and scheduled, but not assigned to anyone.
The maximal number of tasks to return. Default: 30. That is, at most 30 tasks will be returned. You can specify "no" to return all matched tasks.
Note: If the project is on a free plan, the value cannot be larger than 30 or "no" (unlimited).
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignees": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"tags": [
{
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Searches tasks in the project of the given ID.
Returns task records that match the specified criteria in the given project.
ID of the project to search for the tasks. Specify "-" if you'd like to search for the personal tasks that belong to no specific projects in My Tasks.
Text to do a full-text search against the name, description, and attachments. Note: it doesn't include the content and attachment of comments. Also note: the update of tasks can take 10 seconds or more before it can be found by the full-text search.
Task name to match with. To specify a regular expression, you can precede it with ~
. To specify a case-insensitive regular expression, you can precede it with ~*
. For example, name=~abc
matches if abc
is part of the name. name=~^ab.*ed$
matches if the name starts with ab
and ends with ed
. To do a full-text search, please use text
instead.
Task's description to match with. To specify a regular expression, you can precede it with ~
. To specify a case-insensitive regular expression, you can precede it with ~*
.
ID or OID of task's sublist to match with.
Task's status to match with. You can specify a value between 0 and 100, or "active" for active tasks, "completed" for completed tasks.
Whether to return only tasks that are scheduled. By scheduled we mean either start
or due
is scheduled. If scheduled=false
is specified, it returns only tasks that neither start nor due is scheduled.
Whether to return only My Tasks. By My Tasks we mean tasks that are assigned to me, or tasks that are created by me and scheduled, but not assigned to anyone.
The maximal number of tasks to return. Default: 30. That is, at most 30 tasks will be returned. You can specify "no" to return all matched tasks.
Note: If the project is on a free plan, the value cannot be larger than 30 or "no" (unlimited).
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignees": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"tags": [
{
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
]
Update an existing task by its ID.
Updates an existing task, and returns the full updated record.
ID of the project that the task belongs to. Specify "-" if you'd like to update the personal tasks that belong to no specific projects in My Tasks.
ID of the task that needs to be updated
(Optional) New name of the task.
(Optional) OID, ID emails of the users that this task is assigned to. If specified, it will replace any existing assignee(s). Instead of replacment, you can use "addAssignees" or "removeAssignees".
(Optional) The recurring information of this task. It is null if it is not a recurring task.
freq
:daily
,weekly
,monthly
,yearly
interval
: The interval between each freq iteration. Default: 1.until
: The last recurrence is less than or equals to the specified value. Default: never ends.bymonth
: If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only iffreq
isyearly
. Default: 1 meaning January.byweekno
: If given, it must be an integer, meaning the week number, orlast
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
.byweekday
: If given, it must be an integer: 0 for Monday, 1 for Tuesday, and so on. Forweekly
, it is a list of integers, such as[1]
and[0, 3]
. When given, these values will define the weekdays where the recurrence will be applied.bydayno
: If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only formonthly
andyearly
.- Note:
byweekday
andbydayno
can not be specified at the same time.
- Note:
dupsubtasks
: Whether to duplicate the subtasks when the task is completed. Default: true.sincelatest
: Whether to repeat it since the last date the task is completed. It is available only fordaily
. Default: false.
- boolean
- integer
(Optional) Specify true or a positive integer to peekaboo this task and its subtasks, if any. Or, specify false to undo the previous peekaboo if any.
If a positive integer is specified, it is the number of days to peekaboo a task. If true, it won't be reshowed automatically.
Default: false.
(Optional) OID or ID of tasks to replace the successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) Specify a value to your custom field. The name and value depends on your definition of the custom field.
- For Money type, please specify the value directly (without currency).
- For User or Task type, please specify the OID.
- For Duration type, please specify number of seconds.
- For multiple values, you can specify a list of values.
(Optional) OID or names of the tags to be removed from this task. Note: if tag's name is specified, it is case-insensitive.
(Optional) OID or ID of the assignees to be added to this task.
(Optional) OID or ID of the assignees to be removed from this task.
(Optional) OID or ID of tasks to be added to the successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) OID or ID of tasks to be removed from the successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) OID, ID or emails of the users to replace the followers of this task. Please refer to addFollowers()
for more details.
(Optional) OID or ID of the followers to be added to this task.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) OID or ID of the followers to be removed from this task.Please refer to addFollowers()
for more details.
(Optional) Change the description about this task.
(Optional) Specify whether this task is a section or a normal task.
(Optional) OID or names of the tags to be added to this task. Note: if tag's name is specified, it is case-insensitive.
(Optional) Specify true if you'd like to make this task as updated by the app. Default: false -- the task is marked as created by the user authorizing the app.
(Optional) OID or names of the tags to replace existing tags of to this task. If specified, it will replace any existing tag(s). Instead of replacment, you can use "addTags" or "removeTags". Note: if tag's name is specified, it is case-insensitive.
(Optional) An optional start time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) An optional due time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) Change the priority of this task. Its value must be between -1 (lowest) and 2 (highest).
(Optional) The estimated time to complete. If specified, it must be non-negative or null. If null is specified, it means to clear the value.Unit: seconds.
(Optional) An optional status to change to. Its value must be between 0 and 100. To complete a task, specify 100.
Request Example
{
"name": "New idea",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"removeTags": [
"mPAQrYU1qt8wAYAInKRlTnvl"
],
"addAssignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"removeAssignees": [
"Job4NSW9xK6Owcke8iKj7zyH"
],
"addSuccessors": [
"string"
],
"removeSuccessors": [
"string"
],
"followers": [
"tzufRLqCnud74dARyDSvjWDl",
"app"
],
"addFollowers": [
"sfsvLbDVPvi1QMf2GkDn7VSy"
],
"removeFollowers": [
"aBuz4MwfZ5CasOae6stnFa2f"
],
"description": "This is a **cool** task.",
"section": true,
"addTags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"asUser": true,
"tags": [
"ITaVbkhh3iVcEcV3vuSLeE2k"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"priority": 0,
"etc": 0,
"status": 100
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Update an existing task by its OID.
Updates an existing task, and returns the full updated record.
OID of task that needs to be updated.
(Optional) New name of the task.
(Optional) OID, ID emails of the users that this task is assigned to. If specified, it will replace any existing assignee(s). Instead of replacment, you can use "addAssignees" or "removeAssignees".
(Optional) The recurring information of this task. It is null if it is not a recurring task.
freq
:daily
,weekly
,monthly
,yearly
interval
: The interval between each freq iteration. Default: 1.until
: The last recurrence is less than or equals to the specified value. Default: never ends.bymonth
: If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only iffreq
isyearly
. Default: 1 meaning January.byweekno
: If given, it must be an integer, meaning the week number, orlast
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
.byweekday
: If given, it must be an integer: 0 for Monday, 1 for Tuesday, and so on. Forweekly
, it is a list of integers, such as[1]
and[0, 3]
. When given, these values will define the weekdays where the recurrence will be applied.bydayno
: If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only formonthly
andyearly
.- Note:
byweekday
andbydayno
can not be specified at the same time.
- Note:
dupsubtasks
: Whether to duplicate the subtasks when the task is completed. Default: true.sincelatest
: Whether to repeat it since the last date the task is completed. It is available only fordaily
. Default: false.
- boolean
- integer
(Optional) Specify true or a positive integer to peekaboo this task and its subtasks, if any. Or, specify false to undo the previous peekaboo if any.
If a positive integer is specified, it is the number of days to peekaboo a task. If true, it won't be reshowed automatically.
Default: false.
(Optional) OID or ID of tasks to replace the successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) Specify a value to your custom field. The name and value depends on your definition of the custom field.
- For Money type, please specify the value directly (without currency).
- For User or Task type, please specify the OID.
- For Duration type, please specify number of seconds.
- For multiple values, you can specify a list of values.
(Optional) OID or names of the tags to be removed from this task. Note: if tag's name is specified, it is case-insensitive.
(Optional) OID or ID of the assignees to be added to this task.
(Optional) OID or ID of the assignees to be removed from this task.
(Optional) OID or ID of tasks to be added to the successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) OID or ID of tasks to be removed from the successors of this task.
To specify task's ID, you can specify as #id
or id
.
Example, 'AMZ0-59R125-35KTK2356G'
, '#13'
, and 135
.
(Optional) OID, ID or emails of the users to replace the followers of this task. Please refer to addFollowers()
for more details.
(Optional) OID or ID of the followers to be added to this task.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
(Optional) OID or ID of the followers to be removed from this task.Please refer to addFollowers()
for more details.
(Optional) Change the description about this task.
(Optional) Specify whether this task is a section or a normal task.
(Optional) OID or names of the tags to be added to this task. Note: if tag's name is specified, it is case-insensitive.
(Optional) Specify true if you'd like to make this task as updated by the app. Default: false -- the task is marked as created by the user authorizing the app.
(Optional) OID or names of the tags to replace existing tags of to this task. If specified, it will replace any existing tag(s). Instead of replacment, you can use "addTags" or "removeTags". Note: if tag's name is specified, it is case-insensitive.
(Optional) An optional start time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) An optional due time. If you'd like to specify time, use yyyy-mm-ddThh:mmZ
, e.g., 2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.
If you don't like to set time, use yyyy-mm-dd
, e.g., 2020-10-30
.
Also note: for backward compatibility, 2020-10-30T00:00:00
(all zero and up to second) is considered the same as 2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify 2020-10-30T00:00
(no second)
(Optional) Change the priority of this task. Its value must be between -1 (lowest) and 2 (highest).
(Optional) The estimated time to complete. If specified, it must be non-negative or null. If null is specified, it means to clear the value.Unit: seconds.
(Optional) An optional status to change to. Its value must be between 0 and 100. To complete a task, specify 100.
Request Example
{
"name": "New idea",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"removeTags": [
"mPAQrYU1qt8wAYAInKRlTnvl"
],
"addAssignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"removeAssignees": [
"Job4NSW9xK6Owcke8iKj7zyH"
],
"addSuccessors": [
"string"
],
"removeSuccessors": [
"string"
],
"followers": [
"tzufRLqCnud74dARyDSvjWDl",
"app"
],
"addFollowers": [
"sfsvLbDVPvi1QMf2GkDn7VSy"
],
"removeFollowers": [
"aBuz4MwfZ5CasOae6stnFa2f"
],
"description": "This is a **cool** task.",
"section": true,
"addTags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"asUser": true,
"tags": [
"ITaVbkhh3iVcEcV3vuSLeE2k"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"priority": 0,
"etc": 0,
"status": 100
}
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Delete a task and all of its subtasks.
Delete an existing task and all of its subtasks.
OID of task that needs to be deleted
ok
Response Content-Types: application/json
user
A user object represents an account in Quire that can be given access to various organizations, projects, and tasks.
Get a user by its ID or email address.
Returns the full user record of the given ID or email address.
ID, email address or "me" of user that needs to be fetched. Example: " [email protected]","me"
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "John",
"id": "john",
"nameText": "John",
"nameHtml": "John",
"url": "https://quire.io/u/john",
"website": "https://coolwebsites.com",
"email": "[email protected]",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
Get a user by its OID.
Returns the full user record of the given OID.
OID of user that needs to be fetched
successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"name": "John",
"id": "john",
"nameText": "John",
"nameHtml": "John",
"url": "https://quire.io/u/john",
"website": "https://coolwebsites.com",
"email": "[email protected]",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
Get all user records.
Returns all colleagues of the current user if he granted the app to access his contacts. Otherwise, it returns only colleagues who also authorized the same app. If the current user didn't grant the access of his contacts and none of his collegues authorized this app, only the current user's record will be returned. The first record must be the current user.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "John",
"id": "john",
"nameText": "John",
"nameHtml": "John",
"url": "https://quire.io/u/john",
"website": "https://coolwebsites.com",
"email": "[email protected]",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
]
Get all users records of the given project.
Returns all members of the given project of the specified ID. If the current user doesn't grant the app to access his contacts, only basic information are returned. The first record must be the current user.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "John",
"id": "john",
"nameText": "John",
"nameHtml": "John",
"url": "https://quire.io/u/john",
"website": "https://coolwebsites.com",
"email": "[email protected]",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
]
Get all users records of the given project.
Returns all members of the given project of the specified OID. If the current user doesn't grant the app to access his contacts, only basic information are returned. The first record must be the current user.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[
{
"name": "John",
"id": "john",
"nameText": "John",
"nameHtml": "John",
"url": "https://quire.io/u/john",
"website": "https://coolwebsites.com",
"email": "[email protected]",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
]
default
POST /sublist/id/{ownerType}/{ownerId}/{id}
(no description)
Schema Definitions
Attachment: object
- name: string
-
Attachment's name.
- length: integer
-
The size of this attachment. Unit: bytes.
- type: integer
-
The type of this attachment.It is 1 if it is from Google Drive. It is 2 if it is stored in Quire.
- url: string
-
URL of this attachment.
- createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
Change: object
- exclude: boolean
-
Whether to exclude the task. Default: false (include).
- single: boolean
-
Whether to include or exclude only the task. Default: false -- all descendants tasks will be included or excluded too. Note: it won't affect descendants that are explicitly excluded or included before this invocation.
- task: string
-
The task's OID to be included or excluded.
Example
{
"exclude": false,
"single": false,
"task": "2MmYOpJH_ZLeehIjjytH1Rwr"
}
Comment: object
- oid: string
-
OID, aka. UUID.
- descriptionText: string
-
The content but excluding markdown characters.
- descriptionHtml: string
-
The content in a form of a HTML fragment converted from markdown.
- description: string
-
The content.
- attachments: Attachment
-
The attachments of this task.
-
Attachment - editedBy: SimpleIdentity
-
The user who edited this comment, or null if not edited.
- editedAt: string
-
When this comment was edited, or null if not edited.
- pinAt: string
-
When this comment was pinned, or null if not pinned.
- pinBy: SimpleIdentity
-
The user who pinned this comment, or null if not pinned.
- url: string
-
Url of this comment on Quire website.
- owner: CommentOwner
-
The object this comment was added to.
- createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"oid": "iDsPd.QP_qM.hN.Trymukn8b",
"descriptionText": "It is cool!",
"descriptionHtml": "It is <i>cool</i>!",
"description": "It is *cool*!",
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
],
"editedBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"pinAt": "2018-12-22T02:06:58.158Z",
"pinBy": "#/definitions/SimpleIdentity",
"url": "string",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
CommentOwner: object
- type: string
-
The type of this object.
- url: string
-
Url of this record on Quire website.
- name: string
-
Name.
- oid: string
-
OID, aka. UUID.
Example
{
"type": "Project",
"url": "https://quire.io/u/my_id",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
CreateCommentBody: object
- description: string
-
The content of the new comment.
- pinned: boolean
-
(Optional) Whether to pin this comment. Default: false
- asUser: boolean
-
(Optional) Specify true if you'd like to make this new comment as created by the app. Default: false -- the comment is marked as created by the user authorizing the app.
Example
{
"description": "Adjust style",
"pinned": false,
"asUser": true
}
CreateNotificationBody: object
- message: string
-
The message
- url: string
-
(Optional) The URL of the message.If not omitted, a hyperlink will be generated to enclose the message.
Example
{
"message": "Unable to synchronize",
"url": "https://superheros.com/sync"
}
CreateStatusBody: object
- name: string
-
The name of the status
- value: integer
-
The value. It is a non-negative value to indicate the progress. The value must be unique. If it is great or equals to 100, it means the task has been completed.
- color: string
-
(Optional) The color of the status.If not omitted, a color will be generated automatially.
Example
{
"name": "Doing",
"value": "true",
"color": "35"
}
CreateSublistBody: object
- name: string
-
The name of the sublist.
- id: string
-
(Optional) ID of the sublist. If omitted, Quire will generate one automatically. It must be unquie in the whole project if specified
- iconColor: string
-
(Optional) The color of the icon representing this record. It is an index of our predefined color palette.
- description: string
-
(Optional) An optional description about this task.
- includes: string[]
-
(Optional) A list of tasks' OID that belong to this sublist. Note: all of descendants will be included too.
-
string - image: string
-
(Optional) The image representing this record. It shall be one of the predined images: 'icon-view-list', 'icon-view-kanban', 'icon-briefcase-o', 'icon-rocket-o', 'icon-bug-o', 'icon-leaf-o', 'icon-clapperboard', 'icon-sitemap-o', 'icon-flash-on-o', 'icon-piggy-bank-o', 'icon-graduation-cap-o', 'icon-paper-plane-o', 'icon-globe-o', 'icon-music-o', 'icon-detail', 'icon-beach-o', 'icon-paper', 'icon-home-o', 'icon-building', 'icon-database-o', 'icon-microscope-o', 'icon-hamburger-o', 'icon-trophy-o', 'icon-thumbs-o-up', 'icon-thumbs-o-down', 'icon-smile-o', 'icon-frown-o', 'icon-meh-o', 'icon-bullseye', 'icon-square-dotted-o'
- personal: boolean
-
(Optional) Whether it is personal. If omitted, false is assumed.
- partner: string
-
(Optional) OID of the external team that this sublist belongs to.
- start: string
-
(Optional) When this sublist was aimed to start.
- due: string
-
(Optional) When this sublist was aimed to complete.
Example
{
"name": "Sublist 101",
"id": "Sublist101",
"iconColor": "37",
"description": "**Great** sublist to start with.",
"includes": [
"string"
],
"image": "icon-view-kanban",
"personal": false,
"partner": "rcBHBYXZSiyDRrHrWPutatfF",
"start": "2024-01-02",
"due": "2024-05-25"
}
CreateTagBody: object
- name: string
-
The name of the tag
- global: boolean
-
(Optional) Whether this tag is global. If omitted, it is not glboal.
- color: string
-
(Optional) The color of the tag.If not omitted, a color will be generated automatially.
Example
{
"name": "Later",
"global": true,
"color": "35"
}
CreateTaskBody: object
- name: string
-
The name of the task.
- assignees: string[]
-
(Optional) OID, ID or emails of the users that this task is assigned to.
-
string - recurrence: Recurrence
-
(Optional) The recurring information of this task. It is null if it is not a recurring task.
freq
:daily
,weekly
,monthly
,yearly
interval
: The interval between each freq iteration. Default: 1.until
: The last recurrence is less than or equals to the specified value. Default: never ends.bymonth
: If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only iffreq
isyearly
. Default: 1 meaning January.byweekno
: If given, it must be an integer, meaning the week number, orlast
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
.byweekday
: If given, it must be an integer: 0 for Monday, 1 for Tuesday, and so on. Forweekly
, it is a list of integers, such as[1]
and[0, 3]
. When given, these values will define the weekdays where the recurrence will be applied.bydayno
: If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only formonthly
andyearly
.- Note:
byweekday
andbydayno
can not be specified at the same time.
- Note:
dupsubtasks
: Whether to duplicate the subtasks when the task is completed. Default: true.sincelatest
: Whether to repeat it since the last date the task is completed. It is available only fordaily
. Default: false.
-
peekaboo:
- boolean
- integer
-
(Optional) Specify true or a positive integer to peekaboo this task and its subtasks, if any. Or, specify false to undo the previous peekaboo if any.
If a positive integer is specified, it is the number of days to peekaboo a task. If true, it won't be reshowed automatically.
Default: false.
- successors: string[]
-
(Optional) OID or ID of successors of this task.
To specify task's ID, you can specify as
#id
orid
.Example,
'AMZ0-59R125-35KTK2356G'
,'#13'
, and135
. -
string - yourField: object
-
(Optional) Specify a value to your custom field. The name and value depends on your definition of the custom field.
- For Money type, please specify the value directly (without currency).
- For User or Task type, please specify the OID.
- For Duration type, please specify number of seconds.
- For multiple values, you can specify a list of values.
- followers: string[]
-
(Optional) OID, ID or emails of users who follow this task.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
-
string - description: string
-
(Optional) An optional description about this task.
- section: boolean
-
(Optional) Specify whether this task is a section. Default: false.
- asUser: boolean
-
(Optional) Specify true if you'd like to make this new task as created by the app. Default: false -- the task is marked as created by the user authorizing the app.
- tags: string[]
-
(Optional) OID or names of the tags to be added to the new created task. Note: if tag's name is specified, it is case-insensitive.
-
string - start: string
-
(Optional) An optional start time. If you'd like to specify time, use
yyyy-mm-ddThh:mmZ
, e.g.,2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.If you don't like to set time, use
yyyy-mm-dd
, e.g.,2020-10-30
.Also note: for backward compatibility,
2020-10-30T00:00:00
(all zero and up to second) is considered the same as2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify2020-10-30T00:00
(no second) - due: string
-
(Optional) An optional due time. If you'd like to specify time, use
yyyy-mm-ddThh:mmZ
, e.g.,2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.If you don't like to set time, use
yyyy-mm-dd
, e.g.,2020-10-30
.Also note: for backward compatibility,
2020-10-30T00:00:00
(all zero and up to second) is considered the same as2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify2020-10-30T00:00
(no second) - tasks: CreateTaskBody
-
(Optional) A list of subtasks to create.
-
CreateTaskBody - priority: integer
-
(Optional) An optional priority. Its value must be between -1 (lowest) and 2 (highest). Default: 0.
- etc: integer
-
(Optional) The estimated time to complete. If specified, it must be non-negative. Unit: seconds.
- status: integer
-
(Optional) An optional status. Its value must be between 0 and 100. Default: 0.
Example
{
"name": "Design new **logo**",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"followers": [
"tzufRLqCnud74dARyDSvjWDl"
],
"description": "This is a *cool* task.",
"section": true,
"asUser": true,
"tags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"tasks": [
{
"name": "Design new **logo**",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": "#/definitions/Recurrence",
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"followers": [
"tzufRLqCnud74dARyDSvjWDl"
],
"description": "This is a *cool* task.",
"section": true,
"asUser": true,
"tags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"tasks": [
"#/definitions/CreateTaskBody"
],
"priority": 0,
"etc": 0,
"status": 0
}
],
"priority": 0,
"etc": 0,
"status": 0
}
Organization: object
- name: string
-
Name.
- id: string
-
ID.
- nameText: string
-
Name but excluding markdown characters.
- nameHtml: string
-
Name in a form of a HTML fragment converted from markdown.
- email: string
-
Email address.
- url: string
-
Url of this record on Quire website.
- website: string
-
Website.
- descriptionText: string
-
Description but excluding markdown characters.
- descriptionHtml: string
-
Description in a form of a HTML fragment converted from markdown.
- description: string
-
Description.
- iconColor: string
-
The color of the icon representing this record. It is an index of our predefined color palette.
- image: string
-
The image representing this record.
- oid: string
-
OID, aka. UUID.
- followers: SimpleIdentity
-
Users who follow this organization.
-
SimpleIdentity - createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"name": "My Organization",
"id": "my_organization",
"nameText": "My Organization",
"nameHtml": "My Organization",
"email": "[email protected]",
"url": "https://quire.io/c/my_organization",
"website": "https://coolwebsites.com",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"followers": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Partner: object
- name: string
-
The name.
- color: string
-
The color. It is an index of our predefined color palette. The first digit is between 0 and 5, and the second between 0 and 7. The color palette can be found in our Quire's color picker.
- oid: string
-
OID, aka. UUID.
- image: string
- project: SimpleIdentity
-
The project this object belongs to.
- createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"name": "UI design team",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Project: object
- name: string
-
Name.
- id: string
-
ID.
- nameText: string
-
Name but excluding markdown characters.
- nameHtml: string
-
Name in a form of a HTML fragment converted from markdown.
- rootCount: integer
-
Number of root tasks in this project.
- organization: SimpleIdentity
-
The organization this project belongs to.
- url: string
-
Url of this record on Quire website.
- activeCount: integer
-
Number of active tasks in this project.
- taskCount: integer
-
Total number of tasks in this project.
- descriptionText: string
-
Description but excluding markdown characters.
- descriptionHtml: string
-
Description in a form of a HTML fragment converted from markdown.
- description: string
-
Description.
- iconColor: string
-
The color of the icon representing this record. It is an index of our predefined color palette.
- image: string
-
The image representing this record.
- oid: string
-
OID, aka. UUID.
- editedAt: string
-
When this record was edited last time.
- archivedAt: string
-
When this project was archived (aka., peekaboo). It is null if not archived.
- followers: SimpleIdentity
-
Users who follow this project.
-
SimpleIdentity - attachments: Attachment
-
The attachments of this project.
-
Attachment - createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"name": "My Project",
"id": "my_project",
"nameText": "My Project",
"nameHtml": "My Project",
"rootCount": 5,
"organization": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"url": "https://quire.io/w/my_project",
"activeCount": 20,
"taskCount": 30,
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"editedAt": "2018-12-22T02:06:58.158Z",
"archivedAt": "2018-12-22T02:06:58.158Z",
"followers": [
"#/definitions/SimpleIdentity"
],
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
ProjectJsonMap: object
- name: string
-
Name.
- id: string
-
ID.
- oid: string
-
OID, aka. UUID.
Example
{
"name": "My Project",
"id": "My_Project",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
Recurrence: object
- byweekday: integer[]
-
It must be an integer or array: 0 for Monday, 1 for Tuesday, and so on. For weekly, it is a list of integers, such as [1] and [0, 3]. When given, these values will define the weekdays where the recurrence will be applied. For example, if the data is [0,1], it means every Monday and Tuesday.
-
integer - interval: integer
-
How often this recurring shall occur. If the rate is 2 and the type is weekly, it means it shall occur every two week. If the type is custom, it means number of days to repeat.
- dupsubtasks: boolean
-
Whether to duplicate the subtasks when the task is completed. Default: true
- sincelatest: boolean
-
Whether to repeat it since the last date the task is completed. It is available only for
daily
. Default: false - byweekno: integer
-
If given, it must be an integer, meaning the week number, or
last
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
. - freq: string
-
The frequency of this recurring.
- bydayno: integer
-
If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only for
monthly
andyearly
.Note:byweekday
andbydayno
can not be specified at the same time. - bymonth: integer
-
If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only if
freq
isyearly
. Default: 1 meaning January. - until: string
-
When this recurring shall end. If not specified, it means it is never end.
Example
{
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
}
Referrer: object
- user: string
-
OID of the user who made this reference.
- when: string
-
When this reference is made.
- task: string
-
OID of the task that refers another task.
Example
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
SimpleIdentity: object
- id: string
-
ID.
- url: string
-
Url of this record on Quire website.
- iconColor: string
-
The color of the icon representing this record. It is an index of our predefined color palette.
- image: string
-
The image representing this record.
- name: string
-
Name.
- oid: string
-
OID, aka. UUID.
Example
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
SimpleTaggingEntity: object
- color: string
-
The color. It is an index of our predefined color palette. The first digit is between 0 and 5, and the second between 0 and 7. The color palette can be found in our Quire's color picker.
- name: string
-
Name.
- oid: string
-
OID, aka. UUID.
Example
{
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
SimpleTask: object
- successors: string[]
-
Successors of this task.
Example,
['#135', '#26']
-
string - oid: string
-
OID, aka. UUID.
- id: integer
- name: string
-
This task's name.
- nameText: string
-
This task's name but excluding markdown characters.
- nameHtml: string
-
This task's name in a form of a HTML fragment converted from markdown.
- descriptionText: string
-
Description but excluding markdown characters.
- descriptionHtml: string
-
Description in a form of a HTML fragment converted from markdown.
- description: string
-
Description about this task.
- priority: integer
-
The priority of this task. Its value must be between -1 (lowest) and 2 (highest). Default: 0.
- start: string
-
When to start this task.Note: if time is specified, the millisecond will be
001
. Otherwise, it is000
(so are the hour, minute and second fields). - due: string
-
When to complete this task. Note: if time is specified, the millisecond will be 001. Otherwise, it is 000 (so are the hour, minute and second fields).
- status: integer
-
The status of this task. Its value must be between 0 and 100. If 100, it means completed.
- assignees: SimpleIdentity
-
Users who are assigned to this task.
-
SimpleIdentity - tags: SimpleTaggingEntity
-
Tags that are tagged to this task.
-
SimpleTaggingEntity - peekaboo: boolean
-
Whether this task was peekabooed. It is null if not peekabooed.
- section: boolean
-
Whether this task is a section. It is null if it is a normal task
- url: string
-
Url of this task on Quire website.
- createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignees": [
{
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"tags": [
{
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
],
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Status: object
- name: string
-
The name.
- value: integer
-
The value. It is a non-negative value to indicate the progress. The value must be unique. If it is great or equals to 100, it means the task has been completed.
- color: string
-
The color. It is an index of our predefined color palette. The first digit is between 0 and 5, and the second between 0 and 7. The color palette can be found in our Quire's color picker.
Example
{
"name": "Doing",
"value": 50,
"color": "35"
}
StorageList: object
- currentProject: string
-
Property name
- myList: string[]
-
Property name.
-
string - latest: StorageMap
-
Property name.
Example
{
"currentProject": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"myList": [
"string"
],
"latest": {
"myKey": "My data"
}
}
Sublist: object
- name: string
-
Name.
- id: string
-
ID.
- nameText: string
-
Name but excluding markdown characters.
- nameHtml: string
-
Name in a form of a HTML fragment converted from markdown.
- url: string
-
Url of this record on Quire website.
- descriptionText: string
-
Description but excluding markdown characters.
- descriptionHtml: string
-
Description in a form of a HTML fragment converted from markdown.
- description: string
-
Description.
- iconColor: string
-
The color of the icon representing this record. It is an index of our predefined color palette.
- image: string
-
The image representing this record.
- oid: string
-
OID, aka. UUID.
- partner: SimpleTaggingEntity
-
The external team that this sublist belongs to. It is null if this sublist can't be accessed by a member of external teams.
- archivedAt: string
-
When this sublist was archived. It is null if not archived.
- start: string
-
When this sublist was aimed to start, or null if not specified.
- due: string
-
When this sublist was aimed to complete, or null if not specified.
- owner: SublistOwner
-
The project this sublist belongs to.
- createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"name": "Sublist 101",
"id": "Sublist101",
"nameText": "Sublist 101",
"nameHtml": "Sublist 101",
"url": "https://quire.io/w/my_project?sublist=Sublist101",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"archivedAt": "2020-02-22T02:06:58.158Z",
"start": "2024-01-02",
"due": "2024-05-25",
"owner": {
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
}
SublistOwner: object
- type: string
-
The type of this object.
- url: string
-
Url of this record on Quire website.
- id: string
-
ID.
- iconColor: string
-
The color of the icon representing this record. It is an index of our predefined color palette.
- image: string
-
The image representing this record.
- name: string
-
Name.
- oid: string
-
OID, aka. UUID.
Example
{
"type": "Project",
"url": "https://quire.io/u/my_id",
"id": "my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
Tag: object
- global: boolean
-
Whether this is a global tag. Note: it won't be returned if this is not a global tag.
- name: string
-
The name.
- color: string
-
The color. It is an index of our predefined color palette. The first digit is between 0 and 5, and the second between 0 and 7. The color palette can be found in our Quire's color picker.
- oid: string
-
OID, aka. UUID.
- project: SimpleIdentity
-
The project this object belongs to.
- createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"global": true,
"name": "Later",
"color": "35",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"project": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Task: object
- successors: string[]
-
Successors of this task.
Example,
['#135', '#26']
-
string - oid: string
-
OID, aka. UUID.
- id: integer
- name: string
-
This task's name.
- nameText: string
-
This task's name but excluding markdown characters.
- nameHtml: string
-
This task's name in a form of a HTML fragment converted from markdown.
- descriptionText: string
-
Description but excluding markdown characters.
- descriptionHtml: string
-
Description in a form of a HTML fragment converted from markdown.
- description: string
-
Description about this task.
- recurrence: Recurrence
-
The recurring information of this task. It is null if it is not a recurring task.
- timelogs: Timelog
-
The timelogs of this task if available.
-
Timelog - etc: integer
-
The estimed time to complete, or null if not specified. Unit: seconds.
- priority: integer
-
The priority of this task. Its value must be between -1 (lowest) and 2 (highest). Default: 0.
- start: string
-
When to start this task.Note: if time is specified, the millisecond will be
001
. Otherwise, it is000
(so are the hour, minute and second fields). - due: string
-
When to complete this task. Note: if time is specified, the millisecond will be 001. Otherwise, it is 000 (so are the hour, minute and second fields).
- status: integer
-
The status of this task. Its value must be between 0 and 100. If 100, it means completed.
- assignors: SimpleIdentity
-
Users who have assigned this tasks to a user. For example, the first item of assignees is assigned by the first item of assignors.
-
SimpleIdentity - partnerBy: SimpleIdentity
-
The user who assigned this task to an external team. It is null if this task doesn't belong to any external team.
- partner: SimpleTaggingEntity
-
The external team that this task belongs to. It is null if this task doesn't belong to any external team.
- assignees: SimpleIdentity
-
Users who are assigned to this task.
-
SimpleIdentity - tags: SimpleTaggingEntity
-
Tags that are tagged to this task.
-
SimpleTaggingEntity - order: integer
-
The order of this task shown on the board view. The smaller the number is, the ealier the task is shown. It is meaningless if not in a board view.
- attachments: Attachment
-
The attachments of this task.
-
Attachment - cover: string
-
The id of the attachment that is used as a cover of this task.
- childCount: integer
-
Number of subtasks of this task. To retrieve these subtasks, make the GET request to "/task/list/{oid}".
- referrers: Referrer
-
A list of referrers that refer this task. Note: some of them might no longer exist.
-
Referrer - toggledAt: string
-
When this task's status was changed last time.
- toggledBy: SimpleIdentity
-
The user who changed this task's status.
- editedAt: string
-
When this record was edited last time.
- peekaboo: boolean
-
Whether this task was peekabooed. It is null if not peekabooed.
- section: boolean
-
Whether this task is a section. It is null if it is a normal task
- url: string
-
Url of this task on Quire website.
- favorites: SimpleIdentity
-
Users who favorite this task.
-
SimpleIdentity - followers: SimpleIdentity
-
Users who follow this task.
-
SimpleIdentity - mutes: SimpleIdentity
-
Users who don't want any nofications of this task even they're assinged to it.
-
SimpleIdentity - project: SimpleIdentity
-
The project this task belongs to.
- createdAt: string
-
When this record was created.
- createdBy: SimpleIdentity
-
The user who created this record.
Example
{
"successors": [
"string"
],
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
"id": 12,
"name": "Design new **logo**",
"nameText": "Design new logo",
"nameHtml": "Design new <b>logo</b>",
"descriptionText": "This is a cool task.",
"descriptionHtml": "This is a <i>cool</i> task.",
"description": "This is a *cool* task.",
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"timelogs": [
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
],
"etc": 500,
"priority": 0,
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"status": 0,
"assignors": [
"#/definitions/SimpleIdentity"
],
"partnerBy": "#/definitions/SimpleIdentity",
"partner": {
"color": "35",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"assignees": [
"#/definitions/SimpleIdentity"
],
"tags": [
"#/definitions/SimpleTaggingEntity"
],
"order": 99,
"attachments": [
{
"name": "file.zip",
"length": 20000,
"type": 1,
"url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
],
"cover": "qfqVmUtC",
"childCount": 5,
"referrers": [
{
"user": "wrSpgghWFCzPHBqiShSurDeD",
"when": "2018-12-22T02:06:58.158Z",
"task": "wrSpgghWFCzPHBqiShSurDeD"
}
],
"toggledAt": "2018-12-22T02:06:58.158Z",
"toggledBy": "#/definitions/SimpleIdentity",
"editedAt": "2018-12-22T02:06:58.158Z",
"peekaboo": true,
"section": true,
"url": "https://quire.io/w/my_project/123",
"favorites": [
"#/definitions/SimpleIdentity"
],
"followers": [
"#/definitions/SimpleIdentity"
],
"mutes": [
"#/definitions/SimpleIdentity"
],
"project": "#/definitions/SimpleIdentity",
"createdAt": "2018-12-22T02:06:58.158Z",
"createdBy": "#/definitions/SimpleIdentity"
}
Timelog: object
- start: string
-
When the time log started
- end: string
-
When the time log ended
- user: SimpleIdentity
-
The user who did this.
- billable: boolean
-
Whether this time log is billable. Omitted if false.
- note: string
-
A note.
Example
{
"start": "2023-02-20T00:00:00.000Z",
"end": "2023-02-20T00:05:35.000Z",
"user": {
"id": "my_id",
"url": "https://quire.io/u/my_id",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"name": "Foo",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
},
"billable": true,
"note": "A piece of cake"
}
UpdateCommentBody: object
- description: string
-
(Optional) The new content of the comment.
- pinned: boolean
-
(Optional) Whether to pin this comment.
Example
{
"description": "Adjust style",
"pinned": false
}
UpdateOrganizationBody: object
- followers: string[]
-
(Optional) OID of the users to replace the followers of this organization. Please refer to
addFollowers()
for more details. -
string - addFollowers: string[]
-
(Optional) OID of the followers to be added to this organization.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
-
string - removeFollowers: string[]
-
(Optional) OID of the followers to be removed from this organization. Please refer to
addFollowers()
for more details. -
string
Example
{
"followers": [
"string"
],
"addFollowers": [
"string"
],
"removeFollowers": [
"string"
]
}
UpdateProjectBody: object
- followers: string[]
-
(Optional) OID of the users to replace the followers of this project. Please refer to
addFollowers()
for more details. -
string - addFollowers: string[]
-
(Optional) OID of the followers to be added to this project.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
-
string - removeFollowers: string[]
-
(Optional) OID of the followers to be removed from this project. Please refer to
addFollowers()
for more details. -
string
Example
{
"followers": [
"tzufRLqCnud74dARyDSvjWDl",
"app"
],
"addFollowers": [
"sfsvLbDVPvi1QMf2GkDn7VSy"
],
"removeFollowers": [
"aBuz4MwfZ5CasOae6stnFa2f"
]
}
UpdateStatusBody: object
- name: string
-
(Optional) The new name of the status.
- value: integer
-
(Optional) The new value of the status. It is a non-negative value to indicate the progress. The value must be unique. If it is great or equals to 100, it means the task has been completed.
- color: string
-
(Optional) The color of the status.
Example
{
"name": "Later",
"value": "true",
"color": "35"
}
UpdateSublistBody: object
- name: string
-
(Optional) The name of the sublist.
- id: string
-
(Optional) ID of the sublist.
- archived: boolean
-
(Optional) Specify true to archive this sublist. Or, specify false to undo the previous archiving if any.
- iconColor: string
-
(Optional) The color of the icon representing this record. It is an index of our predefined color palette.
- description: string
-
(Optional) An optional description about this task.
- image: string
-
(Optional) The image representing this record. It shall be one of the predined images: 'icon-view-list', 'icon-view-kanban', 'icon-briefcase-o', 'icon-rocket-o', 'icon-bug-o', 'icon-leaf-o', 'icon-clapperboard', 'icon-sitemap-o', 'icon-flash-on-o', 'icon-piggy-bank-o', 'icon-graduation-cap-o', 'icon-paper-plane-o', 'icon-globe-o', 'icon-music-o', 'icon-detail', 'icon-beach-o', 'icon-paper', 'icon-home-o', 'icon-building', 'icon-database-o', 'icon-microscope-o', 'icon-hamburger-o', 'icon-trophy-o', 'icon-thumbs-o-up', 'icon-thumbs-o-down', 'icon-smile-o', 'icon-frown-o', 'icon-meh-o', 'icon-bullseye', 'icon-square-dotted-o'
- start: string
-
(Optional) When this sublist was aimed to start.
- due: string
-
(Optional) When this sublist was aimed to complete.
- changes: Change
-
(Optional) A list of changes to control what tasks to be added to or removed from this sublist.
-
Change
Example
{
"name": "Sublist 101",
"id": "Sublist101",
"archived": true,
"iconColor": "37",
"description": "**Great** sublist to start with.",
"image": "icon-view-kanban",
"start": "2024-01-02",
"due": "2024-05-25",
"changes": [
{
"exclude": false,
"single": false,
"task": "2MmYOpJH_ZLeehIjjytH1Rwr"
}
]
}
UpdateTagBody: object
- name: string
-
(Optional) The new name of the tag.
- global: boolean
-
(Optional) Whether this tag is global. If you specify false here, you have to specify "project" for what project you'd like to put the tag to.
- color: string
-
(Optional) The color of the tag.
- project: string
-
(Optional) OID of the project this tag shall be limited to. It is used only if "global" is also specified and false. Otherwise, it is simply ignored.
Example
{
"name": "Later",
"global": true,
"color": "35",
"project": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
UpdateTaskBody: object
- name: string
-
(Optional) New name of the task.
- assignees: string[]
-
(Optional) OID, ID emails of the users that this task is assigned to. If specified, it will replace any existing assignee(s). Instead of replacment, you can use "addAssignees" or "removeAssignees".
-
string - recurrence: Recurrence
-
(Optional) The recurring information of this task. It is null if it is not a recurring task.
freq
:daily
,weekly
,monthly
,yearly
interval
: The interval between each freq iteration. Default: 1.until
: The last recurrence is less than or equals to the specified value. Default: never ends.bymonth
: If given, it must be an integer, starting from 1, meaning the month to apply to. It is supported only iffreq
isyearly
. Default: 1 meaning January.byweekno
: If given, it must be an integer, meaning the week number, orlast
meaning the last week. The value starts with 1. It is supported only formonthly
andyearly
.byweekday
: If given, it must be an integer: 0 for Monday, 1 for Tuesday, and so on. Forweekly
, it is a list of integers, such as[1]
and[0, 3]
. When given, these values will define the weekdays where the recurrence will be applied.bydayno
: If given, it must be an integer, starting from 1, meaning the day to apply to. It is supported only formonthly
andyearly
.- Note:
byweekday
andbydayno
can not be specified at the same time.
- Note:
dupsubtasks
: Whether to duplicate the subtasks when the task is completed. Default: true.sincelatest
: Whether to repeat it since the last date the task is completed. It is available only fordaily
. Default: false.
-
peekaboo:
- boolean
- integer
-
(Optional) Specify true or a positive integer to peekaboo this task and its subtasks, if any. Or, specify false to undo the previous peekaboo if any.
If a positive integer is specified, it is the number of days to peekaboo a task. If true, it won't be reshowed automatically.
Default: false.
- successors: string[]
-
(Optional) OID or ID of tasks to replace the successors of this task.
To specify task's ID, you can specify as
#id
orid
.Example,
'AMZ0-59R125-35KTK2356G'
,'#13'
, and135
. -
string - yourField: object
-
(Optional) Specify a value to your custom field. The name and value depends on your definition of the custom field.
- For Money type, please specify the value directly (without currency).
- For User or Task type, please specify the OID.
- For Duration type, please specify number of seconds.
- For multiple values, you can specify a list of values.
- removeTags: string[]
-
(Optional) OID or names of the tags to be removed from this task. Note: if tag's name is specified, it is case-insensitive.
-
string - addAssignees: string[]
-
(Optional) OID or ID of the assignees to be added to this task.
-
string - removeAssignees: string[]
-
(Optional) OID or ID of the assignees to be removed from this task.
-
string - addSuccessors: string[]
-
(Optional) OID or ID of tasks to be added to the successors of this task.
To specify task's ID, you can specify as
#id
orid
.Example,
'AMZ0-59R125-35KTK2356G'
,'#13'
, and135
. -
string - removeSuccessors: string[]
-
(Optional) OID or ID of tasks to be removed from the successors of this task.
To specify task's ID, you can specify as
#id
orid
.Example,
'AMZ0-59R125-35KTK2356G'
,'#13'
, and135
. -
string - followers: string[]
-
(Optional) OID, ID or emails of the users to replace the followers of this task. Please refer to
addFollowers()
for more details. -
string - addFollowers: string[]
-
(Optional) OID or ID of the followers to be added to this task.If "me" is specified, it means the current user will follow this task. If the application would like to follow (i.e., receive notifications), it can pass "app" as one of OIDs. In additions, it can pass additional information in one of the following syntaxes.
Syntax 1: "app|team" or "app|team|channel" where team and channel can be any value.
Syntax 2: "app|/path" where "/path" can be any URL path. It will be appended to the hook's URL when calling the registered hook. For example, if the hook URL is " https://super.app/hooks/standard" and the follower is "app|/soc1/33456/a7", then the notification will be sent to " https://super.app/hooks/standard/soc1/33456/a7".
-
string - removeFollowers: string[]
-
(Optional) OID or ID of the followers to be removed from this task.Please refer to
addFollowers()
for more details. -
string - description: string
-
(Optional) Change the description about this task.
- section: boolean
-
(Optional) Specify whether this task is a section or a normal task.
- addTags: string[]
-
(Optional) OID or names of the tags to be added to this task. Note: if tag's name is specified, it is case-insensitive.
-
string - asUser: boolean
-
(Optional) Specify true if you'd like to make this task as updated by the app. Default: false -- the task is marked as created by the user authorizing the app.
- tags: string[]
-
(Optional) OID or names of the tags to replace existing tags of to this task. If specified, it will replace any existing tag(s). Instead of replacment, you can use "addTags" or "removeTags". Note: if tag's name is specified, it is case-insensitive.
-
string - start: string
-
(Optional) An optional start time. If you'd like to specify time, use
yyyy-mm-ddThh:mmZ
, e.g.,2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.If you don't like to set time, use
yyyy-mm-dd
, e.g.,2020-10-30
.Also note: for backward compatibility,
2020-10-30T00:00:00
(all zero and up to second) is considered the same as2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify2020-10-30T00:00
(no second) - due: string
-
(Optional) An optional due time. If you'd like to specify time, use
yyyy-mm-ddThh:mmZ
, e.g.,2020-10-30T09:30Z
. Note: they must be in UTC time, and we don't support seconds.If you don't like to set time, use
yyyy-mm-dd
, e.g.,2020-10-30
.Also note: for backward compatibility,
2020-10-30T00:00:00
(all zero and up to second) is considered the same as2020-10-30
, i.e., without time. OTOH, To specify time at midnight in UTC, please specify2020-10-30T00:00
(no second) - priority: integer
-
(Optional) Change the priority of this task. Its value must be between -1 (lowest) and 2 (highest).
- etc: integer
-
(Optional) The estimated time to complete. If specified, it must be non-negative or null. If null is specified, it means to clear the value.Unit: seconds.
- status: integer
-
(Optional) An optional status to change to. Its value must be between 0 and 100. To complete a task, specify 100.
Example
{
"name": "New idea",
"assignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"recurrence": {
"byweekday": [
"integer (int32)"
],
"interval": 1,
"dupsubtasks": false,
"sincelatest": true,
"byweekno": 2,
"freq": "weekly",
"bydayno": 25,
"bymonth": 10,
"until": "2020-12-22"
},
"peekaboo": true,
"successors": [
"string"
],
"yourField": "object",
"removeTags": [
"mPAQrYU1qt8wAYAInKRlTnvl"
],
"addAssignees": [
"6QMKkEPBVWETLWrXqws94ALU"
],
"removeAssignees": [
"Job4NSW9xK6Owcke8iKj7zyH"
],
"addSuccessors": [
"string"
],
"removeSuccessors": [
"string"
],
"followers": [
"tzufRLqCnud74dARyDSvjWDl",
"app"
],
"addFollowers": [
"sfsvLbDVPvi1QMf2GkDn7VSy"
],
"removeFollowers": [
"aBuz4MwfZ5CasOae6stnFa2f"
],
"description": "This is a **cool** task.",
"section": true,
"addTags": [
"X6nmx9XjEO2wKbqeB1pRT43C"
],
"asUser": true,
"tags": [
"ITaVbkhh3iVcEcV3vuSLeE2k"
],
"start": "2018-12-20T00:00:00.000Z",
"due": "2018-12-22T00:00:00.000Z",
"priority": 0,
"etc": 0,
"status": 100
}
User: object
- name: string
-
Name.
- id: string
-
ID.
- nameText: string
-
Name but excluding markdown characters.
- nameHtml: string
-
Name in a form of a HTML fragment converted from markdown.
- url: string
-
Url of this record on Quire website.
- website: string
-
Website.
- email: string
-
Email address.
- descriptionText: string
-
Description but excluding markdown characters.
- descriptionHtml: string
-
Description in a form of a HTML fragment converted from markdown.
- description: string
-
Description.
- iconColor: string
-
The color of the icon representing this record. It is an index of our predefined color palette.
- image: string
-
The image representing this record.
- oid: string
-
OID, aka. UUID.
Example
{
"name": "John",
"id": "john",
"nameText": "John",
"nameHtml": "John",
"url": "https://quire.io/u/john",
"website": "https://coolwebsites.com",
"email": "[email protected]",
"descriptionText": "This is cool!",
"descriptionHtml": "This is <i>cool</i>!",
"description": "This is *cool*!",
"iconColor": "37",
"image": "https://quire.s3.amazonaws.com/oid/image.jpg",
"oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}
Get all comments of the given project.
Returns all comment records of the given project by its ID.
ID of project.
successful operation
Response Content-Types: application/json
Response Example (200 OK)
[ { "oid": "iDsPd.QP_qM.hN.Trymukn8b", "descriptionText": "It is cool!", "descriptionHtml": "It is <i>cool</i>!", "description": "It is *cool*!", "attachments": [ { "name": "file.zip", "length": 20000, "type": 1, "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png", "createdAt": "2018-12-22T02:06:58.158Z", "createdBy": { "id": "my_id", "url": "https://quire.io/u/my_id", "iconColor": "37", "image": "https://quire.s3.amazonaws.com/oid/image.jpg", "name": "Foo", "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld" } } ], "editedBy": "#/definitions/SimpleIdentity", "editedAt": "2018-12-22T02:06:58.158Z", "pinAt": "2018-12-22T02:06:58.158Z", "pinBy": "#/definitions/SimpleIdentity", "url": "string", "owner": { "type": "Project", "url": "https://quire.io/u/my_id", "name": "Foo", "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld" }, "createdAt": "2018-12-22T02:06:58.158Z", "createdBy": "#/definitions/SimpleIdentity" } ]