YouSign Electronic Seal Document API

Document that is attached to the Electronic Seal.

OpenAPI Specification

yousign-electronic-seal-document-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    email: contact@yousign.com
    name: Support
    url: https://yousign.com/contact
  description: Build the best experience of digital signature through your own platform. Increase your conversion rates, leverage your data and reduce your costs with Yousign API.
  license:
    name: proprietary
    url: https://yousign.com/terms
  title: Public Api v3 Applicant Electronic Seal Document API
  version: '3.0'
servers:
- description: Sandbox URL
  url: https://api-sandbox.yousign.app/v3
- description: Production URL
  url: https://api.yousign.app/v3
security:
- bearerAuth: []
tags:
- description: Document that is attached to the Electronic Seal.
  name: Electronic Seal Document
paths:
  /electronic_seal_documents:
    post:
      description: 'Create an Electronic Seal Document.


        **ℹ️ This endpoint accepts two request body formats — pick the one that matches your use case:**

        - 📁 `multipart/form-data` — upload a binary file.

        - 📝 `application/json` — create from a JSON payload referencing a previously sealed source document.


        **🔓 Endpoint access**

        - Environments: `production`, `sandbox`

        - API key scopes: `organization`, `workspace`

        - Plans: `pro`, `scale`

        - Add-ons (for production access): `Electronic Seal` or `Advanced Electronic Seal` or `Qualified Electronic Seal`

        '
      operationId: upload-electronic_seal-document
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateElectronicSealDocument'
          application/json:
            schema:
              $ref: '#/components/schemas/CreateElectronicSealDocumentFromJson'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ElectronicSealDocument'
          description: Created
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad request
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Access unauthorized
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Access forbidden
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Resource not found
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotAllowed'
          description: This method is not allowed
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
            Retry-After:
              $ref: '#/components/headers/retry-after'
        '415':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnsupportedMediaTypeResponse'
          description: UnsupportedMediaType
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Too Many Requests, please try again later.
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
            Retry-After:
              $ref: '#/components/headers/retry-after'
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
      summary: Create an Electronic Seal Document
      tags:
      - Electronic Seal Document
  /electronic_seal_documents/{electronicSealDocumentId}:
    delete:
      description: 'Permanently deletes an Electronic Seal Document attached to an Electronic Seal. This action is only possible when the eSeal is in done or error status. Not applicable to documents sealed with a Qualified eSeal. Warning: this operation is irreversible: once deleted, the document cannot be retrieved. The customer assumes full responsibility for this action.

        '
      operationId: delete-electronic_seal_documents-id
      parameters:
      - description: Electronic Seal Document Id
        in: path
        name: electronicSealDocumentId
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      responses:
        '204':
          description: The resource was deleted successfully
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad request
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Access unauthorized
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Access forbidden
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Resource not found
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotAllowed'
          description: This method is not allowed
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
            Retry-After:
              $ref: '#/components/headers/retry-after'
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Too Many Requests, please try again later.
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
            Retry-After:
              $ref: '#/components/headers/retry-after'
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
      summary: Delete an Electronic Seal Document
      tags:
      - Electronic Seal Document
  /electronic_seal_documents/{electronicSealDocumentId}/download:
    get:
      description: Download a given Electronic Seal Document.
      operationId: download-electronic-seal-document
      parameters:
      - description: Electronic Seal Document Id
        in: path
        name: electronicSealDocumentId
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      responses:
        '200':
          content:
            application/pdf:
              schema:
                format: binary
                type: string
          description: OK
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Access unauthorized
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Access forbidden
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Resource not found
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotAllowed'
          description: This method is not allowed
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
            Retry-After:
              $ref: '#/components/headers/retry-after'
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Too Many Requests, please try again later.
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
            Retry-After:
              $ref: '#/components/headers/retry-after'
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/rateLimit-limit'
            X-RateLimit-Limit-Hour:
              $ref: '#/components/headers/rateLimit-limit-hour'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/rateLimit-limit-minute'
            RateLimit-Remaining:
              $ref: '#/components/headers/rateLimit-remaining'
            X-RateLimit-Remaining-Hour:
              $ref: '#/components/headers/rateLimit-remaining-hour'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/rateLimit-remaining-minute'
            RateLimit-Reset:
              $ref: '#/components/headers/rateLimit-reset'
      summary: Download an Electronic Seal Document
      tags:
      - Electronic Seal Document
