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

# Crear solicitud de documentos



## OpenAPI

````yaml POST /v1/vault/requests
openapi: 3.1.0
info:
  title: EdTools Client API
  version: 1.0.0
  description: >-
    Stable server-to-server API for tenant-owned EdTools integrations. Public
    docs disable the playground; use your own secure client or Postman workspace
    for real tokens.
servers:
  - url: https://app.edtools.co/api/client
    description: Production
  - url: http://localhost:3000/api/client
    description: Local development
security:
  - bearerAuth: []
tags:
  - name: Client API
    description: Identity and token introspection.
  - name: Students
    description: Student reads, writes and external-id sync.
  - name: Admissions
    description: Admission applications, pipeline statuses and contacts.
  - name: Payments
    description: Payment and obligation reads, writes and external-id sync.
  - name: Programs
    description: Current academic program catalog.
  - name: Courses
    description: Current academic course catalog.
  - name: Forms
    description: Read-only form templates and submissions.
  - name: Vault
    description: Document types, documents, requirements and requests.
paths:
  /v1/vault/requests:
    post:
      tags:
        - Vault
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                profileId:
                  type: string
                  nullable: true
                  format: uuid
                templateId:
                  type: string
                  nullable: true
                  format: uuid
                assignProfileToEntity:
                  type: boolean
                title:
                  type: string
                  maxLength: 255
                requesterName:
                  type: string
                  nullable: true
                  maxLength: 255
                requesterEmail:
                  type: string
                  nullable: true
                  maxLength: 320
                  format: email
                documentTypeIds:
                  type: array
                  items:
                    type: string
                    format: uuid
                  maxItems: 20
                subjects:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        minLength: 1
                        maxLength: 64
                      label:
                        type: string
                        minLength: 1
                        maxLength: 255
                      subtitle:
                        type: string
                        nullable: true
                        maxLength: 255
                      profileId:
                        type: string
                        format: uuid
                    required:
                      - key
                      - label
                      - profileId
                  maxItems: 8
                expiresInDays:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  maximum: 60
                entityKind:
                  type: string
                  enum:
                    - student
                    - admission_application
                entityId:
                  type: string
                  format: uuid
                entityExternalId:
                  type: string
                  minLength: 1
                  maxLength: 160
              required:
                - entityKind
      responses:
        '201':
          description: Created Vault document request
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      request:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          entityKind:
                            type: string
                          entityId:
                            type: string
                            format: uuid
                          entityLabel:
                            type: string
                          entitySubtitle:
                            type: string
                            nullable: true
                          entityPath:
                            type: string
                            nullable: true
                          profileId:
                            type: string
                            nullable: true
                            format: uuid
                          contactId:
                            type: string
                            nullable: true
                            format: uuid
                          title:
                            type: string
                          requesterName:
                            type: string
                            nullable: true
                          requesterEmail:
                            type: string
                            nullable: true
                          status:
                            type: string
                          expiresAt:
                            type: string
                          revokedAt:
                            type: string
                            nullable: true
                          completedAt:
                            type: string
                            nullable: true
                          archivedAt:
                            type: string
                            nullable: true
                          archivedByUserId:
                            type: string
                            nullable: true
                            format: uuid
                          openedAt:
                            type: string
                            nullable: true
                          lastActivityAt:
                            type: string
                            nullable: true
                          subjects:
                            type: array
                            items:
                              type: object
                              properties:
                                key:
                                  type: string
                                label:
                                  type: string
                                subtitle:
                                  type: string
                                  nullable: true
                                profileId:
                                  type: string
                                  nullable: true
                                profileName:
                                  type: string
                                  nullable: true
                                profileKey:
                                  type: string
                                  nullable: true
                                sortOrder:
                                  type: number
                              required:
                                - key
                                - label
                                - subtitle
                                - profileId
                                - profileName
                                - profileKey
                                - sortOrder
                          createdAt:
                            type: string
                          updatedAt:
                            type: string
                        required:
                          - id
                          - entityKind
                          - entityId
                          - entityLabel
                          - entitySubtitle
                          - entityPath
                          - profileId
                          - contactId
                          - title
                          - requesterName
                          - requesterEmail
                          - status
                          - expiresAt
                          - revokedAt
                          - completedAt
                          - archivedAt
                          - archivedByUserId
                          - openedAt
                          - lastActivityAt
                          - subjects
                          - createdAt
                          - updatedAt
                      publicUrl:
                        type: string
                      expiresAt:
                        type: string
                    required:
                      - request
                      - publicUrl
                      - expiresAt
                required:
                  - data
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: EdTools service token

````