> ## 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.

# Vincular documento



## OpenAPI

````yaml POST /v1/vault/documents/{id}/links
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/documents/{id}/links:
    post:
      tags:
        - Vault
      parameters:
        - schema:
            type: string
            format: uuid
          required: true
          name: id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entityKind:
                  type: string
                  enum:
                    - student
                    - admission_application
                entityId:
                  type: string
                  format: uuid
                entityExternalId:
                  type: string
                  minLength: 1
                  maxLength: 160
              required:
                - entityKind
      responses:
        '200':
          description: Linked Vault document
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      title:
                        type: string
                      status:
                        type: string
                      source:
                        type: string
                      documentTypeId:
                        type: string
                        nullable: true
                        format: uuid
                      documentTypeName:
                        type: string
                        nullable: true
                      expiresAt:
                        type: string
                        nullable: true
                      rejectionReason:
                        type: string
                        nullable: true
                      deletedAt:
                        type: string
                        nullable: true
                      deletedByUserId:
                        type: string
                        nullable: true
                        format: uuid
                      deletedByUserName:
                        type: string
                        nullable: true
                      deletedReason:
                        type: string
                        nullable: true
                      currentVersion:
                        type: object
                        nullable: true
                        properties:
                          id:
                            type: string
                            format: uuid
                          originalFileName:
                            type: string
                          mimeType:
                            type: string
                          sizeBytes:
                            type: number
                          uploadStatus:
                            type: string
                          textExtractionStatus:
                            type: string
                          searchIndexStatus:
                            type: string
                          createdAt:
                            type: string
                        required:
                          - id
                          - originalFileName
                          - mimeType
                          - sizeBytes
                          - uploadStatus
                          - textExtractionStatus
                          - searchIndexStatus
                          - createdAt
                      links:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            entityKind:
                              type: string
                            entityId:
                              type: string
                            label:
                              type: string
                            path:
                              type: string
                              nullable: true
                            createdAt:
                              type: string
                          required:
                            - id
                            - entityKind
                            - entityId
                            - label
                            - path
                            - createdAt
                      primaryLink:
                        type: object
                        nullable: true
                        properties:
                          id:
                            type: string
                          entityKind:
                            type: string
                          entityId:
                            type: string
                          label:
                            type: string
                          path:
                            type: string
                            nullable: true
                          createdAt:
                            type: string
                        required:
                          - id
                          - entityKind
                          - entityId
                          - label
                          - path
                          - createdAt
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                    required:
                      - id
                      - title
                      - status
                      - source
                      - documentTypeId
                      - documentTypeName
                      - expiresAt
                      - rejectionReason
                      - deletedAt
                      - deletedByUserId
                      - deletedByUserName
                      - deletedReason
                      - currentVersion
                      - links
                      - primaryLink
                      - createdAt
                      - updatedAt
                required:
                  - data
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: EdTools service token

````