Docupilot API

REST API for generating PDF, Word, PowerPoint, and Excel documents from templates with dynamic data merge. Supports authenticated requests for workspace management and unauthenticated endpoints for template-based document creation via unique template URLs.

OpenAPI Specification

openapi-accounts.yaml Raw ↑
openapi: 3.0.3
info:
  title: Docupilot accounts APIs
  version: '1.0'
  description: Docupilot accounts APIs
  termsOfService: https://docupilot.app/terms-and-conditions/
  contact:
    name: Team Docupilot
    email: [email protected]
paths:
  /accounts/application/:
    get:
      operationId: list_all_applications
      summary: List all applications
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - application
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Application'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/demographic/:
    post:
      operationId: create_demographic
      summary: Create Demographic
      tags:
      - demographic
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DemoGraphic'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DemoGraphic'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DemoGraphic'
      security:
      - SessionAuthentication: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/demographic/show_prompt/:
    get:
      operationId: show_demographic_prompt_for_organization_users
      summary: Show demographic prompt for organization users
      tags:
      - demographic
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShowDemographicPrompt'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/demographic/validate_domain/:
    post:
      operationId: validate_domain
      summary: Verify domain
      tags:
      - demographic
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyDomain'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/VerifyDomain'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/VerifyDomain'
        required: true
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyDomain'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/domain/:
    get:
      operationId: list_domains
      summary: List domains
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - domain
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Domain'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
    post:
      operationId: create_domain
      summary: Create domain
      tags:
      - domain
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Domain'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Domain'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Domain'
        required: true
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/domain/{id}/:
    delete:
      operationId: destroy_domain
      summary: Destroy domain
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this domain.
        required: true
      tags:
      - domain
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
  /accounts/domain/{id}/toggle_lock/:
    patch:
      operationId: toggle_domain_lock
      summary: Toggle domain lock
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this domain.
        required: true
      tags:
      - domain
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
  /accounts/domain/{id}/verify/:
    patch:
      operationId: verify_domain
      summary: verify domain
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this domain.
        required: true
      tags:
      - domain
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
  /accounts/invitation/:
    get:
      operationId: list_invitation
      summary: Get list of Invitation
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - invitation
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Invitation'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
    post:
      operationId: create_invitation
      summary: Create Invitation
      tags:
      - invitation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInvitation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateInvitation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateInvitation'
        required: true
      security:
      - SessionAuthentication: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invitation'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/invitation/{id}/:
    delete:
      operationId: delete_invitation
      summary: Delete Invitation
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this invitation.
        required: true
      tags:
      - invitation
      security:
      - SessionAuthentication: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
  /accounts/invitation/{id}/accept_workspace_invitation/:
    post:
      operationId: accept_invitation
      summary: Accept workspace invitation
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this invitation.
        required: true
      tags:
      - invitation
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptInvite'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
  /accounts/invitation/{id}/decline_workspace_invitation/:
    delete:
      operationId: decline_workspace_invitation
      summary: Decline workspace invitation
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this invitation.
        required: true
      tags:
      - invitation
      security:
      - SessionAuthentication: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
  /accounts/invitation/{id}/resend_invitation/:
    post:
      operationId: resend_invitation
      summary: Resend invitation
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this invitation.
        required: true
      tags:
      - invitation
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invitation'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: ''
  /accounts/invitation/list_workspace_invitations/:
    get:
      operationId: list_workspace_invitations
      summary: List pending workspace invitations for the current user
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - invitation
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Invitation'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/mfa/:
    get:
      operationId: mfa_list
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - mfa
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          description: No response body
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/mfa/delete-totp-device/:
    delete:
      operationId: mfa_delete_totp_device_destroy
      tags:
      - mfa
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/mfa/disable-mfa/:
    post:
      operationId: mfa_disable
      tags:
      - mfa
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MFADisable'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MFADisable'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MFADisable'
        required: true
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MFADisable'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/mfa/enable-mfa/:
    post:
      operationId: mfa_enable
      tags:
      - mfa
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/mfa/generate-backup-tokens/:
    post:
      operationId: mfa_generate_backup_tokens_create
      tags:
      - mfa
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/mfa/mark-device-primary/:
    put:
      operationId: mfa_mark_device_primary_update
      tags:
      - mfa
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarkDevicePrimary'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MarkDevicePrimary'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MarkDevicePrimary'
        required: true
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarkDevicePrimary'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/mfa/setup-totp-device/:
    get:
      operationId: mfa_setup_totp_device_retrieve
      tags:
      - mfa
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '200':
          description: No response body
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/mfa/verify-totp-device/:
    post:
      operationId: mfa_verify_totp_device_create
      summary: Verify Totp device
      tags:
      - mfa
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TotpDeviceVerify'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TotpDeviceVerify'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TotpDeviceVerify'
        required: true
      security:
      - OAuthAuthentication: []
      - SessionAuthentication: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TOTPDevice'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/organization/csm_details/:
    get:
      operationId: get_csm_details
      description: Returns csm details for Organization if available
      tags:
      - organization
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CSMDetails'
              examples:
                ResponseExample:
                  value:
                    name: test1
                    phone_number: '12345678'
                  summary: Response Example
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/organization/delete_organization/:
    post:
      operationId: delete_organization
      summary: 'Delete a Organization and other related data permanently '
      tags:
      - organization
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationDelete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganizationDelete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganizationDelete'
        required: true
      security:
      - SessionAuthentication: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/organization/details/:
    get:
      operationId: get_organization
      tags:
      - organization
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/organization/meta/:
    get:
      operationId: get_organization_meta
      summary: Get organization meta information
      tags:
      - organization
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationMetaResponse'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/organization/toggle_mfa_status/:
    patch:
      operationId: toggle_organization_mfa_status
      summary: Activate or Deactivate Organization MFA
      tags:
      - organization
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/organization/toggle_password_based_login/:
    patch:
      operationId: toggle_password_based_login
      description: Flips the organization setting. Disabling is only allowed if at
        least one active SAML provider is configured.
      summary: Toggle password-based login
      tags:
      - organization
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: ''
  /accounts/organization/update_org/:
    patch:
      operationId: update_organization
      tags:
      - organization
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedOrganization'
      security:
      - SessionAuthentication: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          descrip

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/docupilot/refs/heads/main/openapi/openapi-accounts.yaml