Zoho Writer Documents API

Create, upload, list, download, and inspect documents

OpenAPI Specification

zoho-writer-documents-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Zoho Writer Combine Documents API
  description: REST API for programmatic document creation, editing, mail merge, electronic signing, webhook automation, and multi-format document export. Supports Document, Combine, Merge, and Sign API categories with OAuth 2.0 authentication.
  version: 1.0.0
  contact:
    name: Zoho Writer Support
    email: support@zohowriter.com
    url: https://www.zoho.com/writer/help/api/v1/
  termsOfService: https://www.zoho.com/writer/developers.html
  license:
    name: Zoho API Terms
    url: https://www.zoho.com/writer/developers.html
servers:
- url: https://www.zohoapis.com/writer/api/v1
  description: United States (default)
- url: https://www.zohoapis.eu/writer/api/v1
  description: Europe
- url: https://www.zohoapis.in/writer/api/v1
  description: India
- url: https://www.zohoapis.jp/writer/api/v1
  description: Japan
- url: https://www.zohoapis.com.au/writer/api/v1
  description: Australia
- url: https://www.zohoapis.ca/writer/api/v1
  description: Canada
- url: https://www.zohoapis.sa/writer/api/v1
  description: Saudi Arabia
- url: https://www.zohoapis.com.cn/writer/api/v1
  description: China
- url: https://www.zohoapis.sg/writer/api/v1
  description: Singapore
security:
- OAuth2:
  - ZohoWriter.documentEditor.ALL
  - ZohoPC.files.ALL
  - WorkDrive.files.ALL
tags:
- name: Documents
  description: Create, upload, list, download, and inspect documents
paths:
  /documents:
    get:
      operationId: listDocuments
      summary: Get list of documents
      description: Retrieve a paginated list of all documents in the authenticated user's account.
      tags:
      - Documents
      security:
      - OAuth2:
        - ZohoWriter.documentEditor.ALL
        - ZohoPC.files.ALL
        - WorkDrive.files.ALL
        - WorkDrive.organization.ALL
        - WorkDrive.workspace.ALL
      responses:
        '200':
          description: Successful response with list of documents
          content:
            application/json:
              schema:
                type: object
                properties:
                  offset:
                    type: integer
                    description: Pagination offset
                  total_count:
                    type: integer
                    description: Total number of documents
                  limit:
                    type: integer
                    description: Documents returned per request
                  documents:
                    type: array
                    items:
                      $ref: '#/components/schemas/DocumentSummary'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      externalDocs:
        description: Get List of Documents
        url: https://www.zoho.com/writer/help/api/v1/get-list-of-documents.html
    post:
      operationId: createDocument
      summary: Create or upload a document
      description: Create a blank document or upload an existing document file. Optionally set a filename and resource type.
      tags:
      - Documents
      security:
      - OAuth2:
        - ZohoWriter.documentEditor.ALL
        - ZohoPC.files.ALL
        - WorkDrive.files.ALL
        - WorkDrive.organization.ALL
        - WorkDrive.workspace.ALL
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                filename:
                  type: string
                  description: Sets a unique name for the document; omitting creates a blank untitled document
                resource_type:
                  type: string
                  enum:
                  - fillable
                  - merge
                  - sign
                  description: Defines document type
      responses:
        '200':
          description: Document created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentDetails'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      externalDocs:
        description: Create / Upload Documents
        url: https://www.zoho.com/writer/help/api/v1/create-upload-documents.html
  /documents/{document_id}:
    get:
      operationId: getDocument
      summary: Get document details
      description: Retrieve full metadata and properties for a specific document.
      tags:
      - Documents
      parameters:
      - name: document_id
        in: path
        required: true
        schema:
          type: string
        description: Unique identifier for the Writer document
      responses:
        '200':
          description: Document details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentDetails'
        '404':
          description: Document not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      externalDocs:
        description: Get Document Details
        url: https://www.zoho.com/writer/help/api/v1/get-document-details.html
  /documents/{document_id}/metrics:
    get:
      operationId: getDocumentMetrics
      summary: Get document metrics
      description: Retrieve content metrics, comments metrics, and tracked-changes metrics for a document.
      tags:
      - Documents
      parameters:
      - name: document_id
        in: path
        required: true
        schema:
          type: string
        description: Unique identifier for the Writer document
      responses:
        '200':
          description: Document metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentMetrics'
        '404':
          description: Document not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      externalDocs:
        description: Get Document Metrics
        url: https://www.zoho.com/writer/help/api/v1/get-document-metrics.html
  /download/{document_id}:
    get:
      operationId: downloadDocument
      summary: Download a document
      description: Download a document in the specified format. Supports docx, odt, rtf, txt, html, pdf, zip, epub, zdoc, and pdfform. Defaults to docx.
      tags:
      - Documents
      security:
      - OAuth2:
        - ZohoWriter.documentEditor.ALL
        - ZohoPC.files.ALL
        - WorkDrive.files.ALL
      parameters:
      - name: document_id
        in: path
        required: true
        schema:
          type: string
        description: Unique identifier for the document to download
      - name: format
        in: query
        required: false
        schema:
          type: string
          enum:
          - zdoc
          - docx
          - odt
          - rtf
          - txt
          - html
          - pdf
          - zip
          - epub
          - pdfform
          default: docx
        description: Output file format
      - name: options
        in: query
        required: false
        schema:
          type: object
          properties:
            include_changes:
              type: string
              enum:
              - as_markups
              - all
              - none
              default: none
            include_comments:
              type: string
              enum:
              - all
              - none
              default: none
              description: docx/pdf only
            include_styles:
              type: string
              enum:
              - as_inline
              - none
              default: as_inline
              description: html/zip only
      - name: sign_service_name
        in: query
        required: false
        schema:
          type: string
          enum:
          - zohosign
          - adobesign
          - docusign
        description: Third-party signing service (pdf only)
      - name: password
        in: query
        required: false
        schema:
          type: string
        description: Password protection for docx/pdf output
      responses:
        '200':
          description: Document file content
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '404':
          description: Document not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      externalDocs:
        description: Download Document
        url: https://www.zoho.com/writer/help/api/v1/download-document.html