components:
  headers:
    rateLimit-remaining:
      description: The number of requests remaining in the current rate limit window
      schema:
        type: integer
    rateLimit-reset:
      description: The remaining time until the rate limit resets in seconds
      schema:
        type: integer
    rateLimit-remaining-hour:
      description: The number of requests remaining in the current hour rate limit window
      schema:
        type: integer
    rateLimit-limit:
      description: The maximum number of requests that the consumer is permitted to make in a given period
      schema:
        type: integer
    retry-after:
      description: Retry the request after X seconds
      schema:
        type: integer
    rateLimit-remaining-minute:
      description: The number of requests remaining in the current minute rate limit window
      schema:
        type: integer
    rateLimit-limit-minute:
      description: The maximum number of requests that the consumer is permitted to make in an minute window
      schema:
        type: integer
    rateLimit-limit-hour:
      description: The maximum number of requests that the consumer is permitted to make in an hour window
      schema:
        type: integer
  schemas:
    InternalServerError:
      properties:
        type:
          example: about:blank
          type: string
        detail:
          example: Something wrong occurred.
          type: string
      required:
      - detail
      - type
      title: InternalServerError
      type: object
    TooManyRequestsResponse:
      properties:
        message:
          type: string
      required:
      - message
      title: TooManyRequestsResponse
      type: object
    UnsupportedMediaTypeResponse:
      properties:
        type:
          type: string
        detail:
          type: string
      required:
      - detail
      - type
      title: UnsupportedMediaTypeResponse
      type: object
    ElectronicSealDocument:
      properties:
        id:
          example: 1365283d-0ba5-4a08-9a58-9818ef428320
          format: uuid
          type: string
        total_pages:
          minimum: 1
          type: integer
        created_at:
          example: '2024-01-18T22:59:00Z'
          format: date-time
          type: string
        workspace_id:
          description: Unique identifier of the Workspace in which this Electronic Seal Document is scoped.
          example: ea11f308-4531-42f9-8218-96b37b7ebb19
          format: uuid
          type: string
      required:
      - created_at
      - id
      - total_pages
      - workspace_id
      type: object
    MethodNotAllowed:
      properties:
        message:
          type: string
      required:
      - message
      title: MethodNotAllowed
      type: object
    NotFoundResponse:
      properties:
        type:
          type: string
        detail:
          type: string
      required:
      - detail
      - type
      title: NotFoundResponse
      type: object
    BadRequestResponse:
      properties:
        type:
          type: string
        detail:
          type: string
      required:
      - detail
      - type
      title: BadRequestResponse
      type: object
    ForbiddenResponse:
      properties:
        type:
          type: string
        detail:
          type: string
      required:
      - detail
      - type
      title: ForbiddenResponse
      type: object
    UnauthorizedResponse:
      properties:
        type:
          type: string
        detail:
          type: string
      required:
      - detail
      - type
      title: UnauthorizedResponse
      type: object
    CreateElectronicSealDocument:
      properties:
        file:
          description: 'Binary file. Accepted formats: PDF.'
          format: binary
          type: string
        password:
          description: The password required to unlock the document if it is protected.
          example: MyPa$$word
          type: string
      required:
      - file
      type: object
    UUID:
      description: The unique identifier for a resource.
      example: 9a93d3b5-fb3b-4abf-9e70-26315b33506c
      format: uuid
      type: string
    CreateElectronicSealDocumentFromJson:
      oneOf:
      - $ref: '#/components/schemas/From_Electronic_Seal_Document'
      - $ref: '#/components/schemas/From_Signature_Request_Document'
      type: object
    From_Signature_Request_Document:
      description: Create an Electronic Seal Document from a Signature Request Document already signed.
      properties:
        signature_request_document_id:
          description: Id of the Signature Request Document, the Signature Request must be Done.
          example: 672a5a0b-ac65-407e-9da9-d34402bae974
          format: uuid
          type: string
      required:
      - signature_request_document_id
      title: From Signature Request Document
      type: object
    From_Electronic_Seal_Document:
      description: Create an Electronic Seal Document from a previously sealed document.
      properties:
        electronic_seal_document_id:
          description: Id of the Electronic Seal Document. The Electronic Seal must be done to use its Electronic Seal Document.
          example: 672a5a0b-ac65-407e-9da9-d34402bae974
          format: uuid
          type: string
      required:
      - electronic_seal_document_id
      title: From Electronic Seal Document
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http