> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Execute Document Command

> Execute a custom command on a particular document, optionally a particular version



## OpenAPI

````yaml /openapi/rest/openapi-v3-Document.json post /api/v1/Document/{documentId}/Command/{command}
openapi: 3.0.0
info:
  version: v1-REST
  title: SuperOffice REST API v1
  description: SuperOffice REST API - Document
  contact:
    name: SuperOffice DevNet
    url: https://docs.superoffice.com/en/api/index.html
    email: sdk@superoffice.com
servers:
  - url: http://localhost:56350
  - url: https://localhost:56350
security: []
tags: []
externalDocs:
  description: >-
    The SuperOffice DevNet Community has more documentation, examples, and
    discussion forums.
  url: https://community.superoffice.com/en/developer/
paths:
  /api/v1/Document/{documentId}/Command/{command}:
    post:
      tags:
        - Document
      summary: Execute Document Command
      description: >-
        Execute a custom command on a particular document, optionally a
        particular version
      operationId: v1DocumentEntity_ExecuteDocumentCommand
      parameters:
        - name: documentId
          in: path
          description: SuperOffice document ID
          required: true
          schema:
            format: int32
            type: integer
        - name: command
          in: path
          description: >-
            Command name, generally matching one of those returned from the
            GetDocumentCommands service. However, it is legal for document
            plugins to support commands that are not declared through
            GetDocumentCommands, for instance if a custom GUI needs to access
            plugin functionality.
          required: true
          schema:
            type: string
        - name: versionId
          in: query
          description: >-
            Version ID if applicable/desired; a blank value implies "latest"
            version and is always acceptable.
          required: false
          schema:
            type: string
        - name: allowedReturnTypes
          in: query
          description: >-
            List of return types that the client is prepared to handle, in case
            the document plugin needs to request additional
            processing.<br/>Standard allowed return types include 'None',
            'Message', 'SoProtocol', 'CustomGui', 'Other'.<br/>An empty array
            implies that the client places no restriction on possible return
            action requests.
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: additionalData
          in: query
          description: >-
            Any additional data that the document command needs. This parameter
            can be used as a tunnel between a custom-programmed GUI and its
            plugin.<br/>It is suggested that the format is name=value, with one
            such pair per array item.
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: Accept-Language
          in: header
          description: >-
            Convert string references and multi-language values into a specified
            language (iso2) code.
          required: false
          schema:
            type: string
        - name: SO-Language
          in: header
          description: >-
            Convert string references and multi-language values into a specified
            language (iso2) code. Overrides Accept-Language value.
          required: false
          schema:
            type: string
        - name: SO-Culture
          in: header
          description: >-
            Number, date formatting in a specified culture (iso2 language) code.
            Partially overrides SO-Language/Accept-Language value. Ignored if no
            Language set.
          required: false
          schema:
            type: string
        - name: SO-TimeZone
          in: header
          description: >-
            Specify the timezone code that you would like date/time responses
            converted to.
          required: false
          schema:
            type: string
        - name: SO-AppToken
          in: header
          description: >-
            The application token that identifies the partner app. Used when
            calling Online WebAPI from a server.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.ReturnInfo'
            text/json:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.ReturnInfo'
            application/xml:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.ReturnInfo'
            text/xml:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.ReturnInfo'
            application/json-patch+json:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.ReturnInfo'
            application/merge-patch+json:
              schema:
                $ref: '#/components/schemas/SuperOffice.CRM.ReturnInfo'
      security:
        - SuperOffice_Password: []
          SuperId_Authentication: []
components:
  schemas:
    SuperOffice.CRM.ReturnInfo:
      type: object
      properties:
        ExternalReference:
          type: string
        VersionId:
          type: string
        Success:
          type: boolean
        Type:
          enum:
            - None
            - Message
            - SoProtocol
            - CustomGui
            - Other
            - URL
          type: string
        Value:
          type: string
        AdditionalInfo:
          type: string

````

## Related topics

- [Execute Document Command](/en/api/reference/restful/agent/document_agent/execute-document-command.md)
- [SuperOffice.WebApi.Data.Document ExecuteDocumentCommandRequest](/en/api/reference/webapi/SuperOffice.WebApi.Data.Document_ExecuteDocumentCommandRequest.md)
- [NSDocumentAgent](/en/automation/crmscript/reference/CRMScript.NetServer.NSDocumentAgent.md)
- [SuperOffice.WebApi.Agents.DocumentAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.DocumentAgent.md)
- [SuperOffice.WebApi.Agents.IDocumentAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.IDocumentAgent.md)
- [Execute User Command](/en/api/reference/restful/agent/user_agent/execute-user-command.md)
