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.
    • Pull information from other locations such as email and Evernote into Quire.
    • Push information from Quire to other locations such as email and Zapier.

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:

  1. Register Your Application on Quire
  2. Ask a Quire User to Grant Access to Your Application
  3. Retrieve an Access Token
  4. Make Authenticated Requests

Register Your Application on Quire

Quire API

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

Quire Open API

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

Quire Grant Access

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": "john@gmail.cc",
  "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

Quire 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"
  }
}

Host Revocation

When the user revokes the grant to a host (either a project or an organization), 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": "host-revocation",
    "token": "the-refresh-token",
    "host": "host-oid",
    "otype": "host-type",
  }
}

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 the data 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 the data 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.

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 and channel 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: info@quire.io
Schemes: https
Version: 1.0.0

chat

Chat channels.

Create a chat channel by owner OID.

POST /chat/{ownerType}/{ownerOid}

Adds a new chat channel to the specified owner (currently only project).

ownerType: string
in path

Owner type. Currently only project is supported. If omitted, project is assumed; e.g., /abc123 is equivalent to /project/abc123.

ownerOid: string
in path

Owner OID.

name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Request Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?chat=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Create a chat channel by owner ID.

POST /chat/id/{ownerType}/{ownerId}

Adds a new chat channel to the specified owner by ID (currently only project).

ownerType: string
in path

Owner type. Currently only project is supported. If omitted, project is assumed; e.g., /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

Owner ID.

name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Request Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?chat=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get a chat channel by ID.

GET /chat/id/{ownerType}/{ownerId}/{id}

Returns the full chat channel record for the given owner and channel ID.

ownerType: string
in path

Owner type. Currently only project is supported. If omitted, project is assumed; e.g., /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

Owner ID.

id: string
in path

Chat channel ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?chat=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get a chat channel by OID.

GET /chat/{oid}

Returns the full chat channel record.

oid: string
in path

Chat channel OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?chat=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

List chat channels by owner ID.

GET /chat/list/id/{ownerType}/{ownerId}

Returns all chat channel records for the given owner.

ownerType: string
in path

Owner type. Currently only project is supported. If omitted, project is assumed; e.g., /list/id/foo is equivalent to /list/id/project/foo.

ownerId: string
in path

