Quip Automation API (Current)
Number of APIs: 41
Welcome to the documentation for the Quip Automation API. This documentation describes the functionality available only in the current versions of API methods. You can also review the documentation for all API methods for information about both current and deprecated API methods.
Summary
The Quip Automation API provides read/write access to Quip, enabling you to automate processes and integrate Quip with other products you or your company uses.
The Automation API is REST-based. Responses are JSON, and errors are reported via standard HTTP codes in addition to JSON-formatted error information in the HTTP response bodies of relevant requests. We use OAuth 2 for authentication and authorization.
Core Concepts
Quip integrates documents and messages into a single unit that we call a thread. Most of the operations in the Quip Automation API operate on threads. Threads can simply be a list of messages, i.e., a chat thread, or they may have a document in addition to a list of messages. Each thread has a permanent 11 character id and a similar 12 character URL suffix that can be expired by the user. Apps receiving URLs should convert them to permanent ids using Get Thread before being used.
Quip documents are broken down into smaller units we call sections. Every paragraph in a document is a separate section, as is every item in a list or cell in a table. The Quip Automation API outputs documents as HTML for convenience, and the elements in the HTML have id attributes specifying their internal section ID. When you want to perform advanced transforms on a document, like modifying a checklist, you will need to use the section IDs. The official Python library contains a number of examples of parsing the HTML to get section IDs and using that data for edit operations.
Quip folders are not traditional file system folders. Quip folders are more like tags, i.e., a thread can be in multiple folders. When a thread is in a folder, it inherits the permissions of the folder, e.g., if you add a thread to a folder shared with three people, those three people will have access to the thread. Each user has special desktop and archive folders that cannot be deleted, shared, or renamed.
A Quip thread can be shared with a list of folders and individual users. A user can access the thread if they have access to any of the folders or if they are individually added to the thread.
We refer to the people in threads and folders as members throughout the API.
Rate Limit
Quip’s APIs are rate limited by number of requests per minute per user - with a default of 50 requests per minute. API responses include a few custom headers to aid programmers implement backoffs in their code. These headers are:
X-Ratelimit-Limit
: The number of requests/min the user can make
X-Ratelimit-Remaining
: The number of requests remaining this user
can make within the minute - this number changes with each request.
X-Ratelimit-Reset
: The UTC timestamp for when the rate limit will
reset
Note: If you believe your application requires escalated rate limits please reach out to support and explain your use case and rationale.
REST API Versioning FAQ
Why do API methods get versioned?
To improve the quality and performance of API methods, Quip periodically releases new versions and deprecates older versions. Examples of changes that sometimes require creating new versions are:
- Renaming an API method; or
- Adding a required input field; or
- Removing or renaming an input field; or
- Removing an output field.
How do I know which version of an API method I’m using?
Versions are identified in the path for each API method. Examples: * Version 1: GET https://platform.quip.com/1/admin/sampleresource. * Version 2: GET https://platform.quip.com/2/admin/sampleresource.
How will I know when an API method is deprecated?
We inform you in a release note at least one year before support for an API method ends. In addition, we update the reference documentation to identify the current and deprecated versions of an API method. Our REST APIs have two versions of reference documentation: * Current: Describes the functionality available only in the current versions of methods in a REST API. * All: Describes the functionality available in both current and deprecated versions of methods in a REST API.
What should I do when an API method is deprecated?
Update your integrations so that they point to the current version instead of a deprecated version before support for an API method ends. Example scenario: * You have an integration that points to version 1 of an API method at this path: GET https://platform.quip.com/1/admin/sampleresource * Version 2 of the API method is introduced and version 1 is deprecated. * Before support for version 1 ends, you must update your integration to point to version 2 of the API method at this path: GET https://platform.quip.com/2/admin/sampleresource.
As needed, for your integrations, you can download the OpenAPI Specification (OAS) files for current and all versions of each REST API.
-
Authentication - Token Endpoint POST {{baseUrl}}/1/oauth/access_token?grant_type=refresh_token&client_id=nostrud cillum sed in&client_secret=nostrud cillum sed in&refresh_token=nostrud cillum sed in&code=nostrud cillum sed in&redirect_uri=nostrud cillum sed in
-
Authentication - Authorization Endpoint GET {{baseUrl}}/1/oauth/login?client_id=nostrud cillum sed in&client_secret=nostrud cillum sed in&redirect_uri=https://app.postman.com/oauth2/callback&state=1234
-
Authentication - Revoke a Token POST {{baseUrl}}/1/oauth/revoke?client_id=nostrud cillum sed in&client_secret=nostrud cillum sed in&token=nostrud cillum sed in
-
Authentication - Verify Token GET {{baseUrl}}/1/oauth/verify_token
-
Threads - Add People to a Thread or Add a Thread to Folders POST {{baseUrl}}/1/threads/add-members
-
Threads - Copy a Document or Template POST {{baseUrl}}/1/threads/copy-document
-
Threads - Delete a Thread POST {{baseUrl}}/1/threads/delete
-
Threads - Edit a Document POST {{baseUrl}}/1/threads/edit-document
-
Threads - Edit Thread Link Share Settings POST {{baseUrl}}/1/threads/edit-share-link-settings
-
Threads - Export Document to .docx GET {{baseUrl}}/1/threads/:thread_id/export/docx