Google · Capability

Google Docs API — Documents

Google Docs API — Documents. 3 operations. Lead operation: Google Post Documents. Self-contained Naftiko capability covering one Google business surface.

Run with Naftiko GoogleDocuments

What You Can Do

POST
Docsdocumentscreate — Google Post Documents
/v1/v1/documents
GET
Docsdocumentsget — Google Get Documents
/v1/v1/documents/{documentid}
POST
Docsdocumentsbatchupdate — Google Post Documents Batch Update
/v1/v1/documents/documentid-batchupdate

MCP Tools

google-post-documents

Google Post Documents

google-get-documents

Google Get Documents

read-only idempotent
google-post-documents-batch-update

Google Post Documents Batch Update

Capability Spec

docs-documents.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Docs API — Documents
  description: 'Google Docs API — Documents. 3 operations. Lead operation: Google Post Documents. Self-contained Naftiko capability
    covering one Google business surface.'
  tags:
  - Google
  - Documents
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOOGLE_API_KEY: GOOGLE_API_KEY
capability:
  consumes:
  - type: http
    namespace: docs-documents
    baseUri: https://docs.googleapis.com
    description: Google Docs API — Documents business capability. Self-contained, no shared references.
    resources:
    - name: v1-documents
      path: /v1/documents
      operations:
      - name: docsdocumentscreate
        method: POST
        description: Google Post Documents
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: $.xgafv
          in: query
          type: string
          description: V1 error format.
        - name: access_token
          in: query
          type: string
          description: OAuth access token.
        - name: alt
          in: query
          type: string
          description: Data format for response.
        - name: callback
          in: query
          type: string
          description: JSONP
        - name: fields
          in: query
          type: string
          description: Selector specifying which fields to include in a partial response.
        - name: key
          in: query
          type: string
          description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
            Required unless you provide an OAuth 2.0 token.
        - name: oauth_token
          in: query
          type: string
          description: OAuth 2.0 token for the current user.
        - name: prettyPrint
          in: query
          type: boolean
          description: Returns response with indentations and line breaks.
        - name: quotaUser
          in: query
          type: string
          description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
            to a user, but should not exceed 40 characters.
        - name: upload_protocol
          in: query
          type: string
          description: Upload protocol for media (e.g. "raw", "multipart").
        - name: uploadType
          in: query
          type: string
          description: Legacy upload protocol for media (e.g. "media", "multipart").
        - name: Authorization
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-documents-documentId
      path: /v1/documents/{documentId}
      operations:
      - name: docsdocumentsget
        method: GET
        description: Google Get Documents
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: documentId
          in: path
          type: string
          description: The ID of the document to retrieve.
          required: true
        - name: suggestionsViewMode
          in: query
          type: string
          description: The suggestions view mode to apply to the document. This allows viewing the document with all suggestions
            inline, accepted or rejected. If one is not specified,
        - name: $.xgafv
          in: query
          type: string
          description: V1 error format.
        - name: access_token
          in: query
          type: string
          description: OAuth access token.
        - name: alt
          in: query
          type: string
          description: Data format for response.
        - name: callback
          in: query
          type: string
          description: JSONP
        - name: fields
          in: query
          type: string
          description: Selector specifying which fields to include in a partial response.
        - name: key
          in: query
          type: string
          description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
            Required unless you provide an OAuth 2.0 token.
        - name: oauth_token
          in: query
          type: string
          description: OAuth 2.0 token for the current user.
        - name: prettyPrint
          in: query
          type: boolean
          description: Returns response with indentations and line breaks.
        - name: quotaUser
          in: query
          type: string
          description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
            to a user, but should not exceed 40 characters.
        - name: upload_protocol
          in: query
          type: string
          description: Upload protocol for media (e.g. "raw", "multipart").
        - name: uploadType
          in: query
          type: string
          description: Legacy upload protocol for media (e.g. "media", "multipart").
        - name: Authorization
          in: header
          type: string
    - name: v1-documents-documentId}:batchUpdate
      path: /v1/documents/{documentId}:batchUpdate
      operations:
      - name: docsdocumentsbatchupdate
        method: POST
        description: Google Post Documents Batch Update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: documentId
          in: path
          type: string
          description: The ID of the document to update.
          required: true
        - name: $.xgafv
          in: query
          type: string
          description: V1 error format.
        - name: access_token
          in: query
          type: string
          description: OAuth access token.
        - name: alt
          in: query
          type: string
          description: Data format for response.
        - name: callback
          in: query
          type: string
          description: JSONP
        - name: fields
          in: query
          type: string
          description: Selector specifying which fields to include in a partial response.
        - name: key
          in: query
          type: string
          description: API key. Your API key identifies your project and provides you with API access, quota, and reports.
            Required unless you provide an OAuth 2.0 token.
        - name: oauth_token
          in: query
          type: string
          description: OAuth 2.0 token for the current user.
        - name: prettyPrint
          in: query
          type: boolean
          description: Returns response with indentations and line breaks.
        - name: quotaUser
          in: query
          type: string
          description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
            to a user, but should not exceed 40 characters.
        - name: upload_protocol
          in: query
          type: string
          description: Upload protocol for media (e.g. "raw", "multipart").
        - name: uploadType
          in: query
          type: string
          description: Legacy upload protocol for media (e.g. "media", "multipart").
        - name: Authorization
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.GOOGLE_API_KEY}}'
  exposes:
  - type: rest
    namespace: docs-documents-rest
    port: 8080
    description: REST adapter for Google Docs API — Documents. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/documents
      name: v1-documents
      description: REST surface for v1-documents.
      operations:
      - method: POST
        name: docsdocumentscreate
        description: Google Post Documents
        call: docs-documents.docsdocumentscreate
        with:
          $.xgafv: rest.$.xgafv
          access_token: rest.access_token
          alt: rest.alt
          callback: rest.callback
          fields: rest.fields
          key: rest.key
          oauth_token: rest.oauth_token
          prettyPrint: rest.prettyPrint
          quotaUser: rest.quotaUser
          upload_protocol: rest.upload_protocol
          uploadType: rest.uploadType
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/documents/{documentid}
      name: v1-documents-documentid
      description: REST surface for v1-documents-documentId.
      operations:
      - method: GET
        name: docsdocumentsget
        description: Google Get Documents
        call: docs-documents.docsdocumentsget
        with:
          documentId: rest.documentId
          suggestionsViewMode: rest.suggestionsViewMode
          $.xgafv: rest.$.xgafv
          access_token: rest.access_token
          alt: rest.alt
          callback: rest.callback
          fields: rest.fields
          key: rest.key
          oauth_token: rest.oauth_token
          prettyPrint: rest.prettyPrint
          quotaUser: rest.quotaUser
          upload_protocol: rest.upload_protocol
          uploadType: rest.uploadType
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/documents/documentid-batchupdate
      name: v1-documents-documentid-batchupdate
      description: REST surface for v1-documents-documentId}:batchUpdate.
      operations:
      - method: POST
        name: docsdocumentsbatchupdate
        description: Google Post Documents Batch Update
        call: docs-documents.docsdocumentsbatchupdate
        with:
          documentId: rest.documentId
          $.xgafv: rest.$.xgafv
          access_token: rest.access_token
          alt: rest.alt
          callback: rest.callback
          fields: rest.fields
          key: rest.key
          oauth_token: rest.oauth_token
          prettyPrint: rest.prettyPrint
          quotaUser: rest.quotaUser
          upload_protocol: rest.upload_protocol
          uploadType: rest.uploadType
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: docs-documents-mcp
    port: 9090
    transport: http
    description: MCP adapter for Google Docs API — Documents. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: google-post-documents
      description: Google Post Documents
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: docs-documents.docsdocumentscreate
      with:
        $.xgafv: tools.$.xgafv
        access_token: tools.access_token
        alt: tools.alt
        callback: tools.callback
        fields: tools.fields
        key: tools.key
        oauth_token: tools.oauth_token
        prettyPrint: tools.prettyPrint
        quotaUser: tools.quotaUser
        upload_protocol: tools.upload_protocol
        uploadType: tools.uploadType
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: google-get-documents
      description: Google Get Documents
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: docs-documents.docsdocumentsget
      with:
        documentId: tools.documentId
        suggestionsViewMode: tools.suggestionsViewMode
        $.xgafv: tools.$.xgafv
        access_token: tools.access_token
        alt: tools.alt
        callback: tools.callback
        fields: tools.fields
        key: tools.key
        oauth_token: tools.oauth_token
        prettyPrint: tools.prettyPrint
        quotaUser: tools.quotaUser
        upload_protocol: tools.upload_protocol
        uploadType: tools.uploadType
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: google-post-documents-batch-update
      description: Google Post Documents Batch Update
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: docs-documents.docsdocumentsbatchupdate
      with:
        documentId: tools.documentId
        $.xgafv: tools.$.xgafv
        access_token: tools.access_token
        alt: tools.alt
        callback: tools.callback
        fields: tools.fields
        key: tools.key
        oauth_token: tools.oauth_token
        prettyPrint: tools.prettyPrint
        quotaUser: tools.quotaUser
        upload_protocol: tools.upload_protocol
        uploadType: tools.uploadType
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.