Owner ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "url": "https://quire.io/w/my_project?chat=Highlight101",
    "name": "Highlight 101",
    "id": "Highlight101",
    "nameText": "Highlight 101",
    "nameHtml": "Highlight 101",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "partner": {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "start": "2024-01-02",
    "due": "2024-05-25",
    "archivedAt": "2020-02-22T02:06:58.158Z",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/prj_id",
      "id": "my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

List chat channels by owner OID.

GET /chat/list/{ownerType}/{ownerOid}

Returns all chat channel records for the given owner.

ownerType: string
in path

Owner type. Currently only project is supported. If omitted, project is assumed; e.g., /list/abc123 is equivalent to /list/project/abc123.

ownerOid: string
in path

Owner OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "url": "https://quire.io/w/my_project?chat=Highlight101",
    "name": "Highlight 101",
    "id": "Highlight101",
    "nameText": "Highlight 101",
    "nameHtml": "Highlight 101",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "partner": {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "start": "2024-01-02",
    "due": "2024-05-25",
    "archivedAt": "2020-02-22T02:06:58.158Z",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/prj_id",
      "id": "my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Update a chat channel by ID.

PUT /chat/id/{ownerType}/{ownerId}/{id}

Updates an existing chat channel and returns the updated record.

ownerType: string
in path

Owner type. Currently only project is supported. If omitted, project is assumed; e.g., /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

Owner ID.

id: string
in path

Chat channel ID.

name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Request Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?chat=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Update a chat channel by OID.

PUT /chat/{oid}

Updates an existing chat channel and returns the updated record.

oid: string
in path

Chat channel OID.

name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Request Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?chat=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Delete a chat channel by ID.

DELETE /chat/id/{ownerType}/{ownerId}/{id}

Deletes the specified chat channel.

ownerType: string
in path

Owner type. Currently only project is supported. If omitted, project is assumed; e.g., /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

Owner ID.

id: string
in path

Chat channel ID.

200 OK

ok

Response Content-Types: application/json

Delete a chat channel by OID.

DELETE /chat/{oid}

Deletes the specified chat channel.

oid: string
in path

Chat channel OID.

200 OK

ok

Response Content-Types: application/json

comment

A comment that a user can add to a chat channel or a task.

Upload an attachment to a comment (by comment OID).

POST /comment/attach/{commentOid}/{filename}

Uploads an attachment to an existing comment.

commentOid: string
in path

Comment OID.

filename: string
in path

Attachment file name, e.g., readme.txt.

Provide a meaningful extension so the browser can recognize the MIME type (e.g., revenue.pdf, contacts.json).

Alternatively, set the MIME type via the Content-Type header.

Request Example
"object"
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "file.txt",
  "length": 20000,
  "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png"
}

Add a new comment to a chat channel (by chat OID).

POST /comment/chat/{chatOid}

Adds a new comment to the specified chat channel.

chatOid: string
in path

OID of the chat channel.

description: string

Content of the new comment (Markdown supported).

pinned: boolean

(Optional) Whether to pin this comment. Default: false.

asUser: boolean

(Optional) If true, marks this comment as created by the app. Default: false (created by the authorizing user).

Request Example
{
  "description": "Adjust style",
  "pinned": false,
  "asUser": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "oid": "iDsPd.QP_qM.hN.Trymukn8b",
  "description": "It is *cool*!",
  "descriptionText": "It is cool!",
  "descriptionHtml": "It is <i>cool</i>!",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": {
        "id": "my_id",
        "url": "https://quire.io/u/my_id",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "url": "string",
  "pinBy": "#/definitions/SimpleIdentity",
  "pinAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "editedBy": "#/definitions/SimpleIdentity",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/my_id",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Add a new comment to a task (by task OID).

POST /comment/task/{taskOid}

Adds a new comment to the specified task.

taskOid: string
in path

OID of the task.

description: string

Content of the new comment (Markdown supported).

pinned: boolean

(Optional) Whether to pin this comment. Default: false.

asUser: boolean

(Optional) If true, marks this comment as created by the app. Default: false (created by the authorizing user).

Request Example
{
  "description": "Adjust style",
  "pinned": false,
  "asUser": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "oid": "iDsPd.QP_qM.hN.Trymukn8b",
  "description": "It is *cool*!",
  "descriptionText": "It is cool!",
  "descriptionHtml": "It is <i>cool</i>!",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": {
        "id": "my_id",
        "url": "https://quire.io/u/my_id",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "url": "string",
  "pinBy": "#/definitions/SimpleIdentity",
  "pinAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "editedBy": "#/definitions/SimpleIdentity",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/my_id",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Add a new comment to a chat channel (by project ID and chat ID).

POST /comment/id/{projectId}/chat/{chatId}

Adds a new comment to the specified chat channel.

projectId: string
in path

Project ID.

chatId: string
in path

Chat channel ID.

description: string

Content of the new comment (Markdown supported).

pinned: boolean

(Optional) Whether to pin this comment. Default: false.

asUser: boolean

(Optional) If true, marks this comment as created by the app. Default: false (created by the authorizing user).

Request Example
{
  "description": "Adjust style",
  "pinned": false,
  "asUser": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "oid": "iDsPd.QP_qM.hN.Trymukn8b",
  "description": "It is *cool*!",
  "descriptionText": "It is cool!",
  "descriptionHtml": "It is <i>cool</i>!",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": {
        "id": "my_id",
        "url": "https://quire.io/u/my_id",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "url": "string",
  "pinBy": "#/definitions/SimpleIdentity",
  "pinAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "editedBy": "#/definitions/SimpleIdentity",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/my_id",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Add a new comment to a task (by project ID and task ID).

POST /comment/id/{projectId}/task/{taskId}

Adds a new comment to the specified task.

projectId: string
in path

Project ID.

taskId: integer
in path

Task ID.

description: string

Content of the new comment (Markdown supported).

pinned: boolean

(Optional) Whether to pin this comment. Default: false.

asUser: boolean

(Optional) If true, marks this comment as created by the app. Default: false (created by the authorizing user).

Request Example
{
  "description": "Adjust style",
  "pinned": false,
  "asUser": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "oid": "iDsPd.QP_qM.hN.Trymukn8b",
  "description": "It is *cool*!",
  "descriptionText": "It is cool!",
  "descriptionHtml": "It is <i>cool</i>!",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": {
        "id": "my_id",
        "url": "https://quire.io/u/my_id",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "url": "string",
  "pinBy": "#/definitions/SimpleIdentity",
  "pinAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "editedBy": "#/definitions/SimpleIdentity",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/my_id",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get all comments of a chat channel (by project ID and chat ID).

GET /comment/list/id/{projectId}/chat/{chatId}

Returns all comments of the specified chat channel.

projectId: string
in path

Project ID.

chatId: string
in path

Chat channel ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "oid": "iDsPd.QP_qM.hN.Trymukn8b",
    "description": "It is *cool*!",
    "descriptionText": "It is cool!",
    "descriptionHtml": "It is <i>cool</i>!",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": {
          "id": "my_id",
          "url": "https://quire.io/u/my_id",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "url": "string",
    "pinBy": "#/definitions/SimpleIdentity",
    "pinAt": "2018-12-22T02:06:58.158Z",
    "editedAt": "2018-12-22T02:06:58.158Z",
    "editedBy": "#/definitions/SimpleIdentity",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/my_id",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Get all comments of a task (by project ID and task ID).

GET /comment/list/id/{projectId}/task/{taskId}

Returns all comments of the specified task.

projectId: string
in path

Project ID.

taskId: integer
in path

Task ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "oid": "iDsPd.QP_qM.hN.Trymukn8b",
    "description": "It is *cool*!",
    "descriptionText": "It is cool!",
    "descriptionHtml": "It is <i>cool</i>!",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": {
          "id": "my_id",
          "url": "https://quire.io/u/my_id",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "url": "string",
    "pinBy": "#/definitions/SimpleIdentity",
    "pinAt": "2018-12-22T02:06:58.158Z",
    "editedAt": "2018-12-22T02:06:58.158Z",
    "editedBy": "#/definitions/SimpleIdentity",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/my_id",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Get all comments of a task (by task OID).

GET /comment/list/task/{taskOid}

Returns all comments of the specified task.

taskOid: string
in path

OID of the task.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "oid": "iDsPd.QP_qM.hN.Trymukn8b",
    "description": "It is *cool*!",
    "descriptionText": "It is cool!",
    "descriptionHtml": "It is <i>cool</i>!",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": {
          "id": "my_id",
          "url": "https://quire.io/u/my_id",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "url": "string",
    "pinBy": "#/definitions/SimpleIdentity",
    "pinAt": "2018-12-22T02:06:58.158Z",
    "editedAt": "2018-12-22T02:06:58.158Z",
    "editedBy": "#/definitions/SimpleIdentity",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/my_id",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Get all comments of a chat channel (by chat OID).

GET /comment/list/chat/{chatOid}

Returns all comments of the specified chat channel.

chatOid: string
in path

OID of the chat channel.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "oid": "iDsPd.QP_qM.hN.Trymukn8b",
    "description": "It is *cool*!",
    "descriptionText": "It is cool!",
    "descriptionHtml": "It is <i>cool</i>!",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": {
          "id": "my_id",
          "url": "https://quire.io/u/my_id",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "url": "string",
    "pinBy": "#/definitions/SimpleIdentity",
    "pinAt": "2018-12-22T02:06:58.158Z",
    "editedAt": "2018-12-22T02:06:58.158Z",
    "editedBy": "#/definitions/SimpleIdentity",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/my_id",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Update an existing comment (by comment OID).

PUT /comment/{commentOid}

Updates an existing comment and returns the updated record.

commentOid: string
in path

Comment OID.

description: string

(Optional) New comment content (Markdown supported).

pinned: boolean

(Optional) Whether the comment is pinned.

Request Example
{
  "description": "Adjust style",
  "pinned": false
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "oid": "iDsPd.QP_qM.hN.Trymukn8b",
  "description": "It is *cool*!",
  "descriptionText": "It is cool!",
  "descriptionHtml": "It is <i>cool</i>!",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": {
        "id": "my_id",
        "url": "https://quire.io/u/my_id",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "url": "string",
  "pinBy": "#/definitions/SimpleIdentity",
  "pinAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "editedBy": "#/definitions/SimpleIdentity",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/my_id",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Delete an existing comment (by comment OID).

DELETE /comment/{commentOid}

Deletes an existing comment.

commentOid: string
in path

Comment OID.

200 OK

ok

Response Content-Types: application/json

doc

Documents.

doc

Create a document by owner OID.

POST /doc/{ownerType}/{ownerOid}

Adds a new document to the specified owner (project, organization, folder, or smart-folder).

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed; e.g., /abc123 is equivalent to /project/abc123.

ownerOid: string
in path

Owner OID.

name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Request Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?doc=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}
doc

Create a document by owner ID.

POST /doc/id/{ownerType}/{ownerId}

Adds a new document to the specified owner by ID (project, organization, folder, or smart-folder).

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed; e.g., /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

Owner ID.

name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Request Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?doc=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}
doc

Get a document by ID.

GET /doc/id/{ownerType}/{ownerId}/{id}

Returns the full document record for the given owner and document ID.

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed; e.g., /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

Owner ID.

id: string
in path

Document ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?doc=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}
doc

Get a document by OID.

GET /doc/{oid}

Returns the full document record.

oid: string
in path

Document OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?doc=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}
doc

List documents by owner ID.

GET /doc/list/id/{ownerType}/{ownerId}

Returns all documents for the specified owner.

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed; e.g., /list/id/foo is equivalent to /list/id/project/foo.

ownerId: string
in path

Owner ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "url": "https://quire.io/w/my_project?doc=Highlight101",
    "name": "Highlight 101",
    "id": "Highlight101",
    "nameText": "Highlight 101",
    "nameHtml": "Highlight 101",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "partner": {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "start": "2024-01-02",
    "due": "2024-05-25",
    "archivedAt": "2020-02-22T02:06:58.158Z",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/prj_id",
      "id": "my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]
doc

List documents by owner OID.

GET /doc/list/{ownerType}/{ownerOid}

Returns all documents for the specified owner.

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed; e.g., /list/abc123 is equivalent to /list/project/abc123.

ownerOid: string
in path

Owner OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "url": "https://quire.io/w/my_project?doc=Highlight101",
    "name": "Highlight 101",
    "id": "Highlight101",
    "nameText": "Highlight 101",
    "nameHtml": "Highlight 101",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "partner": {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "start": "2024-01-02",
    "due": "2024-05-25",
    "archivedAt": "2020-02-22T02:06:58.158Z",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/prj_id",
      "id": "my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]
doc

Update a document by ID.

PUT /doc/id/{ownerType}/{ownerId}/{id}

Updates an existing document and returns the updated record.

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed; e.g., /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

Owner ID.

id: string
in path

Document ID.

name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Request Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?doc=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}
doc

Update a document by OID.

PUT /doc/{oid}

Updates an existing document and returns the updated record.

oid: string
in path

Document OID.

name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Request Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?doc=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}
doc

Delete a document by ID.

DELETE /doc/id/{ownerType}/{ownerId}/{id}

Deletes the specified document.

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed; e.g., /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

Owner ID.

id: string
in path

Document ID.

200 OK

ok

Response Content-Types: application/json
doc

Delete a document by OID.

DELETE /doc/{oid}

Deletes the specified document.

oid: string
in path

Document OID.

200 OK

ok

Response Content-Types: application/json

notification

Send a notification to the user who authorized this app. Typically used to surface errors or important alerts.

Send a notification.

POST /notification

Sends a notification to the current authorized user.

message: string

Notification message.

url: string

(Optional) URL associated with the message. When provided, the client may render the message as a hyperlink.

Request Example
{
  "message": "Unable to synchronize",
  "url": "https://superheros.com/sync"
}
200 OK

ok

Response Content-Types: application/json

organization

An organization is a group of projects where members collaborate.

Get an organization by ID.

GET /organization/id/{id}

Returns the complete organization record for the given ID.

id: string
in path

Organization ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "My Organization",
  "id": "my_organization",
  "email": "info@company.com",
  "url": "https://quire.io/c/my_organization",
  "nameText": "My Organization",
  "nameHtml": "My Organization",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "subscription": {
    "due": "2038-02-22T02:06:58Z",
    "expired": false,
    "plan": "Professional"
  },
  "followers": [
    {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get an organization by OID.

GET /organization/{oid}

Returns the complete organization record for the given OID.

oid: string
in path

Organization OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "My Organization",
  "id": "my_organization",
  "email": "info@company.com",
  "url": "https://quire.io/c/my_organization",
  "nameText": "My Organization",
  "nameHtml": "My Organization",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "subscription": {
    "due": "2038-02-22T02:06:58Z",
    "expired": false,
    "plan": "Professional"
  },
  "followers": [
    {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get all organizations.

GET /organization/list

Returns organization records that the current user can authorize for this application, or already has authorized.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "My Organization",
    "id": "my_organization",
    "email": "info@company.com",
    "url": "https://quire.io/c/my_organization",
    "nameText": "My Organization",
    "nameHtml": "My Organization",
    "website": "https://coolwebsites.com",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "followers": [
      {
        "id": "my_id",
        "url": "https://quire.io/u/my_id",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Update an organization by ID.

PUT /organization/id/{id}

Updates an existing organization and returns the complete updated record.

id: string
in path

Organization ID.

followers: string[]

(Optional) Followers to replace the current followers of this organization (user OIDs). This replaces all existing followers. To modify incrementally, use addFollowers() or removeFollowers().

addFollowers: string[]

(Optional) Followers to add to this organization (user OIDs). Special values:

  • "me": the current user follows the organization
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL when invoking the registered hook. Example: hook https://super.app/hooks/standard + follower app|/soc1/33456/a7https://super.app/hooks/standard/soc1/33456/a7
removeFollowers: string[]

(Optional) Followers to remove from this organization (user OIDs). See addFollowers() for details on special values.

Request Example
{
  "followers": [
    "string"
  ],
  "addFollowers": [
    "string"
  ],
  "removeFollowers": [
    "string"
  ]
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "My Organization",
  "id": "my_organization",
  "email": "info@company.com",
  "url": "https://quire.io/c/my_organization",
  "nameText": "My Organization",
  "nameHtml": "My Organization",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "followers": [
    {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Update an organization by OID.

PUT /organization/{oid}

Updates an existing organization and returns the complete updated record.

oid: string
in path

Organization OID.

followers: string[]

(Optional) Followers to replace the current followers of this organization (user OIDs). This replaces all existing followers. To modify incrementally, use addFollowers() or removeFollowers().

addFollowers: string[]

(Optional) Followers to add to this organization (user OIDs). Special values:

  • "me": the current user follows the organization
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL when invoking the registered hook. Example: hook https://super.app/hooks/standard + follower app|/soc1/33456/a7https://super.app/hooks/standard/soc1/33456/a7
removeFollowers: string[]

(Optional) Followers to remove from this organization (user OIDs). See addFollowers() for details on special values.

Request Example
{
  "followers": [
    "string"
  ],
  "addFollowers": [
    "string"
  ],
  "removeFollowers": [
    "string"
  ]
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "My Organization",
  "id": "my_organization",
  "email": "info@company.com",
  "url": "https://quire.io/c/my_organization",
  "nameText": "My Organization",
  "nameHtml": "My Organization",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "followers": [
    {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

partner

An external team (aka a partner) is a group of users who can access only the tasks assigned to that team.

Get an external team by OID.

GET /partner/{oid}

Returns the full external team record for the given OID.

oid: string
in path

External team OID.

200 OK

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",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

List external teams by project ID.

GET /partner/list/id/{projectId}

Returns all external teams in the specified project (by project ID).

projectId: string
in path

Project ID.

200 OK

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",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

List external teams by project OID.

GET /partner/list/{projectOid}

Returns all external teams in the specified project (by project OID).

projectOid: string
in path

Project OID.

200 OK

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",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

project

A project represents a prioritized list of tasks in Quire. It belongs to a single organization and is accessible to a subset of users in that organization, depending on its permissions.

Export a project to CSV by ID.

GET /project/export-csv/id/{id}

Returns a CSV string containing the project, tasks, and related data. Available on the Professional plan and above. Note: The number of allowed invocations may be more restricted.

id: string
in path

Project ID.

status: string
in query

Task status filter. Use active for active tasks, completed for completed tasks, or all for all tasks. Default: all.

merge: boolean
in query

Whether to merge multiple values of the same header into one column (e.g., all tags in a single column). Default: false.

200 OK

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 to JSON by ID.

GET /project/export-json/id/{id}

Returns a JSON map containing the project, all tasks, and related data. Available on the Professional plan and above. Note: The number of allowed invocations may be more restricted.

id: string
in path

Project ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "My Project",
  "id": "My_Project",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Export a project to JSON by OID.

GET /project/export-json/{oid}

Returns a JSON map containing the project, all tasks, and related data. Available on the Professional plan and above. Note: The number of allowed invocations may be more restricted.

oid: string
in path

Project OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "My Project",
  "id": "My_Project",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Export a project to CSV by OID.

GET /project/export-csv/{oid}

Returns a CSV string containing the project, tasks, and related data. Available on the Professional plan and above. Note: The number of allowed invocations may be more restricted.

oid: string
in path

Project OID.

status: string
in query

Task status filter. Use active for active tasks, completed for completed tasks, or all for all tasks. Default: all.

merge: boolean
in query

Whether to merge multiple values of the same header into one column (e.g., all tags in a single column). Default: false.

200 OK

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 ID.

GET /project/id/{id}

Returns the complete project record for the given ID.

id: string
in path

Project ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "activeCount": 20,
  "taskCount": 30,
  "name": "My Project",
  "id": "my_project",
  "url": "https://quire.io/w/my_project",
  "organization": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "nameText": "My Project",
  "nameHtml": "My Project",
  "rootCount": 5,
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "subscription": {
    "due": "2038-02-22T02:06:58Z",
    "expired": false,
    "plan": "Professional"
  },
  "archivedAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get a project by OID.

GET /project/{oid}

Returns the complete project record for the given OID.

oid: string
in path

Project OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "activeCount": 20,
  "taskCount": 30,
  "name": "My Project",
  "id": "my_project",
  "url": "https://quire.io/w/my_project",
  "organization": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "nameText": "My Project",
  "nameHtml": "My Project",
  "rootCount": 5,
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "subscription": {
    "due": "2038-02-22T02:06:58Z",
    "expired": false,
    "plan": "Professional"
  },
  "archivedAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get all authorized projects.

GET /project/list

Returns projects that the current user has authorized for this application.

archived: boolean
in query

Whether to include archived projects. By default, archived projects are excluded. If the parameter is present without a value, true is assumed.

add-task: boolean
in query

Whether to return only projects to which you can add tasks. Default: false. If the parameter is present without a value, true is assumed.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "activeCount": 20,
    "taskCount": 30,
    "name": "My Project",
    "id": "my_project",
    "url": "https://quire.io/w/my_project",
    "organization": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "nameText": "My Project",
    "nameHtml": "My Project",
    "rootCount": 5,
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "archivedAt": "2018-12-22T02:06:58.158Z",
    "editedAt": "2018-12-22T02:06:58.158Z",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Get authorized projects by organization ID.

GET /project/list/id/{organizationId}

Returns projects in the specified organization (by ID) that the current user has authorized.

organizationId: string
in path

Organization ID.

archived: boolean
in query

Whether to include archived projects. By default, archived projects are excluded. If the parameter is present without a value, true is assumed.

add-task: boolean
in query

Whether to return only projects to which you can add tasks. Default: false. If the parameter is present without a value, true is assumed.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "activeCount": 20,
    "taskCount": 30,
    "name": "My Project",
    "id": "my_project",
    "url": "https://quire.io/w/my_project",
    "organization": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "nameText": "My Project",
    "nameHtml": "My Project",
    "rootCount": 5,
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "archivedAt": "2018-12-22T02:06:58.158Z",
    "editedAt": "2018-12-22T02:06:58.158Z",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Get authorized projects by organization OID.

GET /project/list/{organizationOid}

Returns projects in the specified organization (by OID) that the current user has authorized.

organizationOid: string
in path

Organization OID.

archived: boolean
in query

Whether to include archived projects. By default, archived projects are excluded. If the parameter is present without a value, true is assumed.

add-task: boolean
in query

Whether to return only projects to which you can add tasks. Default: false. If the parameter is present without a value, true is assumed.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "activeCount": 20,
    "taskCount": 30,
    "name": "My Project",
    "id": "my_project",
    "url": "https://quire.io/w/my_project",
    "organization": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "nameText": "My Project",
    "nameHtml": "My Project",
    "rootCount": 5,
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "archivedAt": "2018-12-22T02:06:58.158Z",
    "editedAt": "2018-12-22T02:06:58.158Z",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Update a project by ID.

PUT /project/id/{id}

Updates an existing project and returns the complete updated record.

id: string
in path

Project ID.

followers: string[]

(Optional) Followers to replace the current followers of this project (user OIDs). This replaces all existing followers. To modify incrementally, use getAddFollowers() or getRemoveFollowers().

addFollowers: string[]

(Optional) Followers to add to this project (user OIDs). Special values:

  • "me": the current user follows the project
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL when invoking the registered hook. Example: hook https://super.app/hooks/standard + follower app|/soc1/33456/a7https://super.app/hooks/standard/soc1/33456/a7
removeFollowers: string[]

(Optional) Followers to remove from this project (user OIDs). See getAddFollowers() for details on special values.

Request Example
{
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl",
    "app"
  ],
  "addFollowers": [
    "sfsvLbDVPvi1QMf2GkDn7VSy"
  ],
  "removeFollowers": [
    "aBuz4MwfZ5CasOae6stnFa2f"
  ]
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "activeCount": 20,
  "taskCount": 30,
  "name": "My Project",
  "id": "my_project",
  "url": "https://quire.io/w/my_project",
  "organization": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "nameText": "My Project",
  "nameHtml": "My Project",
  "rootCount": 5,
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "archivedAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Update a project by OID.

PUT /project/{oid}

Updates an existing project and returns the complete updated record.

oid: string
in path

Project OID.

followers: string[]

(Optional) Followers to replace the current followers of this project (user OIDs). This replaces all existing followers. To modify incrementally, use getAddFollowers() or getRemoveFollowers().

addFollowers: string[]

(Optional) Followers to add to this project (user OIDs). Special values:

  • "me": the current user follows the project
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL when invoking the registered hook. Example: hook https://super.app/hooks/standard + follower app|/soc1/33456/a7https://super.app/hooks/standard/soc1/33456/a7
removeFollowers: string[]

(Optional) Followers to remove from this project (user OIDs). See getAddFollowers() for details on special values.

Request Example
{
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl",
    "app"
  ],
  "addFollowers": [
    "sfsvLbDVPvi1QMf2GkDn7VSy"
  ],
  "removeFollowers": [
    "aBuz4MwfZ5CasOae6stnFa2f"
  ]
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "activeCount": 20,
  "taskCount": 30,
  "name": "My Project",
  "id": "my_project",
  "url": "https://quire.io/w/my_project",
  "organization": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "nameText": "My Project",
  "nameHtml": "My Project",
  "rootCount": 5,
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "archivedAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

status

Task statuses represent progress values for tasks.

Add a new task status (by project OID).

POST /status/{projectOid}

Creates a new task status in the specified project.

projectOid: string
in path

Project OID to add the status to.

name: string

Display name of the status.

value: integer

Non-negative integer indicating progress. Must be unique within its context (e.g., project). Values ≥ 100 are treated as completed.

color: string

(Optional) Status color index from Quire’s predefined palette. If omitted, a color will be generated automatically. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 35).

Request Example
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}

Add a new task status (by project ID).

POST /status/id/{projectId}

Creates a new task status in the specified project.

projectId: string
in path

Project ID to add the status to.

name: string

Display name of the status.

value: integer

Non-negative integer indicating progress. Must be unique within its context (e.g., project). Values ≥ 100 are treated as completed.

color: string

(Optional) Status color index from Quire’s predefined palette. If omitted, a color will be generated automatically. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 35).

Request Example
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}

Get a task status by value (project OID).

GET /status/{projectOid}/{value}

Returns the status record matching the given value in the specified project.

projectOid: string
in path

Project OID.

value: integer
in path

Status value to fetch.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}

Get a task status by value (project ID).

GET /status/id/{projectId}/{value}

Returns the status record matching the given value in the specified project.

projectId: string
in path

Project ID.

value: integer
in path

Status value to fetch.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}

List all statuses (by project ID).

GET /status/list/id/{projectId}

Returns all status records in the specified project.

projectId: string
in path

Project ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "Doing",
    "value": 50,
    "color": "35"
  }
]

List all statuses (by project OID).

GET /status/list/{projectOid}

Returns all status records in the specified project.

projectOid: string
in path

Project OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "Doing",
    "value": 50,
    "color": "35"
  }
]

Update a task status (by project OID).

PUT /status/{projectOid}/{value}

Updates an existing status and returns the complete updated record.

projectOid: string
in path

Project OID.

value: integer
in path

Status value to update.

name: string

(Optional) New display name for the status.

value: integer

(Optional) New numeric status value. Non-negative integer indicating progress. Must be unique within the context (e.g., project). Values ≥ 100 are treated as completed.

color: string

(Optional) Status color index from Quire’s predefined palette (two digits: first 0–5, second 0–7; e.g., 35).

Request Example
{
  "name": "Later",
  "value": 50,
  "color": "35"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}

Update a task status (by project ID).

PUT /status/id/{projectId}/{value}

Updates an existing status and returns the complete updated record.

projectId: string
in path

Project ID.

value: integer
in path

Status value to update.

name: string

(Optional) New display name for the status.

value: integer

(Optional) New numeric status value. Non-negative integer indicating progress. Must be unique within the context (e.g., project). Values ≥ 100 are treated as completed.

color: string

(Optional) Status color index from Quire’s predefined palette (two digits: first 0–5, second 0–7; e.g., 35).

Request Example
{
  "name": "Later",
  "value": 50,
  "color": "35"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}

Delete a task status (by project OID).

DELETE /status/{projectOid}/{value}

Deletes the specified status.

projectOid: string
in path

Project OID.

value: integer
in path

Status value to delete.

200 OK

ok

Response Content-Types: application/json

Delete a task status (by project ID).

DELETE /status/id/{projectId}/{value}

Deletes the specified status.

projectId: string
in path

Project ID.

value: integer
in path

Status value to delete.

200 OK

ok

Response Content-Types: application/json

storage

A simple key–value storage for application-specific data. Data is scoped to the current access token and will be deleted when the token is revoked or expires.

Get a stored value.

GET /storage/{name}

Returns the application-specific value stored under the given name. If the key is not found, a 404 status is returned. Note: values are scoped per access token.

name: string
in path

The key name. Example: "latest".

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "key": "My data"
}

List stored entries by prefix.

GET /storage/list/{prefix}

Returns up to 20 entries whose keys start with the given prefix. Use this to page or group application-specific values by a common key prefix.

prefix: string
in path

Key prefix to match. Example: "foo".

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "latest": {
    "key": "My data"
  },
  "currentProject": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "myList": "[\"alpha\", \"beta\", \"gamma\"]"
}

Create or update a stored value.

PUT /storage/{name}

Creates or replaces the value stored under the given name. If null is provided as the value, the key will be deleted. Returns { "success": true } when the operation succeeds. Note: values are scoped per access token.

name: string
in path

The key name. Example: "latest".

key: string

Value stored under the given key.

Request Example
{
  "key": "My data"
}
200 OK

ok

Response Content-Types: application/json

Delete a stored value.

DELETE /storage/{name}

Deletes the value stored under the given name. Returns { "success": true } if the key existed and was deleted, or { "success": false } if the key did not exist. Note: values are scoped per access token.

name: string
in path

The key name. Example: "latest".

200 OK

ok

Response Content-Types: application/json

sublist

A sublist is a collection of tasks, representing a subset of tasks from a larger scope.

Create a sublist by owner OID

POST /sublist/{ownerType}/{ownerOid}

Creates a new sublist under the specified owner (by OID).

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed. For example, /abc123 is equivalent to /project/abc123.

ownerOid: string
in path

OID of the owner the new sublist will belong to.

includes: string[]

(Optional) List of task OIDs to include in this sublist. All descendants of the specified tasks will be included as well.

name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Request Example
{
  "includes": [
    "string"
  ],
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?sublist=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Create a sublist by owner ID

POST /sublist/id/{ownerType}/{ownerId}

Creates a new sublist under the specified owner (by ID).

owenerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed. For example, /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

ID of the owner the new sublist will belong to.

includes: string[]

(Optional) List of task OIDs to include in this sublist. All descendants of the specified tasks will be included as well.

name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Request Example
{
  "includes": [
    "string"
  ],
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?sublist=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get a sublist by ID

GET /sublist/id/{ownerType}/{ownerId}/{id}

Returns the complete sublist record for the given ID.

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed. For example, /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

ID of the owner the sublist belongs to.

id: string
in path

ID of the sublist.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?sublist=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get a sublist by OID

GET /sublist/{oid}

Returns the complete sublist record for the given OID.

oid: string
in path

OID of the sublist.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?sublist=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

List sublists by owner ID

GET /sublist/list/id/{ownerType}/{ownerId}

Returns all sublists under the specified owner (by ID).

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed. For example, /list/id/foo is equivalent to /list/id/project/foo.

ownerId: string
in path

ID of the owner.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "url": "https://quire.io/w/my_project?sublist=Highlight101",
    "name": "Highlight 101",
    "id": "Highlight101",
    "nameText": "Highlight 101",
    "nameHtml": "Highlight 101",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "partner": {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "start": "2024-01-02",
    "due": "2024-05-25",
    "archivedAt": "2020-02-22T02:06:58.158Z",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/prj_id",
      "id": "my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

List sublists by owner OID

GET /sublist/list/{ownerType}/{ownerOid}

Returns all sublists under the specified owner (by OID).

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed. For example, /list/abc123 is equivalent to /list/project/abc123.

ownerOid: string
in path

OID of the owner.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "url": "https://quire.io/w/my_project?sublist=Highlight101",
    "name": "Highlight 101",
    "id": "Highlight101",
    "nameText": "Highlight 101",
    "nameHtml": "Highlight 101",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "partner": {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "start": "2024-01-02",
    "due": "2024-05-25",
    "archivedAt": "2020-02-22T02:06:58.158Z",
    "owner": {
      "type": "Project",
      "url": "https://quire.io/w/prj_id",
      "id": "my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Update a sublist by ID

PUT /sublist/id/{ownerType}/{ownerId}/{id}

Updates an existing sublist and returns the complete updated record.

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed. For example, /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

ID of the owner.

id: string
in path

ID of the sublist to update.

changes: Change

(Optional) List of changes that add or remove tasks from this sublist. See Change for the operation schema.

name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Request Example
{
  "changes": [
    {
      "task": "2MmYOpJH_ZLeehIjjytH1Rwr",
      "exclude": false,
      "single": false
    }
  ],
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?sublist=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Update a sublist by OID

PUT /sublist/{oid}

Updates an existing sublist and returns the complete updated record.

oid: string
in path

OID of the sublist to update.

changes: Change

(Optional) List of changes that add or remove tasks from this sublist. See Change for the operation schema.

name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Request Example
{
  "changes": [
    {
      "task": "2MmYOpJH_ZLeehIjjytH1Rwr",
      "exclude": false,
      "single": false
    }
  ],
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "https://quire.io/w/my_project?sublist=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Delete a sublist by ID

DELETE /sublist/id/{ownerType}/{ownerId}/{id}

Deletes the sublist with the given ID.

ownerType: string
in path

Owner type. One of project, organization, folder, or smart-folder. If omitted, project is assumed. For example, /id/foo is equivalent to /id/project/foo.

ownerId: string
in path

ID of the owner.

id: string
in path

ID of the sublist to delete.

200 OK

ok

Response Content-Types: application/json

Delete a sublist by OID

DELETE /sublist/{oid}

Deletes the sublist with the given OID.

oid: string
in path

OID of the sublist to delete.

200 OK

ok

Response Content-Types: application/json

tag

A tag is a label that can be attached to a task in Quire.

tag

Create a tag

POST /tag/{projectOid}

Creates a new tag in the specified project (by OID).

projectOid: string
in path

OID of the project to add the new tag to. Specify "-" to add it to personal tasks (My Tasks, not in a specific project).

name: string

Display name of the tag.

global: boolean

(Optional) Whether this tag is global (available across projects). If omitted, the tag is not global.

color: string

(Optional) Tag color index from Quire’s predefined palette. If omitted, a color will be generated automatically. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 35).

Request Example
{
  "name": "Later",
  "global": true,
  "color": "35"
}
200 OK

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",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}
tag

Create a tag

POST /tag/id/{projectId}

Creates a new tag in the specified project (by ID).

projectId: string
in path

ID of the project to add the new tag to. Specify "-" to add it to personal tasks (My Tasks, not in a specific project).

name: string

Display name of the tag.

global: boolean

(Optional) Whether this tag is global (available across projects). If omitted, the tag is not global.

color: string

(Optional) Tag color index from Quire’s predefined palette. If omitted, a color will be generated automatically. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 35).

Request Example
{
  "name": "Later",
  "global": true,
  "color": "35"
}
200 OK

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",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}
tag

Get a tag

GET /tag/{oid}

Returns the complete tag record for the given OID.

oid: string
in path

OID of the tag to fetch.

200 OK

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",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}
tag

List tags by project ID

GET /tag/list/id/{projectId}

Returns all tags in the specified project (by ID).

projectId: string
in path

ID of the project. Specify "-" to list tags used in personal tasks (My Tasks, not in a specific project).

200 OK

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",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]
tag

List tags by project OID

GET /tag/list/{projectOid}

Returns all tags in the specified project (by OID).

projectOid: string
in path

OID of the project. Specify "-" to list tags used in personal tasks (My Tasks, not in a specific project).

200 OK

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",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]
tag

Update a tag

PUT /tag/{oid}

Updates an existing tag and returns the complete updated record.

oid: string
in path

OID of the tag to update.

project: string

(Optional) Project OID that this tag is limited to. Used only when global is explicitly set to false; ignored otherwise.

name: string

(Optional) New display name for the tag.

global: boolean

(Optional) Whether the tag is global (available across projects). If set to false, you must also provide project.

color: string

(Optional) Tag color (palette index or hex, depending on your client).

Request Example
{
  "project": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "name": "Later",
  "global": true,
  "color": "35"
}
200 OK

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",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}
tag

Delete a tag

DELETE /tag/{oid}

Deletes the tag with the given OID.

oid: string
in path

OID of the tag to delete.

200 OK

ok

Response Content-Types: application/json

task

Tasks are the basic units of work you and your team collaborate on.

Upload an attachment to a task by OID.

POST /task/attach/{taskOid}/{filename}

Uploads an attachment to an existing task.

taskOid: string
in path

Task OID.

filename: string
in path

Attachment file name, e.g., readme.txt.

Provide a meaningful extension so the browser can recognize the MIME type (e.g., revenue.pdf, contacts.json).

Alternatively, set the MIME type via the Content-Type header.

Request Example
"object"
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "file.txt",
  "length": 20000,
  "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png"
}

Upload an attachment to a task by ID.

POST /task/attach/{projectId}/{id}/{filename}

Uploads an attachment to an existing task.

projectId: string
in path

ID of the project to which this new task will be added. The task will be created as a root task. Specify "-" to add it to personal tasks (in My Tasks).

id: integer
in path

Task ID.

filename: string
in path

Attachment file name, e.g., readme.txt.

Provide a meaningful extension so the browser can recognize the MIME type (e.g., revenue.pdf, contacts.json).

Alternatively, set the MIME type via the Content-Type header.

Request Example
"object"
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "file.txt",
  "length": 20000,
  "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png"
}

Add a new task.

POST /task/id/{projectId}

Adds a new root task to a project.

projectId: string
in path

ID of the project to which this new task will be added. The task will be created as a root task. Specify "-" to add it to personal tasks (in My Tasks).

name: string

The name of the task.

description: string

(Optional) A description of the task.

tasks: CreateTaskBody

(Optional) List of subtasks to create along with this task.

asUser: boolean

(Optional) If true, marks this task as created by the app. Default: false (created by the authorizing user).

section: boolean

(Optional) Whether this task is a section. Default: false.

tags: string[]

(Optional) A list of tag OIDs or names to be added to the new task. Tag names are case-insensitive.

start: string

(Optional) Start date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
due: string

(Optional) Due date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
followers: string[]

(Optional) List of user identifiers (OID, ID, or email) who follow this task.

  • Use "me" for the current user.
  • Use "inherit" to include followers of the parent task.
  • Use "app" for the application itself to follow (receive notifications).

For app followers, additional syntaxes are supported:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL (e.g., .../standard/soc1/33456/a7).
assignees: string[]

(Optional) A list of user identifiers (OID, ID, or email) to assign this task to.

  • Use "me" to indicate the current user.
  • Use "inherit" to include all assignees of the parent task.

Example: {"addAssignees": ["me", "inherit", "foo@domain.com"]}

recurrence: Recurrence

(Optional) Recurrence details. Null if the task is not recurring.

  • freq: daily, weekly, monthly, yearly.
  • interval: Interval between occurrences. Default: 1.
  • until: End date. Default: never ends.
  • bymonth: Month (1 = January). Supported only with yearly. Default: 1.
  • byweekno: Week number (starting from 1) or last. Supported with monthly/yearly.
  • byweekday: Day(s) of week (0 = Monday ... 6 = Sunday). For weekly, use a list (e.g., [0,3]).
  • bydayno: Day of month (1 = first day). Supported with monthly/yearly. Note: byweekday and bydayno cannot both be specified.
  • dupsubtasks: Whether to duplicate subtasks when completed. Default: true.
  • sincelatest: For daily only. Whether to repeat based on last completion date. Default: false.
successors: string[]

(Optional) List of successor task identifiers (OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

yourField: object

(Optional) Value for a custom field, depending on field definition.

  • Money: specify the numeric value only (no currency).
  • User/Task: specify the OID.
  • Duration: specify number of seconds.
  • Multi-value: specify a list.
peekaboo:
boolean
integer

(Optional) Peekaboo setting.

  • true: Hide indefinitely.
  • Positive integer: Number of days to hide.
  • false: Cancel previous peekaboo.

Default: false.

priority: integer

(Optional) Task priority. Must be between -1 (lowest) and 2 (highest). Default: 0.

status: integer

(Optional) Task status. Must be between 0 and 100. Default: 0.

etc: integer

(Optional) Estimated time to complete, in seconds. Must be non-negative.

sourceRef: object

(Optional) Arbitrary source reference data to attach to the task. Available via API when retrieving the task.

If the entry contains a key text, its value will be displayed client-side and should be formatted in Markdown. It is recommended to include a source link.

Request Example
{
  "name": "Design new **logo**",
  "description": "This is a *cool* task.",
  "tasks": [
    "#/definitions/CreateTaskBody"
  ],
  "asUser": true,
  "section": true,
  "tags": [
    "X6nmx9XjEO2wKbqeB1pRT43C"
  ],
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl"
  ],
  "assignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "recurrence": {
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "until": "2020-12-22"
  },
  "successors": [
    "string"
  ],
  "yourField": "object",
  "peekaboo": true,
  "priority": 0,
  "status": 0,
  "etc": 0,
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Add a new task.

POST /task/{oid}

Adds a new task to a project or to another task.

oid: string
in path

OID of the project or task to add the new task to. If the OID refers to a project, the new task becomes a root task. If it refers to a task, the new task becomes its subtask. Specify "-" to add it to My Tasks (no specific project).

name: string

The name of the task.

description: string

(Optional) A description of the task.

tasks: CreateTaskBody

(Optional) List of subtasks to create along with this task.

asUser: boolean

(Optional) If true, marks this task as created by the app. Default: false (created by the authorizing user).

section: boolean

(Optional) Whether this task is a section. Default: false.

tags: string[]

(Optional) A list of tag OIDs or names to be added to the new task. Tag names are case-insensitive.

start: string

(Optional) Start date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
due: string

(Optional) Due date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
followers: string[]

(Optional) List of user identifiers (OID, ID, or email) who follow this task.

  • Use "me" for the current user.
  • Use "inherit" to include followers of the parent task.
  • Use "app" for the application itself to follow (receive notifications).

For app followers, additional syntaxes are supported:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL (e.g., .../standard/soc1/33456/a7).
assignees: string[]

(Optional) A list of user identifiers (OID, ID, or email) to assign this task to.

  • Use "me" to indicate the current user.
  • Use "inherit" to include all assignees of the parent task.

Example: {"addAssignees": ["me", "inherit", "foo@domain.com"]}

recurrence: Recurrence

(Optional) Recurrence details. Null if the task is not recurring.

  • freq: daily, weekly, monthly, yearly.
  • interval: Interval between occurrences. Default: 1.
  • until: End date. Default: never ends.
  • bymonth: Month (1 = January). Supported only with yearly. Default: 1.
  • byweekno: Week number (starting from 1) or last. Supported with monthly/yearly.
  • byweekday: Day(s) of week (0 = Monday ... 6 = Sunday). For weekly, use a list (e.g., [0,3]).
  • bydayno: Day of month (1 = first day). Supported with monthly/yearly. Note: byweekday and bydayno cannot both be specified.
  • dupsubtasks: Whether to duplicate subtasks when completed. Default: true.
  • sincelatest: For daily only. Whether to repeat based on last completion date. Default: false.
successors: string[]

(Optional) List of successor task identifiers (OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

yourField: object

(Optional) Value for a custom field, depending on field definition.

  • Money: specify the numeric value only (no currency).
  • User/Task: specify the OID.
  • Duration: specify number of seconds.
  • Multi-value: specify a list.
peekaboo:
boolean
integer

(Optional) Peekaboo setting.

  • true: Hide indefinitely.
  • Positive integer: Number of days to hide.
  • false: Cancel previous peekaboo.

Default: false.

priority: integer

(Optional) Task priority. Must be between -1 (lowest) and 2 (highest). Default: 0.

status: integer

(Optional) Task status. Must be between 0 and 100. Default: 0.

etc: integer

(Optional) Estimated time to complete, in seconds. Must be non-negative.

sourceRef: object

(Optional) Arbitrary source reference data to attach to the task. Available via API when retrieving the task.

If the entry contains a key text, its value will be displayed client-side and should be formatted in Markdown. It is recommended to include a source link.

Request Example
{
  "name": "Design new **logo**",
  "description": "This is a *cool* task.",
  "tasks": [
    "#/definitions/CreateTaskBody"
  ],
  "asUser": true,
  "section": true,
  "tags": [
    "X6nmx9XjEO2wKbqeB1pRT43C"
  ],
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl"
  ],
  "assignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "recurrence": {
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "until": "2020-12-22"
  },
  "successors": [
    "string"
  ],
  "yourField": "object",
  "peekaboo": true,
  "priority": 0,
  "status": 0,
  "etc": 0,
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Add a new task after the given task.

POST /task/after/{oid}

Inserts a new task after the specified task.

oid: string
in path

OID of the task to insert after.

name: string

The name of the task.

description: string

(Optional) A description of the task.

tasks: CreateTaskBody

(Optional) List of subtasks to create along with this task.

asUser: boolean

(Optional) If true, marks this task as created by the app. Default: false (created by the authorizing user).

section: boolean

(Optional) Whether this task is a section. Default: false.

tags: string[]

(Optional) A list of tag OIDs or names to be added to the new task. Tag names are case-insensitive.

start: string

(Optional) Start date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
due: string

(Optional) Due date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
followers: string[]

(Optional) List of user identifiers (OID, ID, or email) who follow this task.

  • Use "me" for the current user.
  • Use "inherit" to include followers of the parent task.
  • Use "app" for the application itself to follow (receive notifications).

For app followers, additional syntaxes are supported:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL (e.g., .../standard/soc1/33456/a7).
assignees: string[]

(Optional) A list of user identifiers (OID, ID, or email) to assign this task to.

  • Use "me" to indicate the current user.
  • Use "inherit" to include all assignees of the parent task.

Example: {"addAssignees": ["me", "inherit", "foo@domain.com"]}

recurrence: Recurrence

(Optional) Recurrence details. Null if the task is not recurring.

  • freq: daily, weekly, monthly, yearly.
  • interval: Interval between occurrences. Default: 1.
  • until: End date. Default: never ends.
  • bymonth: Month (1 = January). Supported only with yearly. Default: 1.
  • byweekno: Week number (starting from 1) or last. Supported with monthly/yearly.
  • byweekday: Day(s) of week (0 = Monday ... 6 = Sunday). For weekly, use a list (e.g., [0,3]).
  • bydayno: Day of month (1 = first day). Supported with monthly/yearly. Note: byweekday and bydayno cannot both be specified.
  • dupsubtasks: Whether to duplicate subtasks when completed. Default: true.
  • sincelatest: For daily only. Whether to repeat based on last completion date. Default: false.
successors: string[]

(Optional) List of successor task identifiers (OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

yourField: object

(Optional) Value for a custom field, depending on field definition.

  • Money: specify the numeric value only (no currency).
  • User/Task: specify the OID.
  • Duration: specify number of seconds.
  • Multi-value: specify a list.
peekaboo:
boolean
integer

(Optional) Peekaboo setting.

  • true: Hide indefinitely.
  • Positive integer: Number of days to hide.
  • false: Cancel previous peekaboo.

Default: false.

priority: integer

(Optional) Task priority. Must be between -1 (lowest) and 2 (highest). Default: 0.

status: integer

(Optional) Task status. Must be between 0 and 100. Default: 0.

etc: integer

(Optional) Estimated time to complete, in seconds. Must be non-negative.

sourceRef: object

(Optional) Arbitrary source reference data to attach to the task. Available via API when retrieving the task.

If the entry contains a key text, its value will be displayed client-side and should be formatted in Markdown. It is recommended to include a source link.

Request Example
{
  "name": "Design new **logo**",
  "description": "This is a *cool* task.",
  "tasks": [
    "#/definitions/CreateTaskBody"
  ],
  "asUser": true,
  "section": true,
  "tags": [
    "X6nmx9XjEO2wKbqeB1pRT43C"
  ],
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl"
  ],
  "assignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "recurrence": {
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "until": "2020-12-22"
  },
  "successors": [
    "string"
  ],
  "yourField": "object",
  "peekaboo": true,
  "priority": 0,
  "status": 0,
  "etc": 0,
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Add a new task before the given task.

POST /task/before/{oid}

Inserts a new task before the specified task.

oid: string
in path

OID of the task to insert before.

name: string

The name of the task.

description: string

(Optional) A description of the task.

tasks: CreateTaskBody

(Optional) List of subtasks to create along with this task.

asUser: boolean

(Optional) If true, marks this task as created by the app. Default: false (created by the authorizing user).

section: boolean

(Optional) Whether this task is a section. Default: false.

tags: string[]

(Optional) A list of tag OIDs or names to be added to the new task. Tag names are case-insensitive.

start: string

(Optional) Start date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
due: string

(Optional) Due date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
followers: string[]

(Optional) List of user identifiers (OID, ID, or email) who follow this task.

  • Use "me" for the current user.
  • Use "inherit" to include followers of the parent task.
  • Use "app" for the application itself to follow (receive notifications).

For app followers, additional syntaxes are supported:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL (e.g., .../standard/soc1/33456/a7).
assignees: string[]

(Optional) A list of user identifiers (OID, ID, or email) to assign this task to.

  • Use "me" to indicate the current user.
  • Use "inherit" to include all assignees of the parent task.

Example: {"addAssignees": ["me", "inherit", "foo@domain.com"]}

recurrence: Recurrence

(Optional) Recurrence details. Null if the task is not recurring.

  • freq: daily, weekly, monthly, yearly.
  • interval: Interval between occurrences. Default: 1.
  • until: End date. Default: never ends.
  • bymonth: Month (1 = January). Supported only with yearly. Default: 1.
  • byweekno: Week number (starting from 1) or last. Supported with monthly/yearly.
  • byweekday: Day(s) of week (0 = Monday ... 6 = Sunday). For weekly, use a list (e.g., [0,3]).
  • bydayno: Day of month (1 = first day). Supported with monthly/yearly. Note: byweekday and bydayno cannot both be specified.
  • dupsubtasks: Whether to duplicate subtasks when completed. Default: true.
  • sincelatest: For daily only. Whether to repeat based on last completion date. Default: false.
successors: string[]

(Optional) List of successor task identifiers (OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

yourField: object

(Optional) Value for a custom field, depending on field definition.

  • Money: specify the numeric value only (no currency).
  • User/Task: specify the OID.
  • Duration: specify number of seconds.
  • Multi-value: specify a list.
peekaboo:
boolean
integer

(Optional) Peekaboo setting.

  • true: Hide indefinitely.
  • Positive integer: Number of days to hide.
  • false: Cancel previous peekaboo.

Default: false.

priority: integer

(Optional) Task priority. Must be between -1 (lowest) and 2 (highest). Default: 0.

status: integer

(Optional) Task status. Must be between 0 and 100. Default: 0.

etc: integer

(Optional) Estimated time to complete, in seconds. Must be non-negative.

sourceRef: object

(Optional) Arbitrary source reference data to attach to the task. Available via API when retrieving the task.

If the entry contains a key text, its value will be displayed client-side and should be formatted in Markdown. It is recommended to include a source link.

Request Example
{
  "name": "Design new **logo**",
  "description": "This is a *cool* task.",
  "tasks": [
    "#/definitions/CreateTaskBody"
  ],
  "asUser": true,
  "section": true,
  "tags": [
    "X6nmx9XjEO2wKbqeB1pRT43C"
  ],
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl"
  ],
  "assignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "recurrence": {
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "until": "2020-12-22"
  },
  "successors": [
    "string"
  ],
  "yourField": "object",
  "peekaboo": true,
  "priority": 0,
  "status": 0,
  "etc": 0,
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Search tasks in an organization by organization OID.

GET /task/search-organization/{organizationOid}

Returns tasks that match the specified criteria in the given organization. Tasks in archived projects are excluded.

Available for Professional plans and above

organizationOid: string
in path

Organization OID.

text: string
in query

Full-text query against task name, description, and attachments. Note: does not include comment content or comment attachments. Indexing can take ~10 seconds or more after updates.

name: string
in query

Task name filter. Prefix with ~ for regex, ~* for case-insensitive regex. Use text for full-text search.

description: string
in query

Task description filter. Prefix with ~ for regex, ~* for case-insensitive regex.

status: string
in query

Task status filter. Specify 0–100, or "active" / "completed".

scheduled: boolean
in query

Return only scheduled tasks (start or due is set). If scheduled=false, returns only tasks where neither start nor due is set.

mine: boolean
in query

Return only "My Tasks" (assigned to me, or created by me and scheduled but unassigned).

modified: string
in query

Return only tasks created or modified recently. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

commented: string
in query

Return only tasks with recent comments. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

limit: string
in query

Maximum number of tasks to return. Default: 30. Use no to return all matches.

Note: On free plans, this cannot exceed 30 or no (unlimited).

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "project": {
      "id": "my_id",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Search tasks in an organization by organization ID.

GET /task/search-organization/id/{organizationId}

Returns tasks that match the specified criteria in the given organization. Tasks in archived projects are excluded.

Available for Professional plans and above

organizationId: string
in path

Organization ID.

text: string
in query

Full-text query against task name, description, and attachments. Note: does not include comment content or comment attachments. Indexing can take ~10 seconds or more after updates.

name: string
in query

Task name filter. Prefix with ~ for regex, ~* for case-insensitive regex. Use text for full-text search.

description: string
in query

Task description filter. Prefix with ~ for regex, ~* for case-insensitive regex.

status: string
in query

Task status filter. Specify 0–100, or "active" / "completed".

scheduled: boolean
in query

Return only scheduled tasks (start or due is set). If scheduled=false, returns only tasks where neither start nor due is set.

mine: boolean
in query

Return only "My Tasks" (assigned to me, or created by me and scheduled but unassigned).

modified: string
in query

Return only tasks created or modified recently. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

commented: string
in query

Return only tasks with recent comments. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

limit: string
in query

Maximum number of tasks to return. Default: 30. Use no to return all matches.

Note: On free plans, this cannot exceed 30 or no (unlimited).

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "project": {
      "id": "my_id",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Search tasks in a folder by folder OID.

GET /task/search-folder/{folderOid}

Returns tasks that match the specified criteria in the given folder. Tasks in archived projects are excluded.

Available for Professional plans and above

folderOid: string
in path

Folder OID.

text: string
in query

Full-text query against task name, description, and attachments. Note: does not include comment content or comment attachments. Indexing can take ~10 seconds or more after updates.

name: string
in query

Task name filter. Prefix with ~ for regex, ~* for case-insensitive regex. Use text for full-text search.

description: string
in query

Task description filter. Prefix with ~ for regex, ~* for case-insensitive regex.

status: string
in query

Task status filter. Specify 0–100, or "active" / "completed".

scheduled: boolean
in query

Return only scheduled tasks (start or due is set). If scheduled=false, returns only tasks where neither start nor due is set.

mine: boolean
in query

Return only "My Tasks" (assigned to me, or created by me and scheduled but unassigned).

modified: string
in query

Return only tasks created or modified recently. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

commented: string
in query

Return only tasks with recent comments. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

limit: string
in query

Maximum number of tasks to return. Default: 30. Use no to return all matches.

Note: On free plans, this cannot exceed 30 or no (unlimited).

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "project": {
      "id": "my_id",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Search tasks in a folder by folder ID.

GET /task/search-folder/id/{folderId}

Returns tasks that match the specified criteria in the given folder. Tasks in archived projects are excluded.

Available for Professional plans and above

folderId: string
in path

Folder ID.

text: string
in query

Full-text query against task name, description, and attachments. Note: does not include comment content or comment attachments. Indexing can take ~10 seconds or more after updates.

name: string
in query

Task name filter. Prefix with ~ for regex, ~* for case-insensitive regex. Use text for full-text search.

description: string
in query

Task description filter. Prefix with ~ for regex, ~* for case-insensitive regex.

status: string
in query

Task status filter. Specify 0–100, or "active" / "completed".

scheduled: boolean
in query

Return only scheduled tasks (start or due is set). If scheduled=false, returns only tasks where neither start nor due is set.

mine: boolean
in query

Return only "My Tasks" (assigned to me, or created by me and scheduled but unassigned).

modified: string
in query

Return only tasks created or modified recently. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

commented: string
in query

Return only tasks with recent comments. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

limit: string
in query

Maximum number of tasks to return. Default: 30. Use no to return all matches.

Note: On free plans, this cannot exceed 30 or no (unlimited).

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "project": {
      "id": "my_id",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    },
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Get an existing task by its ID.

GET /task/id/{projectId}/{id}

Returns the full task record.

projectId: string
in path

ID of the project to which this new task will be added. The task will be created as a root task. Specify "-" to add it to personal tasks (in My Tasks).

id: integer
in path

Task ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get an existing task by its OID.

GET /task/{oid}

Returns the full task record.

oid: string
in path

Task OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Get all root tasks of the given project or all subtasks of the given task.

GET /task/list/{oid}

Returns all root tasks of a project or all direct subtasks of a task by OID. If the OID is a project, root tasks are returned. If it is a task, its direct subtasks are returned. Note: only one level is returned—subtasks of subtasks are not included; retrieve them recursively.

oid: string
in path

OID of the project or parent task. Specify "-" to retrieve My Tasks (no specific project).

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Get all subtasks of the given task.

GET /task/list/id/{projectId}/{taskId}

Returns all direct subtasks of the specified task. Note: only one level is returned—subtasks of subtasks are not included; retrieve them recursively.

projectId: string
in path

ID of the project to which this new task will be added. The task will be created as a root task. Specify "-" to add it to personal tasks (in My Tasks).

taskId: integer
in path

Parent task ID.

status: string
in query

Task status filter. Specify a value 0–100, or use "active" for active tasks or "completed" for completed tasks.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Get all root tasks of the given project.

GET /task/list/id/{projectId}

Returns all root tasks of the project.

To retrieve all tasks (including all subtasks), use the search API with limit=no.

projectId: string
in path

ID of the project to which this new task will be added. The task will be created as a root task. Specify "-" to add it to personal tasks (in My Tasks).

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Search tasks in a project by project ID.

GET /task/search/id/{projectId}

Returns tasks that match the specified criteria in the project.

projectId: string
in path

ID of the project to which this new task will be added. The task will be created as a root task. Specify "-" to add it to personal tasks (in My Tasks).

text: string
in query

Full-text query against task name, description, and attachments. Note: does not include comment content or comment attachments. Indexing can take ~10 seconds or more after updates.

name: string
in query

Task name filter. Prefix with ~ for regex, ~* for case-insensitive regex. Use text for full-text search.

description: string
in query

Task description filter. Prefix with ~ for regex, ~* for case-insensitive regex.

sublist: string
in query

Task sublist ID or OID filter.

status: string
in query

Task status filter. Specify 0–100, or "active" / "completed".

scheduled: boolean
in query

Return only scheduled tasks (start or due is set). If scheduled=false, returns only tasks where neither start nor due is set.

mine: boolean
in query

Return only "My Tasks" (assigned to me, or created by me and scheduled but unassigned).

modified: string
in query

Return only tasks created or modified recently. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

commented: string
in query

Return only tasks with recent comments. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

limit: string
in query

Maximum number of tasks to return. Default: 30. Use no to return all matches.

Note: On free plans, this cannot exceed 30 or no (unlimited).

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Search tasks in a project by project OID.

GET /task/search/{projectOid}

Returns tasks that match the specified criteria in the project.

projectOid: string
in path

Project OID. Specify "-" to search in My Tasks (no specific project).

text: string
in query

Full-text query against task name, description, and attachments. Note: does not include comment content or comment attachments. Indexing can take ~10 seconds or more after updates.

name: string
in query

Task name filter. Prefix with ~ for regex, ~* for case-insensitive regex. Use text for full-text search.

description: string
in query

Task description filter. Prefix with ~ for regex, ~* for case-insensitive regex.

sublist: string
in query

Task sublist ID or OID filter.

status: string
in query

Task status filter. Specify 0–100, or "active" / "completed".

scheduled: boolean
in query

Return only scheduled tasks (start or due is set). If scheduled=false, returns only tasks where neither start nor due is set.

mine: boolean
in query

Return only "My Tasks" (assigned to me, or created by me and scheduled but unassigned).

modified: string
in query

Return only tasks created or modified recently. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

commented: string
in query

Return only tasks with recent comments. Specify an integer (days); default 7 if omitted. Supports d, h, m suffixes (e.g., 8h).

sourceRef: string
in query

Filter by source ref key. See sourceRef in the task creation API.

limit: string
in query

Maximum number of tasks to return. Default: 30. Use no to return all matches.

Note: On free plans, this cannot exceed 30 or no (unlimited).

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "tags": [
      {
        "color": "35",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      }
    ],
    "successors": "['#135', '#26']",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
    "id": 12,
    "name": "Design new **logo**",
    "nameText": "Design new logo",
    "nameHtml": "Design new <b>logo</b>",
    "description": "This is a *cool* task.",
    "descriptionText": "This is a cool task.",
    "descriptionHtml": "This is a <i>cool</i> task.",
    "etc": 500,
    "recurrence": {
      "seriesId": "j47xvxul26",
      "bydayno": 25,
      "bymonth": 10,
      "freq": "weekly",
      "interval": 1,
      "sincelatest": true,
      "byweekday": "[1,3]",
      "byweekno": 2,
      "dupsubtasks": false,
      "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",
          "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
          "iconColor": "37",
          "name": "Foo",
          "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
        },
        "billable": true,
        "note": "A piece of cake"
      }
    ],
    "priority": 0,
    "status": 0,
    "start": "2018-12-20T00:00:00.000Z",
    "due": "2018-12-22T00:00:00.000Z",
    "partner": "#/definitions/SimpleTaggingEntity",
    "assignors": [
      "#/definitions/SimpleIdentity"
    ],
    "partnerBy": "#/definitions/SimpleIdentity",
    "assignees": [
      "#/definitions/SimpleIdentity"
    ],
    "order": 99,
    "cover": "qfqVmUtC",
    "attachments": [
      {
        "type": 2,
        "name": "file.txt",
        "length": 20000,
        "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
        "createdBy": "#/definitions/SimpleIdentity",
        "createdAt": "2018-12-22T02:06:58.158Z"
      }
    ],
    "childCount": 5,
    "referrers": [
      {
        "task": "wrSpgghWFCzPHBqiShSurDeD",
        "when": "2018-12-22T02:06:58.158Z",
        "user": "wrSpgghWFCzPHBqiShSurDeD"
      }
    ],
    "editedAt": "2018-12-22T02:06:58.158Z",
    "commentedAt": "2023-12-22T09:06:28.253Z",
    "toggledBy": "#/definitions/SimpleIdentity",
    "toggledAt": "2018-12-22T02:06:58.158Z",
    "url": "https://quire.io/w/my_project/123",
    "section": true,
    "peekaboo": true,
    "mutes": [
      "#/definitions/SimpleIdentity"
    ],
    "followers": [
      "#/definitions/SimpleIdentity"
    ],
    "favorites": [
      "#/definitions/SimpleIdentity"
    ],
    "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
    "createdBy": "#/definitions/SimpleIdentity",
    "createdAt": "2018-12-22T02:06:58.158Z"
  }
]

Update an existing task by its ID.

PUT /task/id/{projectId}/{id}

Updates an existing task and returns the updated record.

projectId: string
in path

ID of the project to which this new task will be added. The task will be created as a root task. Specify "-" to add it to personal tasks (in My Tasks).

id: integer
in path

Task ID.

name: string

(Optional) New task name.

description: string

(Optional) New task description.

removeSuccessors: string[]

(Optional) Successors to remove (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

addTags: string[]

(Optional) Tags to add to this task (OID or name). Tag names are case-insensitive.

asUser: boolean

(Optional) If true, marks this update as performed by the app. Default: false (updated by the authorizing user).

section: boolean

(Optional) Whether this task is a section. Default: false.

tags: string[]

(Optional) Tags to replace the current tags on this task (OID or name). This replaces all existing tags. To modify incrementally, use addTags or removeTags. Tag names are case-insensitive.

start: string

(Optional) Start date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
due: string

(Optional) Due date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
followers: string[]

(Optional) Followers to replace the current followers (OID, ID, or email).

See addFollowers for details.

addFollowers: string[]

(Optional) Followers to add (OID, ID, or email). Special values:

  • "me": the current user
  • "inherit": include followers of the parent task
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL (e.g., .../standard/soc1/33456/a7).
removeFollowers: string[]

(Optional) Followers to remove (OID, ID, or email).

See addFollowers for details on special values.

assignees: string[]

(Optional) Assignees to replace the current assignees (OID, ID, or email). This replaces all existing assignees. To modify incrementally, use addAssignees or removeAssignees.

See addAssignees for special values.

recurrence: Recurrence

(Optional) Recurrence details. null if the task is not recurring.

  • freq: daily, weekly, monthly, yearly.
  • interval: Interval between occurrences. Default: 1.
  • until: End date. Default: never ends.
  • bymonth: Month (1 = January). Supported only with yearly. Default: 1.
  • byweekno: Week number (starting from 1) or last. Supported with monthly/yearly.
  • byweekday: Day(s) of week (0 = Monday ... 6 = Sunday). For weekly, use a list (e.g., [1], [0,3]).
  • bydayno: Day of month (1 = first day). Supported with monthly/yearly. Note: byweekday and bydayno cannot both be specified.
  • dupsubtasks: Duplicate subtasks when the task is completed. Default: true.
  • sincelatest: Daily only. Repeat based on the last completion date. Default: false.
successors: string[]

(Optional) Successors to replace the current successors (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

removeTags: string[]

(Optional) Tags to remove from this task (OID or name). Tag names are case-insensitive.

addAssignees: string[]

(Optional) Assignees to add (OID, ID, or email). Special values:

  • "me": the current user
  • "inherit": include all assignees of the parent task

Example: {"addAssignees": ["me", "inherit", "foo@domain.com"]}

addSuccessors: string[]

(Optional) Successors to add (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

yourField: object

(Optional) Value for a custom field. Type depends on field definition.

  • Money: numeric value only (no currency).
  • User/Task: OID.
  • Duration: number of seconds.
  • Multi-value: provide a list.
peekaboo:
boolean
integer

(Optional) Peekaboo setting.

  • true: Hide indefinitely (task and subtasks).
  • Positive integer: Number of days to hide.
  • false: Undo previous peekaboo.

Default: false.

removeAssignees: string[]

(Optional) Assignees to remove (OID, ID, or email).

See addAssignees for details on special values.

priority: integer

(Optional) New priority. Must be between -1 (lowest) and 2 (highest).

status: integer

(Optional) New status, between 0 and 100. Specify 100 to complete the task.

etc: integer

(Optional) Estimated time to complete, in seconds. Must be non-negative or null. Specify null to clear the value.

sourceRef: object

(Optional) Arbitrary source reference data to store with the task. Available via API on retrieval.

If the map contains text, its value will be displayed client-side and should be Markdown. Including a source link is recommended.

Request Example
{
  "name": "New idea",
  "description": "This is a **cool** task.",
  "removeSuccessors": [
    "string"
  ],
  "addTags": [
    "X6nmx9XjEO2wKbqeB1pRT43C"
  ],
  "asUser": true,
  "section": true,
  "tags": [
    "ITaVbkhh3iVcEcV3vuSLeE2k"
  ],
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl",
    "app"
  ],
  "addFollowers": [
    "sfsvLbDVPvi1QMf2GkDn7VSy"
  ],
  "removeFollowers": [
    "aBuz4MwfZ5CasOae6stnFa2f"
  ],
  "assignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "recurrence": {
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "until": "2020-12-22"
  },
  "successors": [
    "string"
  ],
  "removeTags": [
    "mPAQrYU1qt8wAYAInKRlTnvl"
  ],
  "addAssignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "addSuccessors": [
    "string"
  ],
  "yourField": "object",
  "peekaboo": true,
  "removeAssignees": [
    "Job4NSW9xK6Owcke8iKj7zyH"
  ],
  "priority": 0,
  "status": 100,
  "etc": 0,
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Update an existing task by its OID.

PUT /task/{oid}

Updates an existing task and returns the updated record.

oid: string
in path

Task OID.

name: string

(Optional) New task name.

description: string

(Optional) New task description.

removeSuccessors: string[]

(Optional) Successors to remove (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

addTags: string[]

(Optional) Tags to add to this task (OID or name). Tag names are case-insensitive.

asUser: boolean

(Optional) If true, marks this update as performed by the app. Default: false (updated by the authorizing user).

section: boolean

(Optional) Whether this task is a section. Default: false.

tags: string[]

(Optional) Tags to replace the current tags on this task (OID or name). This replaces all existing tags. To modify incrementally, use addTags or removeTags. Tag names are case-insensitive.

start: string

(Optional) Start date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
due: string

(Optional) Due date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
followers: string[]

(Optional) Followers to replace the current followers (OID, ID, or email).

See addFollowers for details.

addFollowers: string[]

(Optional) Followers to add (OID, ID, or email). Special values:

  • "me": the current user
  • "inherit": include followers of the parent task
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL (e.g., .../standard/soc1/33456/a7).
removeFollowers: string[]

(Optional) Followers to remove (OID, ID, or email).

See addFollowers for details on special values.

assignees: string[]

(Optional) Assignees to replace the current assignees (OID, ID, or email). This replaces all existing assignees. To modify incrementally, use addAssignees or removeAssignees.

See addAssignees for special values.

recurrence: Recurrence

(Optional) Recurrence details. null if the task is not recurring.

  • freq: daily, weekly, monthly, yearly.
  • interval: Interval between occurrences. Default: 1.
  • until: End date. Default: never ends.
  • bymonth: Month (1 = January). Supported only with yearly. Default: 1.
  • byweekno: Week number (starting from 1) or last. Supported with monthly/yearly.
  • byweekday: Day(s) of week (0 = Monday ... 6 = Sunday). For weekly, use a list (e.g., [1], [0,3]).
  • bydayno: Day of month (1 = first day). Supported with monthly/yearly. Note: byweekday and bydayno cannot both be specified.
  • dupsubtasks: Duplicate subtasks when the task is completed. Default: true.
  • sincelatest: Daily only. Repeat based on the last completion date. Default: false.
successors: string[]

(Optional) Successors to replace the current successors (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

removeTags: string[]

(Optional) Tags to remove from this task (OID or name). Tag names are case-insensitive.

addAssignees: string[]

(Optional) Assignees to add (OID, ID, or email). Special values:

  • "me": the current user
  • "inherit": include all assignees of the parent task

Example: {"addAssignees": ["me", "inherit", "foo@domain.com"]}

addSuccessors: string[]

(Optional) Successors to add (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

yourField: object

(Optional) Value for a custom field. Type depends on field definition.

  • Money: numeric value only (no currency).
  • User/Task: OID.
  • Duration: number of seconds.
  • Multi-value: provide a list.
peekaboo:
boolean
integer

(Optional) Peekaboo setting.

  • true: Hide indefinitely (task and subtasks).
  • Positive integer: Number of days to hide.
  • false: Undo previous peekaboo.

Default: false.

removeAssignees: string[]

(Optional) Assignees to remove (OID, ID, or email).

See addAssignees for details on special values.

priority: integer

(Optional) New priority. Must be between -1 (lowest) and 2 (highest).

status: integer

(Optional) New status, between 0 and 100. Specify 100 to complete the task.

etc: integer

(Optional) Estimated time to complete, in seconds. Must be non-negative or null. Specify null to clear the value.

sourceRef: object

(Optional) Arbitrary source reference data to store with the task. Available via API on retrieval.

If the map contains text, its value will be displayed client-side and should be Markdown. Including a source link is recommended.

Request Example
{
  "name": "New idea",
  "description": "This is a **cool** task.",
  "removeSuccessors": [
    "string"
  ],
  "addTags": [
    "X6nmx9XjEO2wKbqeB1pRT43C"
  ],
  "asUser": true,
  "section": true,
  "tags": [
    "ITaVbkhh3iVcEcV3vuSLeE2k"
  ],
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl",
    "app"
  ],
  "addFollowers": [
    "sfsvLbDVPvi1QMf2GkDn7VSy"
  ],
  "removeFollowers": [
    "aBuz4MwfZ5CasOae6stnFa2f"
  ],
  "assignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "recurrence": {
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "until": "2020-12-22"
  },
  "successors": [
    "string"
  ],
  "removeTags": [
    "mPAQrYU1qt8wAYAInKRlTnvl"
  ],
  "addAssignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "addSuccessors": [
    "string"
  ],
  "yourField": "object",
  "peekaboo": true,
  "removeAssignees": [
    "Job4NSW9xK6Owcke8iKj7zyH"
  ],
  "priority": 0,
  "status": 100,
  "etc": 0,
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
}
200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Delete a task and all of its subtasks.

DELETE /task/{oid}

Deletes an existing task and all of its subtasks.

oid: string
in path

Task OID.

200 OK

ok

Response Content-Types: application/json

user

Represents a Quire account that can access organizations, projects, and tasks.

Get a user by ID or email address.

GET /user/id/{id}

Returns the full user record for the given user ID, email address, or "me" (the current user).

id: string
in path

User ID, email address, or "me". Example: " john@gmail.com", "me"

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "John",
  "id": "john",
  "url": "https://quire.io/u/john",
  "nameText": "John",
  "nameHtml": "John",
  "email": "john@gmail.com",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Get a user by OID.

GET /user/{oid}

Returns the full user record for the given OID.

oid: string
in path

User OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "John",
  "id": "john",
  "url": "https://quire.io/u/john",
  "nameText": "John",
  "nameHtml": "John",
  "email": "john@gmail.com",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Get all user records.

GET /user/list

Returns all colleagues of the current user if the user granted the app access to contacts. Otherwise, returns only colleagues who also authorized the same app. If the user did not grant contact access and none of the user’s colleagues authorized this app, only the current user is returned. The first record is always the current user.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "John",
    "id": "john",
    "url": "https://quire.io/u/john",
    "nameText": "John",
    "nameHtml": "John",
    "email": "john@gmail.com",
    "website": "https://coolwebsites.com",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  }
]

Get all user records of the given project (by project ID).

GET /user/list/project/id/{projectId}

Returns all members of the specified project by project ID. If the current user did not grant the app access to contacts, only basic information is returned. The first record is always the current user.

projectId: string
in path

Project ID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "John",
    "id": "john",
    "url": "https://quire.io/u/john",
    "nameText": "John",
    "nameHtml": "John",
    "email": "john@gmail.com",
    "website": "https://coolwebsites.com",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  }
]

Get all user records of the given project (by project OID).

GET /user/list/project/{oid}

Returns all members of the specified project by project OID. If the current user did not grant the app access to contacts, only basic information is returned. The first record is always the current user.

oid: string
in path

Project OID.

200 OK

successful operation

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "John",
    "id": "john",
    "url": "https://quire.io/u/john",
    "nameText": "John",
    "nameHtml": "John",
    "email": "john@gmail.com",
    "website": "https://coolwebsites.com",
    "description": "This is *cool*!",
    "descriptionText": "This is cool!",
    "descriptionHtml": "This is <i>cool</i>!",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  }
]