components:
  schemas:
    Error:
      type: object
      properties:
        error_code:
          type: string
        message:
          type: string
    Permissions:
      type: object
      properties:
        can_edit:
          type: boolean
        can_share:
          type: boolean
        can_delete:
          type: boolean
    ParentInfo:
      type: object
      properties:
        folder_id:
          type: string
        folder_name:
          type: string
    UserInfo:
      type: object
      properties:
        email_id:
          type: string
          format: email
        user_id:
          type: string
        display_name:
          type: string
        profile_photo:
          type: string
          format: uri
    DocumentMetrics:
      type: object
      properties:
        comments_metrics:
          type: object
          properties:
            total_count:
              type: integer
            unresolved_count:
              type: integer
            resolved_count:
              type: integer
        content_metrics:
          type: object
          properties:
            sentences:
              type: integer
            characters:
              type: integer
            words:
              type: integer
            characters_without_whitespaces:
              type: integer
        tracked_changes_metrics:
          type: object
          properties:
            all_changes:
              type: integer
            insertions:
              type: integer
            deletions:
              type: integer
            replacements:
              type: integer
            fields_updated:
              type: integer
    DocumentSummary:
      type: object
      properties:
        document_id:
          type: string
          description: Unique identifier for the document
        document_name:
          type: string
          description: Name of the document
        document_type:
          type: string
          description: Type of document
        created_time:
          type: string
          description: ISO 8601 creation timestamp
        modified_time:
          type: string
          description: ISO 8601 last-modified timestamp
        creator_id:
          type: string
          description: ID of the document creator
        created_by:
          type: string
          description: Display name of the creator
        lastmodified_by:
          type: array
          items:
            $ref: '#/components/schemas/UserInfo'
        preview_url:
          type: string
          format: uri
        open_url:
          type: string
          format: uri
        download_url:
          type: string
          format: uri
        published_url:
          type: string
          format: uri
    DocumentDetails:
      allOf:
      - $ref: '#/components/schemas/DocumentSummary'
      - type: object
        properties:
          type:
            type: string
          role:
            type: string
          owner_id:
            type: string
          is_published:
            type: boolean
          is_shared:
            type: boolean
          is_favourite:
            type: boolean
          is_orgpublished:
            type: boolean
          created_time_in_millisecond:
            type: integer
          modified_time_in_millisecond:
            type: integer
          last_opened_time:
            type: string
          thumbnail_url:
            type: string
            format: uri
          permalink:
            type: string
            format: uri
          permissions:
            $ref: '#/components/schemas/Permissions'
          parent_info:
            $ref: '#/components/schemas/ParentInfo'
          library_id:
            type: string
          collaboration_id:
            type: string
          version:
            type: string
          status:
            type: string
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 authentication. Refer to https://www.zoho.com/writer/help/api/v1/oauth-2.html for setup.
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
          tokenUrl: https://accounts.zoho.com/oauth/v2/token
          scopes:
            ZohoWriter.documentEditor.ALL: Full access to document editor operations
            ZohoWriter.merge.ALL: Full access to merge operations
            ZohoPC.files.ALL: Access to Zoho personal cloud files
            WorkDrive.files.ALL: Access to WorkDrive files
            WorkDrive.organization.ALL: Organization-level WorkDrive access
            WorkDrive.workspace.ALL: Workspace-level WorkDrive access
externalDocs:
  description: Zoho Writer API Documentation
  url: https://www.zoho.com/writer/help/api/v1/