Openwork Capability Sources API

The Capability Sources API from Openwork — 25 operation(s) for capability sources.

OpenAPI Specification

openwork-capability-sources-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Den Admin Capability Sources API
  description: 'OpenAPI spec for the Den control plane API.


    Authentication:

    - Use `Authorization: Bearer <session-token>` for user-authenticated routes that require a Den session.

    - Use `x-api-key: <den-api-key>` for API-key-authenticated routes that accept organization API keys.

    - Public routes like health and documentation do not require authentication.


    Swagger tip: use the security schemes in the Authorize dialog to set either `bearerAuth` or `denApiKey` before trying protected endpoints.'
  version: dev
servers:
- url: https://api.openworklabs.com
tags:
- name: Capability Sources
paths:
  /v1/oauth-providers/{providerId}/status:
    get:
      operationId: getV1OauthProvidersByProviderIdStatus
      tags:
      - Capability Sources
      summary: Check whether the calling member has connected a provider
      description: Read-only. Never returns a token — only whether a connection exists and which scopes/account it covers. Safe to expose to a harness so it can detect "not connected" and tell the human what to do.
      responses:
        '200':
          description: Connection status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthProviderStatusResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '404':
          description: Unknown providerId.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnknownOAuthProviderError'
      parameters:
      - in: path
        name: providerId
        schema:
          type: string
          minLength: 1
          maxLength: 255
        required: true
  /v1/oauth-providers/{providerId}/disconnect:
    post:
      operationId: postV1OauthProvidersByProviderIdDisconnect
      tags:
      - Capability Sources
      summary: Disconnect the calling member's account for a provider
      description: Removes the stored credential. Mutation — intentionally kept out of the agent-callable MCP surface (see policy.ts BLOCKED_OPERATION_IDS).
      responses:
        '200':
          description: Disconnected.
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '404':
          description: Nothing was connected.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
      parameters:
      - in: path
        name: providerId
        schema:
          type: string
          minLength: 1
          maxLength: 255
        required: true
  /v1/capabilities/google-workspace/gmail-messages:
    get:
      operationId: getV1CapabilitiesGoogleWorkspaceGmailMessages
      tags:
      - Capability Sources
      summary: List or search Gmail messages as the calling member
      description: Reads and searches inbox mail in the calling member's Gmail mailbox, using the Google account they connected through the org Google Workspace connection. Returns needs_connection when the member has not connected their Google account yet or the connection lacks Gmail read permission.
      responses:
        '200':
          description: Gmail messages returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceGmailMessagesResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      parameters:
      - $ref: '#/components/parameters/GoogleWorkspaceGmailMessagesQuery'
  /v1/capabilities/google-workspace/gmail-message/{messageId}:
    get:
      operationId: getV1CapabilitiesGoogleWorkspaceGmailMessageByMessageId
      tags:
      - Capability Sources
      summary: Read a Gmail message with its plain-text body as the calling member
      description: Reads one Gmail message, including decoded plain-text body content and attachment metadata, using the calling member's connected Google Workspace account. To download an attachment's bytes, pass its attachmentId to the gmail-attachment capability.
      responses:
        '200':
          description: Gmail message returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceGmailMessageResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      parameters:
      - $ref: '#/components/parameters/GoogleWorkspaceGmailMessageParams'
  /v1/capabilities/google-workspace/gmail-attachment/{messageId}/{attachmentId}:
    get:
      operationId: getV1CapabilitiesGoogleWorkspaceGmailAttachmentByMessageIdByAttachmentId
      tags:
      - Capability Sources
      summary: Download a Gmail attachment's bytes as the calling member
      description: Downloads one Gmail attachment (file) as base64-encoded bytes, using the messageId and the attachmentId from the gmail-message capability's attachments metadata. Decode dataBase64 locally to reconstruct the file, e.g. a PDF or spreadsheet, then extract its contents.
      responses:
        '200':
          description: Gmail attachment returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceGmailAttachmentResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      parameters:
      - $ref: '#/components/parameters/GoogleWorkspaceGmailAttachmentParams'
      - schema:
          type: string
        in: path
        name: attachmentId
        required: true
  /v1/capabilities/google-workspace/calendar-events:
    get:
      operationId: getV1CapabilitiesGoogleWorkspaceCalendarEvents
      tags:
      - Capability Sources
      summary: List Google Calendar events in a time range as the calling member
      description: Lists primary-calendar events for the calling member in a requested ISO time range, using their connected Google Workspace account.
      responses:
        '200':
          description: Google Calendar events returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceCalendarEventsResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      parameters:
      - $ref: '#/components/parameters/GoogleWorkspaceCalendarEventsQuery'
    post:
      operationId: postV1CapabilitiesGoogleWorkspaceCalendarEvents
      tags:
      - Capability Sources
      summary: Create a Google Calendar event as the calling member
      description: Creates an event on the calling member's primary Google Calendar, using their connected Google Workspace account. Set createMeetLink to true to request a Google Meet conferencing link and return meetLink.
      responses:
        '200':
          description: Google Calendar event created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceCreateCalendarEventResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleWorkspaceCreateCalendarEventBody'
  /v1/capabilities/google-workspace/calendar-event/{eventId}:
    patch:
      operationId: patchV1CapabilitiesGoogleWorkspaceCalendarEventByEventId
      tags:
      - Capability Sources
      summary: Add a Google Meet link to a Calendar event
      description: Updates one primary-calendar event by id to request Google Meet conferencing, using the calling member's connected Google Workspace account. Use this for an existing event that needs a Meet link without creating a duplicate.
      responses:
        '200':
          description: Google Calendar event updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpdateCalendarEventResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      parameters:
      - $ref: '#/components/parameters/GoogleWorkspaceCalendarEventParams'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleWorkspaceUpdateCalendarEventBody'
  /v1/capabilities/google-workspace/drive-files:
    get:
      operationId: getV1CapabilitiesGoogleWorkspaceDriveFiles
      tags:
      - Capability Sources
      summary: Search Google Drive files as the calling member
      description: Searches the calling member's Google Drive files by name and full text, using their connected Google Workspace account.
      responses:
        '200':
          description: Google Drive files returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceDriveFilesResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      parameters:
      - $ref: '#/components/parameters/GoogleWorkspaceDriveFilesQuery'
    post:
      operationId: postV1CapabilitiesGoogleWorkspaceDriveFiles
      tags:
      - Capability Sources
      summary: Upload file bytes to Google Drive as the calling member
      description: Creates a file in the calling member's Google Drive using standard base64 bytes. The gmail-attachment capability returns dataBase64 in this exact encoding — pass it through directly to save an email attachment to Drive. The response file.webViewLink is the user-facing link — share it with the user.
      responses:
        '200':
          description: Google Drive file uploaded. The file.webViewLink is the user-facing link — share it with the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUploadDriveFileResponse'
        '400':
          description: The upload request was invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleWorkspaceUploadDriveFileBody'
  /v1/capabilities/google-workspace/drive-file/{fileId}:
    get:
      operationId: getV1CapabilitiesGoogleWorkspaceDriveFileByFileId
      tags:
      - Capability Sources
      summary: Read a Google Drive file's text content as the calling member
      description: Reads text from one Google Drive file, exporting Google Docs editors files as plain text and downloading other files as UTF-8 text with truncation.
      responses:
        '200':
          description: Google Drive file returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceDriveFileResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      parameters:
      - $ref: '#/components/parameters/GoogleWorkspaceDriveFileParams'
  /v1/capabilities/google-workspace/drive-file-share/{fileId}:
    post:
      operationId: postV1CapabilitiesGoogleWorkspaceDriveFileShareByFileId
      tags:
      - Capability Sources
      summary: Share a Google Drive file with a person or the organization
      description: Creates a Drive permission for one file using the calling member's Google Workspace account. To share with one person pass type=user plus emailAddress; to share with the entire organization pass type=domain plus the org's Google Workspace domain (e.g. openworklabs.com). Sharing files not created through OpenWork needs the Full Drive access feature enabled by an admin.
      responses:
        '200':
          description: Google Drive file shared.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceShareDriveFileResponse'
        '400':
          description: The share request was invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      parameters:
      - $ref: '#/components/parameters/GoogleWorkspaceDriveFileParams'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleWorkspaceShareDriveFileBody'
  /v1/capabilities/google-workspace/gmail-drafts:
    post:
      operationId: postV1CapabilitiesGoogleWorkspaceGmailDrafts
      tags:
      - Capability Sources
      summary: 'Create a Gmail draft or threaded reply draft; attach workspace files with body.attachments: [{ filename, mimeType, dataBase64 }], where dataBase64 is each attachment''s file bytes encoded as standard base64'
      description: Creates a plain-text Gmail draft in the calling member own mailbox, with optional Cc/Bcc recipients and files read from the active workspace. Set threadId to attach the draft to an existing Gmail thread as a reply using the thread's matching subject; threadId is required for replies and forwards. For threaded drafts, OpenWork appends the quoted conversation automatically. Always share the returned draftUrl with the user because it opens the ready-to-send draft in Gmail for review and send. Returns needs_connection when the member has not connected their Google account yet or when a threaded reply needs Gmail read permission.
      responses:
        '200':
          description: Draft created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceDraftResponse'
        '400':
          description: The draft request was invalid.
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/InvalidRequestError'
                - $ref: '#/components/schemas/GoogleWorkspaceMissingThreadIdError'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Google account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceNeedsConnectionError'
        '502':
          description: Google rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleWorkspaceUpstreamError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                to:
                  type: string
                  minLength: 3
                  maxLength: 320
                  description: Recipient email address.
                cc:
                  description: Optional comma-separated Cc email addresses.
                  type: string
                  minLength: 3
                  maxLength: 1000
                bcc:
                  description: Optional comma-separated Bcc email addresses.
                  type: string
                  minLength: 3
                  maxLength: 1000
                subject:
                  type: string
                  minLength: 1
                  maxLength: 500
                  description: 'Draft subject line. For replies or forwards, include threadId; subjects starting with Re: or Fwd: are rejected without threadId so the draft stays on the existing conversation.'
                body:
                  type: string
                  minLength: 1
                  maxLength: 50000
                  description: Plain-text draft body. Write plain prose with no markdown syntax, separate paragraphs with blank lines, and do not hard-wrap prose. For threaded drafts, the server appends the quoted conversation automatically; do not include quoted history.
                threadId:
                  description: 'Gmail thread id to reply on. Required for replies and forwards; get it from the gmail-messages capability. When set, the draft is attached to that thread as a reply — keep the thread''s subject (e.g. ''Re: …'').'
                  type: string
                  minLength: 1
                  maxLength: 512
                attachments:
                  description: Optional files from the active workspace to attach to this draft.
                  minItems: 1
                  maxItems: 10
                  type: array
                  items:
                    type: object
                    properties:
                      filename:
                        type: string
                        minLength: 1
                        maxLength: 255
                        description: Filename to show in Gmail.
                      mimeType:
                        type: string
                        pattern: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$
                        description: Attachment MIME type.
                      dataBase64:
                        type: string
                        minLength: 1
                        maxLength: 13981016
                        pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
                        description: 'File bytes encoded as standard base64. Read the file from the active workspace and base64-encode it. Maximum decoded size: 10 MiB per file and 20 MiB total.'
                    required:
                    - filename
                    - mimeType
                    - dataBase64
                    additionalProperties: false
              required:
              - to
              - subject
              - body
              additionalProperties: false
  /v1/capabilities/microsoft-365/mail-messages:
    get:
      operationId: getV1CapabilitiesMicrosoft365MailMessages
      tags:
      - Capability Sources
      summary: List or search Outlook mail as the calling member
      description: Reads recent Outlook messages from the calling member's connected Microsoft 365 account. This capability is delegated and read-only.
      responses:
        '200':
          description: Outlook messages returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365MailMessagesResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Microsoft account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365NeedsConnectionError'
        '502':
          description: Microsoft Graph rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365GraphError'
      parameters:
      - $ref: '#/components/parameters/Microsoft365MailMessagesQuery'
  /v1/capabilities/microsoft-365/mail-message/{messageId}:
    get:
      operationId: getV1CapabilitiesMicrosoft365MailMessageByMessageId
      tags:
      - Capability Sources
      summary: Read an Outlook message as the calling member
      description: Reads one Outlook message and requests its body as plain text, using the calling member's delegated Microsoft 365 connection.
      responses:
        '200':
          description: Outlook message returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365MailMessageResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Microsoft account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365NeedsConnectionError'
        '502':
          description: Microsoft Graph rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365GraphError'
      parameters:
      - $ref: '#/components/parameters/Microsoft365MailMessageParams'
  /v1/capabilities/microsoft-365/calendar-events:
    get:
      operationId: getV1CapabilitiesMicrosoft365CalendarEvents
      tags:
      - Capability Sources
      summary: List Microsoft 365 calendar events as the calling member
      description: Lists the calling member's Outlook calendar events in a requested time range. This capability is delegated and read-only.
      responses:
        '200':
          description: Outlook calendar events returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365CalendarEventsResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Microsoft account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365NeedsConnectionError'
        '502':
          description: Microsoft Graph rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365GraphError'
      parameters:
      - $ref: '#/components/parameters/Microsoft365CalendarEventsQuery'
    post:
      operationId: postV1CapabilitiesMicrosoft365CalendarEvents
      tags:
      - Capability Sources
      summary: Create an Outlook calendar event as the calling member
      description: Creates an event in the calling member's default calendar. Adding attendees can send Microsoft calendar invitations.
      responses:
        '200':
          description: Outlook calendar event created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365CalendarEventResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Microsoft account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365NeedsConnectionError'
        '502':
          description: Microsoft Graph rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365GraphError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Microsoft365CalendarEventBody'
  /v1/capabilities/microsoft-365/drive-files:
    get:
      operationId: getV1CapabilitiesMicrosoft365DriveFiles
      tags:
      - Capability Sources
      summary: Search OneDrive files as the calling member
      description: Searches the calling member's OneDrive by name and content, returning source links. This capability is delegated and read-only.
      responses:
        '200':
          description: OneDrive files returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365DriveFilesResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Microsoft account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365NeedsConnectionError'
        '502':
          description: Microsoft Graph rejected the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365GraphError'
      parameters:
      - $ref: '#/components/parameters/Microsoft365DriveFilesQuery'
    put:
      operationId: putV1CapabilitiesMicrosoft365DriveFiles
      tags:
      - Capability Sources
      summary: Create or replace a OneDrive text file as the calling member
      description: Creates or replaces a bounded UTF-8 text file at a path in the calling member's OneDrive.
      responses:
        '200':
          description: OneDrive file written.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365DriveFileWriteResponse'
        '401':
          description: The caller must be signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '409':
          description: The calling member has not connected their Microsoft account or is missing permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft365NeedsConnectionError'
        '502':
          description: Microsoft Graph rejected the request.
          content:
            application/

# --- truncated at 32 KB (101 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openwork/refs/heads/main/openapi/openwork-capability-sources-api-openapi.yml