default

POST /sublist/id/{ownerType}/{ownerId}/{id}

owenerType: object
in

(no description)

Schema Definitions

Attachment: object

type: integer

Attachment source type. 1 = Google Drive, 2 = Quire storage.

name: string

File name of the attachment.

length: integer

Size of the attachment in bytes.

url: string

Direct URL to access this attachment.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "type": 2,
  "name": "file.txt",
  "length": 20000,
  "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Change: object

task: string

OID of the task to include or exclude.

exclude: boolean

Whether to exclude the task. Default: false (include).

single: boolean

Whether the operation applies only to the specified task. Default: false — all descendant tasks are also included or excluded. Note: this does not change descendants that were explicitly included or excluded in prior operations.

Example
{
  "task": "2MmYOpJH_ZLeehIjjytH1Rwr",
  "exclude": false,
  "single": false
}

Chat: object

url: string

URL of this chat on the Quire website.

name: string

Display name (Markdown supported).

id: string

ID.

nameText: string

Name with Markdown removed.

nameHtml: string

Name rendered as an HTML fragment converted from Markdown.

description: string

Description (Markdown supported).

descriptionText: string

Description with Markdown removed.

descriptionHtml: string

Description rendered as an HTML fragment converted from Markdown.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

oid: string

Object identifier (OID), a UUID-like unique string.

partner: SimpleTaggingEntity

External team this record belongs to. Null if the record is not accessible to external-team members.

start: string

Target start date for this record, or null if not specified.

due: string

Target due date for this record, or null if not specified.

archivedAt: string

Timestamp (UTC, ISO 8601) when this record was archived. Null if not archived.

owner: ChatOwner

Project this chat channel belongs to.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "url": "https://quire.io/w/my_project?chat=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

ChatOwner: object

type: string

Type of the owning object (e.g., Project).

url: string

URL of this owner on the Quire website.

id: string

Identifier for this record.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

name: string

Display name.

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "type": "Project",
  "url": "https://quire.io/w/prj_id",
  "id": "my_id",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "name": "Foo",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Comment: object

oid: string

Object identifier (OID), a UUID-like unique string.

description: string

Comment content (Markdown supported).

descriptionText: string

Comment content with Markdown removed.

descriptionHtml: string

Comment content rendered as an HTML fragment converted from Markdown.

attachments: Attachment

Attachments associated with this comment.

Attachment
url: string

URL of this comment on the Quire website.

pinBy: SimpleIdentity

User who pinned this comment, or null if not pinned.

pinAt: string

Timestamp (UTC, ISO 8601) when this comment was pinned, or null if not pinned.

editedAt: string

Timestamp (UTC, ISO 8601) when this comment was last edited, or null if not edited.

editedBy: SimpleIdentity

User who last edited this comment, or null if not edited.

owner: CommentOwner

Object this comment was added to.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "oid": "iDsPd.QP_qM.hN.Trymukn8b",
  "description": "It is *cool*!",
  "descriptionText": "It is cool!",
  "descriptionHtml": "It is <i>cool</i>!",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": {
        "id": "my_id",
        "url": "https://quire.io/u/my_id",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "url": "string",
  "pinBy": "#/definitions/SimpleIdentity",
  "pinAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "editedBy": "#/definitions/SimpleIdentity",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/my_id",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

CommentOwner: object

type: string

Type of the owning object (e.g., Project).

url: string

URL of this owner on the Quire website.

name: string

Display name.

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "type": "Project",
  "url": "https://quire.io/w/my_id",
  "name": "Foo",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

CreateChatBody: object

name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}

CreateCommentBody: object

description: string

Content of the new comment (Markdown supported).

pinned: boolean

(Optional) Whether to pin this comment. Default: false.

asUser: boolean

(Optional) If true, marks this comment as created by the app. Default: false (created by the authorizing user).

Example
{
  "description": "Adjust style",
  "pinned": false,
  "asUser": true
}

CreateDocBody: object

name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}

CreateNotificationBody: object

message: string

Notification message.

url: string

(Optional) URL associated with the message. When provided, the client may render the message as a hyperlink.

Example
{
  "message": "Unable to synchronize",
  "url": "https://superheros.com/sync"
}

CreateStatusBody: object

name: string

Display name of the status.

value: integer

Non-negative integer indicating progress. Must be unique within its context (e.g., project). Values ≥ 100 are treated as completed.

color: string

(Optional) Status color index from Quire’s predefined palette. If omitted, a color will be generated automatically. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 35).

Example
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}

CreateSublistBody: object

includes: string[]

(Optional) List of task OIDs to include in this sublist. All descendants of the specified tasks will be included as well.

string
name: string

Display name of the record (Markdown supported).

id: string

(Optional) ID for this record. If omitted, Quire generates one automatically. Must be unique within the project.

description: string

(Optional) Description of the record (Markdown supported).

image: string

(Optional) Icon image identifier. Must be one of the predefined values: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

partner: string

(Optional) OID of the external team this record belongs to.

start: string

(Optional) Target start date.

due: string

(Optional) Target due date.

Example
{
  "includes": [
    "string"
  ],
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "partner": "rcBHBYXZSiyDRrHrWPutatfF",
  "start": "2024-01-02",
  "due": "2024-05-25"
}

CreateTagBody: object

name: string

Display name of the tag.

global: boolean

(Optional) Whether this tag is global (available across projects). If omitted, the tag is not global.

color: string

(Optional) Tag color index from Quire’s predefined palette. If omitted, a color will be generated automatically. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 35).

Example
{
  "name": "Later",
  "global": true,
  "color": "35"
}

CreateTaskBody: object

name: string

The name of the task.

description: string

(Optional) A description of the task.

tasks: CreateTaskBody

(Optional) List of subtasks to create along with this task.

CreateTaskBody
asUser: boolean

(Optional) If true, marks this task as created by the app. Default: false (created by the authorizing user).

section: boolean

(Optional) Whether this task is a section. Default: false.

tags: string[]

(Optional) A list of tag OIDs or names to be added to the new task. Tag names are case-insensitive.

string
start: string

(Optional) Start date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
due: string

(Optional) Due date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
followers: string[]

(Optional) List of user identifiers (OID, ID, or email) who follow this task.

  • Use "me" for the current user.
  • Use "inherit" to include followers of the parent task.
  • Use "app" for the application itself to follow (receive notifications).

For app followers, additional syntaxes are supported:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL (e.g., .../standard/soc1/33456/a7).
string
assignees: string[]

(Optional) A list of user identifiers (OID, ID, or email) to assign this task to.

  • Use "me" to indicate the current user.
  • Use "inherit" to include all assignees of the parent task.

Example: {"addAssignees": ["me", "inherit", "foo@domain.com"]}

string
recurrence: Recurrence

(Optional) Recurrence details. Null if the task is not recurring.

  • freq: daily, weekly, monthly, yearly.
  • interval: Interval between occurrences. Default: 1.
  • until: End date. Default: never ends.
  • bymonth: Month (1 = January). Supported only with yearly. Default: 1.
  • byweekno: Week number (starting from 1) or last. Supported with monthly/yearly.
  • byweekday: Day(s) of week (0 = Monday ... 6 = Sunday). For weekly, use a list (e.g., [0,3]).
  • bydayno: Day of month (1 = first day). Supported with monthly/yearly. Note: byweekday and bydayno cannot both be specified.
  • dupsubtasks: Whether to duplicate subtasks when completed. Default: true.
  • sincelatest: For daily only. Whether to repeat based on last completion date. Default: false.
successors: string[]

(Optional) List of successor task identifiers (OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

string
yourField: object

(Optional) Value for a custom field, depending on field definition.

  • Money: specify the numeric value only (no currency).
  • User/Task: specify the OID.
  • Duration: specify number of seconds.
  • Multi-value: specify a list.
peekaboo:
boolean
integer

(Optional) Peekaboo setting.

  • true: Hide indefinitely.
  • Positive integer: Number of days to hide.
  • false: Cancel previous peekaboo.

Default: false.

priority: integer

(Optional) Task priority. Must be between -1 (lowest) and 2 (highest). Default: 0.

status: integer

(Optional) Task status. Must be between 0 and 100. Default: 0.

etc: integer

(Optional) Estimated time to complete, in seconds. Must be non-negative.

sourceRef: object

(Optional) Arbitrary source reference data to attach to the task. Available via API when retrieving the task.

If the entry contains a key text, its value will be displayed client-side and should be formatted in Markdown. It is recommended to include a source link.

Example
{
  "name": "Design new **logo**",
  "description": "This is a *cool* task.",
  "tasks": [
    {
      "name": "Design new **logo**",
      "description": "This is a *cool* task.",
      "tasks": [
        "#/definitions/CreateTaskBody"
      ],
      "asUser": true,
      "section": true,
      "tags": [
        "X6nmx9XjEO2wKbqeB1pRT43C"
      ],
      "start": "2018-12-20T00:00:00.000Z",
      "due": "2018-12-22T00:00:00.000Z",
      "followers": [
        "tzufRLqCnud74dARyDSvjWDl"
      ],
      "assignees": [
        "6QMKkEPBVWETLWrXqws94ALU"
      ],
      "recurrence": {
        "bydayno": 25,
        "bymonth": 10,
        "freq": "weekly",
        "interval": 1,
        "sincelatest": true,
        "byweekday": "[1,3]",
        "byweekno": 2,
        "dupsubtasks": false,
        "until": "2020-12-22"
      },
      "successors": [
        "string"
      ],
      "yourField": "object",
      "peekaboo": true,
      "priority": 0,
      "status": 0,
      "etc": 0,
      "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
    }
  ],
  "asUser": true,
  "section": true,
  "tags": [
    "X6nmx9XjEO2wKbqeB1pRT43C"
  ],
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl"
  ],
  "assignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "recurrence": "#/definitions/Recurrence",
  "successors": [
    "string"
  ],
  "yourField": "object",
  "peekaboo": true,
  "priority": 0,
  "status": 0,
  "etc": 0,
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
}

Doc: object

url: string

URL of this document on the Quire website.

name: string

Display name (Markdown supported).

id: string

ID.

nameText: string

Name with Markdown removed.

nameHtml: string

Name rendered as an HTML fragment converted from Markdown.

description: string

Description (Markdown supported).

descriptionText: string

Description with Markdown removed.

descriptionHtml: string

Description rendered as an HTML fragment converted from Markdown.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

oid: string

Object identifier (OID), a UUID-like unique string.

partner: SimpleTaggingEntity

External team this record belongs to. Null if the record is not accessible to external-team members.

start: string

Target start date for this record, or null if not specified.

due: string

Target due date for this record, or null if not specified.

archivedAt: string

Timestamp (UTC, ISO 8601) when this record was archived. Null if not archived.

owner: DocOwner

Project this document belongs to.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "url": "https://quire.io/w/my_project?doc=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

DocOwner: object

type: string

Type of the owning object (e.g., Project).

url: string

URL of this owner on the Quire website.

id: string

Identifier for this record.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

name: string

Display name.

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "type": "Project",
  "url": "https://quire.io/w/prj_id",
  "id": "my_id",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "name": "Foo",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Organization: object

name: string

Display name of the organization (Markdown supported).

id: string

Organization ID.

email: string

Organization email address.

url: string

URL of this organization on the Quire website.

nameText: string

Organization name with Markdown removed.

nameHtml: string

Organization name rendered as an HTML fragment converted from Markdown.

website: string

Website URL.

description: string

Description (Markdown supported).

descriptionText: string

Description with Markdown removed.

descriptionHtml: string

Description rendered as an HTML fragment converted from Markdown.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

oid: string

Object identifier (OID), a UUID-like unique string.

followers: SimpleIdentity

Users who follow this organization.

SimpleIdentity
createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "name": "My Organization",
  "id": "my_organization",
  "email": "info@company.com",
  "url": "https://quire.io/c/my_organization",
  "nameText": "My Organization",
  "nameHtml": "My Organization",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "followers": [
    {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

OrganizationWithPlan: object

name: string

Display name of the organization (Markdown supported).

id: string

Organization ID.

email: string

Organization email address.

url: string

URL of this organization on the Quire website.

nameText: string

Organization name with Markdown removed.

nameHtml: string

Organization name rendered as an HTML fragment converted from Markdown.

website: string

Website URL.

description: string

Description (Markdown supported).

descriptionText: string

Description with Markdown removed.

descriptionHtml: string

Description rendered as an HTML fragment converted from Markdown.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

oid: string

Object identifier (OID), a UUID-like unique string.

subscription: Subscription

Subscription details for this organization.

followers: SimpleIdentity

Users who follow this organization.

SimpleIdentity
createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "name": "My Organization",
  "id": "my_organization",
  "email": "info@company.com",
  "url": "https://quire.io/c/my_organization",
  "nameText": "My Organization",
  "nameHtml": "My Organization",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "subscription": {
    "due": "2038-02-22T02:06:58Z",
    "expired": false,
    "plan": "Professional"
  },
  "followers": [
    {
      "id": "my_id",
      "url": "https://quire.io/u/my_id",
      "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
      "iconColor": "37",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Partner: object

name: string

Display name of the external team.

color: string

Color index from Quire’s predefined color palette. Two-digit code where the first digit is 0–5 and the second digit is 0–7 (e.g., 35). The palette is available in Quire’s color picker.

oid: string

Object identifier (OID), a UUID-like unique string.

image: string

Image URL representing this team.

project: SimpleIdentity

The project this tag belongs to.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

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",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Project: object

activeCount: integer

Number of active (not completed) tasks in this project.

taskCount: integer

Total number of tasks in this project.

name: string

Display name of the project (Markdown supported).

id: string

Project ID.

url: string

URL of this project on the Quire website.

organization: SimpleIdentity

Organization this project belongs to.

nameText: string

Project name with Markdown removed.

nameHtml: string

Project name rendered as an HTML fragment converted from Markdown.

rootCount: integer

Number of root (top-level) tasks in this project.

description: string

Description (Markdown supported).

descriptionText: string

Description with Markdown removed.

descriptionHtml: string

Description rendered as an HTML fragment converted from Markdown.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

oid: string

Object identifier (OID), a UUID-like unique string.

archivedAt: string

Timestamp (UTC, ISO 8601) when this project was archived (peekaboo). Null if not archived.

editedAt: string

Timestamp (UTC, ISO 8601) when this record was last edited.

attachments: Attachment

Attachments associated with this project.

Attachment
followers: SimpleIdentity

Users who follow this project.

SimpleIdentity
createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "activeCount": 20,
  "taskCount": 30,
  "name": "My Project",
  "id": "my_project",
  "url": "https://quire.io/w/my_project",
  "organization": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "nameText": "My Project",
  "nameHtml": "My Project",
  "rootCount": 5,
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "archivedAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

ProjectJsonMap: object

name: string

Display name of the project.

id: string

Project ID.

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "name": "My Project",
  "id": "My_Project",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

ProjectWithPlan: object

activeCount: integer

Number of active (not completed) tasks in this project.

taskCount: integer

Total number of tasks in this project.

name: string

Display name of the project (Markdown supported).

id: string

Project ID.

url: string

URL of this project on the Quire website.

organization: SimpleIdentity

Organization this project belongs to.

nameText: string

Project name with Markdown removed.

nameHtml: string

Project name rendered as an HTML fragment converted from Markdown.

rootCount: integer

Number of root (top-level) tasks in this project.

description: string

Description (Markdown supported).

descriptionText: string

Description with Markdown removed.

descriptionHtml: string

Description rendered as an HTML fragment converted from Markdown.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

oid: string

Object identifier (OID), a UUID-like unique string.

subscription: Subscription

Subscription details for this project.

archivedAt: string

Timestamp (UTC, ISO 8601) when this project was archived (peekaboo). Null if not archived.

editedAt: string

Timestamp (UTC, ISO 8601) when this record was last edited.

attachments: Attachment

Attachments associated with this project.

Attachment
followers: SimpleIdentity

Users who follow this project.

SimpleIdentity
createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "activeCount": 20,
  "taskCount": 30,
  "name": "My Project",
  "id": "my_project",
  "url": "https://quire.io/w/my_project",
  "organization": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "nameText": "My Project",
  "nameHtml": "My Project",
  "rootCount": 5,
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "subscription": {
    "due": "2038-02-22T02:06:58Z",
    "expired": false,
    "plan": "Professional"
  },
  "archivedAt": "2018-12-22T02:06:58.158Z",
  "editedAt": "2018-12-22T02:06:58.158Z",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Recurrence: object

bydayno: integer

Day number (1-based) used with monthly or yearly frequencies. Note: byweekday and bydayno cannot be specified at the same time.

bymonth: integer

Month number (1–12) used with yearly frequency.

freq: string

Recurrence frequency. One of: daily, weekly, monthly, yearly.

interval: integer

Interval between occurrences. For example, 2 with weekly means every 2 weeks. Default: 1.

sincelatest: boolean

Whether to repeat relative to the last completion date (daily frequency only). Default: false.

byweekday: integer[]

Days of the week to apply the recurrence. Integers where 0=Mon, 1=Tue, …, 6=Sun. For weekly recurrences, provide a list (e.g., [1], [0,3]). When provided, these days define when the recurrence occurs.

integer
byweekno: integer

Week number (1-based) used with monthly or yearly frequencies.

dupsubtasks: boolean

Whether to duplicate subtasks when the task is completed. Default: true.

until: string

End date for the recurrence (UTC, ISO 8601). If not specified, the series never ends.

Example
{
  "bydayno": 25,
  "bymonth": 10,
  "freq": "weekly",
  "interval": 1,
  "sincelatest": true,
  "byweekday": "[1,3]",
  "byweekno": 2,
  "dupsubtasks": false,
  "until": "2020-12-22"
}

RecurrenceX: object

seriesId: string

Identifier for the recurrence series this task belongs to. Tasks that share the same seriesId are part of the same recurring series.

bydayno: integer

Day number (1-based) used with monthly or yearly frequencies. Note: byweekday and bydayno cannot be specified at the same time.

bymonth: integer

Month number (1–12) used with yearly frequency.

freq: string

Recurrence frequency. One of: daily, weekly, monthly, yearly.

interval: integer

Interval between occurrences. For example, 2 with weekly means every 2 weeks. Default: 1.

sincelatest: boolean

Whether to repeat relative to the last completion date (daily frequency only). Default: false.

byweekday: integer[]

Days of the week to apply the recurrence. Integers where 0=Mon, 1=Tue, …, 6=Sun. For weekly recurrences, provide a list (e.g., [1], [0,3]). When provided, these days define when the recurrence occurs.

integer
byweekno: integer

Week number (1-based) used with monthly or yearly frequencies.

dupsubtasks: boolean

Whether to duplicate subtasks when the task is completed. Default: true.

until: string

End date for the recurrence (UTC, ISO 8601). If not specified, the series never ends.

Example
{
  "seriesId": "j47xvxul26",
  "bydayno": 25,
  "bymonth": 10,
  "freq": "weekly",
  "interval": 1,
  "sincelatest": true,
  "byweekday": "[1,3]",
  "byweekno": 2,
  "dupsubtasks": false,
  "until": "2020-12-22"
}

Referrer: object

task: string

OID of the task that references another task (the referrer task).

when: string

Timestamp (UTC, ISO 8601) when this reference was created.

user: string

OID of the user who created this reference.

Example
{
  "task": "wrSpgghWFCzPHBqiShSurDeD",
  "when": "2018-12-22T02:06:58.158Z",
  "user": "wrSpgghWFCzPHBqiShSurDeD"
}

SimpleAttachment: object

name: string

File name of the attachment.

length: integer

Size of the attachment in bytes.

url: string

Direct URL to access this attachment.

Example
{
  "name": "file.txt",
  "length": 20000,
  "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png"
}

SimpleEntityWithId: object

id: string

Identifier for this record.

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "id": "my_id",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

SimpleIdentity: object

id: string

Identifier for this record.

url: string

URL of this record on the Quire website.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

name: string

Display name.

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "id": "my_id",
  "url": "https://quire.io/u/my_id",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "name": "Foo",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

SimpleTaggingEntity: object

color: string

Color index from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 35). The palette appears in Quire’s color picker.

name: string

Display name.

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "color": "35",
  "name": "Foo",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Status: object

name: string

Display name of the status.

value: integer

Non-negative integer indicating progress. Must be unique within its context (e.g., project). Values ≥ 100 are treated as completed.

color: string

Color index from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 35).

Example
{
  "name": "Doing",
  "value": 50,
  "color": "35"
}

StorageList: object

latest: StorageMap

Object stored under the key latest (key–value map of properties).

currentProject: string

Value stored under the key currentProject (e.g., a project OID).

myList: string[]

List stored under the key myList.

string
Example
{
  "latest": {
    "key": "My data"
  },
  "currentProject": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "myList": "[\"alpha\", \"beta\", \"gamma\"]"
}

StorageMap: object

key: string

Value stored under the given key.

Example
{
  "key": "My data"
}

Sublist: object

url: string

URL of this sublist on the Quire website.

name: string

Display name (Markdown supported).

id: string

ID.

nameText: string

Name with Markdown removed.

nameHtml: string

Name rendered as an HTML fragment converted from Markdown.

description: string

Description (Markdown supported).

descriptionText: string

Description with Markdown removed.

descriptionHtml: string

Description rendered as an HTML fragment converted from Markdown.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

oid: string

Object identifier (OID), a UUID-like unique string.

partner: SimpleTaggingEntity

External team this record belongs to. Null if the record is not accessible to external-team members.

start: string

Target start date for this record, or null if not specified.

due: string

Target due date for this record, or null if not specified.

archivedAt: string

Timestamp (UTC, ISO 8601) when this record was archived. Null if not archived.

owner: SublistOwner

Project this sublist belongs to.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "url": "https://quire.io/w/my_project?sublist=Highlight101",
  "name": "Highlight 101",
  "id": "Highlight101",
  "nameText": "Highlight 101",
  "nameHtml": "Highlight 101",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "partner": {
    "color": "35",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "start": "2024-01-02",
  "due": "2024-05-25",
  "archivedAt": "2020-02-22T02:06:58.158Z",
  "owner": {
    "type": "Project",
    "url": "https://quire.io/w/prj_id",
    "id": "my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdAt": "2018-12-22T02:06:58.158Z"
}

SublistOwner: object

type: string

Type of the owning object (e.g., Project).

url: string

URL of this owner on the Quire website.

id: string

Identifier for this record.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

name: string

Display name.

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "type": "Project",
  "url": "https://quire.io/w/prj_id",
  "id": "my_id",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "name": "Foo",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Subscription: object

due: string

Subscription due/renewal timestamp in UTC (ISO 8601).

expired: boolean

Whether the subscription is expired. Available only when a due date is present.

plan: string

Plan name (e.g., Free, Professional, Premium, Enterprise).

Example
{
  "due": "2038-02-22T02:06:58Z",
  "expired": false,
  "plan": "Professional"
}

Tag: object

global: boolean

Whether this tag is global (available across projects). May be omitted in responses when false.

name: string

Display name of the tag.

color: string

Color index from Quire’s predefined color palette. Two-digit code where the first digit is 0–5 and the second digit is 0–7 (e.g., 35). The palette is available in Quire’s color picker.

oid: string

Object identifier (OID), a UUID-like unique string.

project: SimpleIdentity

The project this tag belongs to.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "global": true,
  "name": "Later",
  "color": "35",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "project": {
    "id": "my_id",
    "url": "https://quire.io/u/my_id",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Task: object

tags: SimpleTaggingEntity

Tags applied to this task.

SimpleTaggingEntity
successors: string[]

Successor task identifiers.

string
oid: string

Object identifier (OID), a UUID-like unique string.

id: integer
name: string

Task name (Markdown supported).

nameText: string

Task name with Markdown removed.

nameHtml: string

Task name rendered as an HTML fragment converted from Markdown.

description: string

Task description (Markdown supported).

descriptionText: string

Task description with Markdown removed.

descriptionHtml: string

Task description rendered as an HTML fragment converted from Markdown.

etc: integer

The estimated time to complete the task, expressed in seconds. If null, no estimate has been specified.

recurrence: RecurrenceX

Contains the recurrence details of this task. If null, the task does not repeat.

timelogs: Timelog

The time log entries associated with this task.

Timelog
priority: integer

Task priority, from -1 (lowest) to 2 (highest). Default: 0.

status: integer

Task status, from 0 to 100. 100 indicates the task is completed.

start: string

Start date/time in UTC. If a time component is present, milliseconds are set to 001. If date-only, milliseconds are 000 (and hour, minute, second are also zero).

due: string

Due date/time in UTC. If a time component is present, milliseconds are set to 001. If date-only, milliseconds are 000 (and hour, minute, second are also zero).

partner: SimpleTaggingEntity

The external team to which this task belongs. If null, this task is not associated with any external team.

assignors: SimpleIdentity

A list of users who assigned this task. Each item in assignors corresponds by index to the matching item in assignees (e.g., the first assignee was assigned by the first assignor).

SimpleIdentity
partnerBy: SimpleIdentity

The user who assigned this task to the external team. If null, the task is not associated with any external team.

assignees: SimpleIdentity

Users assigned to this task.

SimpleIdentity
order: integer

Indicates the display order of this task in the board view. A smaller value means the task appears earlier. This field is only relevant in board view and has no meaning elsewhere.

cover: string

The ID of the attachment used as the cover image for this task.

attachments: Attachment

The list of files attached to this task.

Attachment
childCount: integer

The number of subtasks belonging to this task. To retrieve the subtasks, send a GET request to "/task/list/{oid}".

referrers: Referrer

A list of items that reference this task. Note: Some referrers may no longer exist.

Referrer
editedAt: string

Represents the timestamp of the most recent edit to this record.

commentedAt: string

Indicates the timestamp of the most recent comment posted on this record.

If null, the record has never had a comment.

Since comments can be removed, this value may not always match the current set of comments.

toggledBy: SimpleIdentity

The user who last changed the status of this task.

toggledAt: string

The timestamp of the most recent status change for this task.

url: string

URL of this task on the Quire website.

section: boolean

Whether this task is a section.

peekaboo: boolean

Whether the task is currently peekabooed (hidden).

mutes: SimpleIdentity

The list of users who have muted this task and will not receive notifications about it, even if they are assigned.

SimpleIdentity
followers: SimpleIdentity

The list of users who are following this task.

SimpleIdentity
favorites: SimpleIdentity

The list of users who have marked this task as a favorite.

SimpleIdentity
sourceRef: object

Source reference data stored by an app.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

TaskWithProject: object

tags: SimpleTaggingEntity

Tags applied to this task.

SimpleTaggingEntity
successors: string[]

Successor task identifiers.

string
oid: string

Object identifier (OID), a UUID-like unique string.

id: integer
name: string

Task name (Markdown supported).

nameText: string

Task name with Markdown removed.

nameHtml: string

Task name rendered as an HTML fragment converted from Markdown.

description: string

Task description (Markdown supported).

descriptionText: string

Task description with Markdown removed.

descriptionHtml: string

Task description rendered as an HTML fragment converted from Markdown.

etc: integer

The estimated time to complete the task, expressed in seconds. If null, no estimate has been specified.

recurrence: RecurrenceX

Contains the recurrence details of this task. If null, the task does not repeat.

timelogs: Timelog

The time log entries associated with this task.

Timelog
priority: integer

Task priority, from -1 (lowest) to 2 (highest). Default: 0.

status: integer

Task status, from 0 to 100. 100 indicates the task is completed.

start: string

Start date/time in UTC. If a time component is present, milliseconds are set to 001. If date-only, milliseconds are 000 (and hour, minute, second are also zero).

due: string

Due date/time in UTC. If a time component is present, milliseconds are set to 001. If date-only, milliseconds are 000 (and hour, minute, second are also zero).

partner: SimpleTaggingEntity

The external team to which this task belongs. If null, this task is not associated with any external team.

assignors: SimpleIdentity

A list of users who assigned this task. Each item in assignors corresponds by index to the matching item in assignees (e.g., the first assignee was assigned by the first assignor).

SimpleIdentity
partnerBy: SimpleIdentity

The user who assigned this task to the external team. If null, the task is not associated with any external team.

assignees: SimpleIdentity

Users assigned to this task.

SimpleIdentity
order: integer

Indicates the display order of this task in the board view. A smaller value means the task appears earlier. This field is only relevant in board view and has no meaning elsewhere.

cover: string

The ID of the attachment used as the cover image for this task.

attachments: Attachment

The list of files attached to this task.

Attachment
project: SimpleEntityWithId

The project to which this task belongs.

childCount: integer

The number of subtasks belonging to this task. To retrieve the subtasks, send a GET request to "/task/list/{oid}".

referrers: Referrer

A list of items that reference this task. Note: Some referrers may no longer exist.

Referrer
editedAt: string

Represents the timestamp of the most recent edit to this record.

commentedAt: string

Indicates the timestamp of the most recent comment posted on this record.

If null, the record has never had a comment.

Since comments can be removed, this value may not always match the current set of comments.

toggledBy: SimpleIdentity

The user who last changed the status of this task.

toggledAt: string

The timestamp of the most recent status change for this task.

url: string

URL of this task on the Quire website.

section: boolean

Whether this task is a section.

peekaboo: boolean

Whether the task is currently peekabooed (hidden).

mutes: SimpleIdentity

The list of users who have muted this task and will not receive notifications about it, even if they are assigned.

SimpleIdentity
followers: SimpleIdentity

The list of users who are following this task.

SimpleIdentity
favorites: SimpleIdentity

The list of users who have marked this task as a favorite.

SimpleIdentity
sourceRef: object

Source reference data stored by an app.

createdBy: SimpleIdentity

User who created this record.

createdAt: string

Creation timestamp in UTC (ISO 8601).

Example
{
  "tags": [
    {
      "color": "35",
      "name": "Foo",
      "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
    }
  ],
  "successors": "['#135', '#26']",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "id": 12,
  "name": "Design new **logo**",
  "nameText": "Design new logo",
  "nameHtml": "Design new <b>logo</b>",
  "description": "This is a *cool* task.",
  "descriptionText": "This is a cool task.",
  "descriptionHtml": "This is a <i>cool</i> task.",
  "etc": 500,
  "recurrence": {
    "seriesId": "j47xvxul26",
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "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",
        "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
        "iconColor": "37",
        "name": "Foo",
        "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
      },
      "billable": true,
      "note": "A piece of cake"
    }
  ],
  "priority": 0,
  "status": 0,
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "partner": "#/definitions/SimpleTaggingEntity",
  "assignors": [
    "#/definitions/SimpleIdentity"
  ],
  "partnerBy": "#/definitions/SimpleIdentity",
  "assignees": [
    "#/definitions/SimpleIdentity"
  ],
  "order": 99,
  "cover": "qfqVmUtC",
  "attachments": [
    {
      "type": 2,
      "name": "file.txt",
      "length": 20000,
      "url": "https://quire.io/att/Ta/sdcQOGgeUtyaFFzb9p0IwAgi/qfqVmUtC/image.png",
      "createdBy": "#/definitions/SimpleIdentity",
      "createdAt": "2018-12-22T02:06:58.158Z"
    }
  ],
  "project": {
    "id": "my_id",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "childCount": 5,
  "referrers": [
    {
      "task": "wrSpgghWFCzPHBqiShSurDeD",
      "when": "2018-12-22T02:06:58.158Z",
      "user": "wrSpgghWFCzPHBqiShSurDeD"
    }
  ],
  "editedAt": "2018-12-22T02:06:58.158Z",
  "commentedAt": "2023-12-22T09:06:28.253Z",
  "toggledBy": "#/definitions/SimpleIdentity",
  "toggledAt": "2018-12-22T02:06:58.158Z",
  "url": "https://quire.io/w/my_project/123",
  "section": true,
  "peekaboo": true,
  "mutes": [
    "#/definitions/SimpleIdentity"
  ],
  "followers": [
    "#/definitions/SimpleIdentity"
  ],
  "favorites": [
    "#/definitions/SimpleIdentity"
  ],
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}",
  "createdBy": "#/definitions/SimpleIdentity",
  "createdAt": "2018-12-22T02:06:58.158Z"
}

Timelog: object

start: string

Start timestamp (UTC) for this time log.

end: string

End timestamp (UTC) for this time log.

user: SimpleIdentity

User who recorded this time log.

billable: boolean

Whether this time log is billable. May be omitted in responses when false.

note: string

Optional note for this time log.

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",
    "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
    "iconColor": "37",
    "name": "Foo",
    "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
  },
  "billable": true,
  "note": "A piece of cake"
}

UpdateChatBody: object

name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}

UpdateCommentBody: object

description: string

(Optional) New comment content (Markdown supported).

pinned: boolean

(Optional) Whether the comment is pinned.

Example
{
  "description": "Adjust style",
  "pinned": false
}

UpdateDocBody: object

name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Example
{
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}

UpdateOrganizationBody: object

followers: string[]

(Optional) Followers to replace the current followers of this organization (user OIDs). This replaces all existing followers. To modify incrementally, use addFollowers() or removeFollowers().

string
addFollowers: string[]

(Optional) Followers to add to this organization (user OIDs). Special values:

  • "me": the current user follows the organization
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL when invoking the registered hook. Example: hook https://super.app/hooks/standard + follower app|/soc1/33456/a7https://super.app/hooks/standard/soc1/33456/a7
string
removeFollowers: string[]

(Optional) Followers to remove from this organization (user OIDs). See addFollowers() for details on special values.

string
Example
{
  "followers": [
    "string"
  ],
  "addFollowers": [
    "string"
  ],
  "removeFollowers": [
    "string"
  ]
}

UpdateProjectBody: object

followers: string[]

(Optional) Followers to replace the current followers of this project (user OIDs). This replaces all existing followers. To modify incrementally, use getAddFollowers() or getRemoveFollowers().

string
addFollowers: string[]

(Optional) Followers to add to this project (user OIDs). Special values:

  • "me": the current user follows the project
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL when invoking the registered hook. Example: hook https://super.app/hooks/standard + follower app|/soc1/33456/a7https://super.app/hooks/standard/soc1/33456/a7
string
removeFollowers: string[]

(Optional) Followers to remove from this project (user OIDs). See getAddFollowers() for details on special values.

string
Example
{
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl",
    "app"
  ],
  "addFollowers": [
    "sfsvLbDVPvi1QMf2GkDn7VSy"
  ],
  "removeFollowers": [
    "aBuz4MwfZ5CasOae6stnFa2f"
  ]
}

UpdateStatusBody: object

name: string

(Optional) New display name for the status.

value: integer

(Optional) New numeric status value. Non-negative integer indicating progress. Must be unique within the context (e.g., project). Values ≥ 100 are treated as completed.

color: string

(Optional) Status color index from Quire’s predefined palette (two digits: first 0–5, second 0–7; e.g., 35).

Example
{
  "name": "Later",
  "value": 50,
  "color": "35"
}

UpdateSublistBody: object

changes: Change

(Optional) List of changes that add or remove tasks from this sublist. See Change for the operation schema.

Change
name: string

(Optional) New display name for this record.

id: string

(Optional) New ID for this record.

description: string

(Optional) New description for this record (Markdown supported).

start: string

(Optional) Target start date for this record.

due: string

(Optional) Target due date for this record.

image: string

(Optional) Icon image for this record. Must be one of the predefined identifiers: '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'

iconColor: string

(Optional) Icon color index from Quire’s predefined palette.

archived: boolean

(Optional) Archive toggle. Specify true to archive this record; specify false to unarchive.

Example
{
  "changes": [
    {
      "task": "2MmYOpJH_ZLeehIjjytH1Rwr",
      "exclude": false,
      "single": false
    }
  ],
  "name": "Highlight 101",
  "id": "Highlight101",
  "description": "**Great** record to start with.",
  "start": "2024-01-02",
  "due": "2024-05-25",
  "image": "icon-view-kanban",
  "iconColor": "37",
  "archived": true
}

UpdateTagBody: object

project: string

(Optional) Project OID that this tag is limited to. Used only when global is explicitly set to false; ignored otherwise.

name: string

(Optional) New display name for the tag.

global: boolean

(Optional) Whether the tag is global (available across projects). If set to false, you must also provide project.

color: string

(Optional) Tag color (palette index or hex, depending on your client).

Example
{
  "project": "Dyh2YkFcu9uLgLFIeN1kB4Ld",
  "name": "Later",
  "global": true,
  "color": "35"
}

UpdateTaskBody: object

name: string

(Optional) New task name.

description: string

(Optional) New task description.

removeSuccessors: string[]

(Optional) Successors to remove (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

string
addTags: string[]

(Optional) Tags to add to this task (OID or name). Tag names are case-insensitive.

string
asUser: boolean

(Optional) If true, marks this update as performed by the app. Default: false (updated by the authorizing user).

section: boolean

(Optional) Whether this task is a section. Default: false.

tags: string[]

(Optional) Tags to replace the current tags on this task (OID or name). This replaces all existing tags. To modify incrementally, use addTags or removeTags. Tag names are case-insensitive.

string
start: string

(Optional) Start date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
due: string

(Optional) Due date/time in UTC.

  • With time: yyyy-MM-dd'T'HH:mmZ (e.g., 2020-10-30T09:30Z).
  • Date only: yyyy-MM-dd (e.g., 2020-10-30).

Notes:

  • Seconds are not supported.
  • 2020-10-30T00:00:00 is treated as 2020-10-30 (date only).
  • To specify exactly midnight UTC, use 2020-10-30T00:00 (no seconds).
followers: string[]

(Optional) Followers to replace the current followers (OID, ID, or email).

See addFollowers for details.

string
addFollowers: string[]

(Optional) Followers to add (OID, ID, or email). Special values:

  • "me": the current user
  • "inherit": include followers of the parent task
  • "app": the application follows (receives notifications)

App follower syntax:

  • app|team or app|team|channel
  • app|/path → appended to the hook URL (e.g., .../standard/soc1/33456/a7).
string
removeFollowers: string[]

(Optional) Followers to remove (OID, ID, or email).

See addFollowers for details on special values.

string
assignees: string[]

(Optional) Assignees to replace the current assignees (OID, ID, or email). This replaces all existing assignees. To modify incrementally, use addAssignees or removeAssignees.

See addAssignees for special values.

string
recurrence: Recurrence

(Optional) Recurrence details. null if the task is not recurring.

  • freq: daily, weekly, monthly, yearly.
  • interval: Interval between occurrences. Default: 1.
  • until: End date. Default: never ends.
  • bymonth: Month (1 = January). Supported only with yearly. Default: 1.
  • byweekno: Week number (starting from 1) or last. Supported with monthly/yearly.
  • byweekday: Day(s) of week (0 = Monday ... 6 = Sunday). For weekly, use a list (e.g., [1], [0,3]).
  • bydayno: Day of month (1 = first day). Supported with monthly/yearly. Note: byweekday and bydayno cannot both be specified.
  • dupsubtasks: Duplicate subtasks when the task is completed. Default: true.
  • sincelatest: Daily only. Repeat based on the last completion date. Default: false.
successors: string[]

(Optional) Successors to replace the current successors (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

string
removeTags: string[]

(Optional) Tags to remove from this task (OID or name). Tag names are case-insensitive.

string
addAssignees: string[]

(Optional) Assignees to add (OID, ID, or email). Special values:

  • "me": the current user
  • "inherit": include all assignees of the parent task

Example: {"addAssignees": ["me", "inherit", "foo@domain.com"]}

string
addSuccessors: string[]

(Optional) Successors to add (task OID or ID).

IDs can be specified as #id or id.

Examples: 'AMZ0-59R125-35KTK2356G', '#13', 135.

string
yourField: object

(Optional) Value for a custom field. Type depends on field definition.

  • Money: numeric value only (no currency).
  • User/Task: OID.
  • Duration: number of seconds.
  • Multi-value: provide a list.
peekaboo:
boolean
integer

(Optional) Peekaboo setting.

  • true: Hide indefinitely (task and subtasks).
  • Positive integer: Number of days to hide.
  • false: Undo previous peekaboo.

Default: false.

removeAssignees: string[]

(Optional) Assignees to remove (OID, ID, or email).

See addAssignees for details on special values.

string
priority: integer

(Optional) New priority. Must be between -1 (lowest) and 2 (highest).

status: integer

(Optional) New status, between 0 and 100. Specify 100 to complete the task.

etc: integer

(Optional) Estimated time to complete, in seconds. Must be non-negative or null. Specify null to clear the value.

sourceRef: object

(Optional) Arbitrary source reference data to store with the task. Available via API on retrieval.

If the map contains text, its value will be displayed client-side and should be Markdown. Including a source link is recommended.

Example
{
  "name": "New idea",
  "description": "This is a **cool** task.",
  "removeSuccessors": [
    "string"
  ],
  "addTags": [
    "X6nmx9XjEO2wKbqeB1pRT43C"
  ],
  "asUser": true,
  "section": true,
  "tags": [
    "ITaVbkhh3iVcEcV3vuSLeE2k"
  ],
  "start": "2018-12-20T00:00:00.000Z",
  "due": "2018-12-22T00:00:00.000Z",
  "followers": [
    "tzufRLqCnud74dARyDSvjWDl",
    "app"
  ],
  "addFollowers": [
    "sfsvLbDVPvi1QMf2GkDn7VSy"
  ],
  "removeFollowers": [
    "aBuz4MwfZ5CasOae6stnFa2f"
  ],
  "assignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "recurrence": {
    "bydayno": 25,
    "bymonth": 10,
    "freq": "weekly",
    "interval": 1,
    "sincelatest": true,
    "byweekday": "[1,3]",
    "byweekno": 2,
    "dupsubtasks": false,
    "until": "2020-12-22"
  },
  "successors": [
    "string"
  ],
  "removeTags": [
    "mPAQrYU1qt8wAYAInKRlTnvl"
  ],
  "addAssignees": [
    "6QMKkEPBVWETLWrXqws94ALU"
  ],
  "addSuccessors": [
    "string"
  ],
  "yourField": "object",
  "peekaboo": true,
  "removeAssignees": [
    "Job4NSW9xK6Owcke8iKj7zyH"
  ],
  "priority": 0,
  "status": 100,
  "etc": 0,
  "sourceRef": "{'text': 'Source: [Gmail](https://gmail.com/link)'}"
}

User: object

name: string

Display name of the user (Markdown supported).

id: string

User ID.

url: string

URL of this user on the Quire website.

nameText: string

User name with Markdown removed.

nameHtml: string

User name rendered as an HTML fragment converted from Markdown.

email: string

Email address.

website: string

Website URL.

description: string

Description (Markdown supported).

descriptionText: string

Description with Markdown removed.

descriptionHtml: string

Description rendered as an HTML fragment converted from Markdown.

image: string

Image URL representing this record.

iconColor: string

Color index for the icon from Quire’s predefined palette. Two-digit code: first digit 0–5, second digit 0–7 (e.g., 37).

oid: string

Object identifier (OID), a UUID-like unique string.

Example
{
  "name": "John",
  "id": "john",
  "url": "https://quire.io/u/john",
  "nameText": "John",
  "nameHtml": "John",
  "email": "john@gmail.com",
  "website": "https://coolwebsites.com",
  "description": "This is *cool*!",
  "descriptionText": "This is cool!",
  "descriptionHtml": "This is <i>cool</i>!",
  "image": "https://quire.s3.amazonaws.com/oid/image.jpg",
  "iconColor": "37",
  "oid": "Dyh2YkFcu9uLgLFIeN1kB4Ld"
}

Recurring:

byweekday: object
Example
{
  "byweekday": [
    1,
    4
  ]
}