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

# Resend Document Request

> Resend an email invitation for an existing document request.

Resend an email invitation for an existing document request. This is useful if the recipient missed the original email or if you want to provide an updated custom message.

<Note>
  This endpoint requires the **Document Requests** feature to be enabled for your organisation. If you receive a `403` with `request.organisations.module.not-enabled`, contact your organisation admin to have it activated. [Learn more](/guides/feature-modules).
</Note>

## Features

* **Update Recipient**: You can specify a different recipient email address when resending, allowing you to redirect the request if needed.
* **Updated Message**: Provide a new custom email message to provide additional context to the recipient.

## Best Practices

1. **Check Expiration**: Ensure the request has not already expired before attempting to resend.
2. **Customise the Message**: Include a reason for resending (e.g., "Following up on our call...") to encourage the recipient to complete the upload.
3. **Validate Email**: Double-check the recipient's email address if they reported not receiving the previous invitation.


## OpenAPI

````yaml POST /document-requests/{id}/resend
openapi: 3.1.0
info:
  title: Veridox Core API
  description: Veridox Core Platform API
  version: 0.0.1
  contact: {}
servers:
  - url: https://api.uk.veridox.ai
    description: Live (UK)
  - url: https://api.ca.veridox.ai
    description: Live (CA)
security: []
tags:
  - name: Status
    description: System status and health check endpoints
  - name: Cases
    description: Case and case file management
  - name: Organisations
    description: Organisation management
  - name: Document Requests
    description: Document request management
  - name: Search
    description: Search functionality
  - name: Admin
    description: Administrative endpoints
paths:
  /document-requests/{id}/resend:
    post:
      tags:
        - Document Requests
      summary: Resend document request email
      description: >-
        Regenerates the secure link and resends the document request email to
        the recipient.
      operationId: DocumentRequestsController_resendDocumentRequest
      parameters:
        - name: id
          required: true
          in: path
          description: Document request ID
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResendDocumentRequestDto'
      responses:
        '200':
          description: Document request email resent successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResendDocumentRequestResponseDto'
        '400':
          description: Document request is no longer active (completed or expired)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
        '401':
          description: Unauthorized (invalid or missing authentication token)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
        '404':
          description: Document request not found or not owned by user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
        '429':
          description: Too many requests (rate limit exceeded)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
      security:
        - api-key: []
components:
  schemas:
    ResendDocumentRequestDto:
      type: object
      properties:
        recipient_email:
          type: string
          format: email
          pattern: >-
            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
          x-nestjs_zod-parent-additional-properties: false
        email_message:
          type: string
          minLength: 1
          maxLength: 1000
          x-nestjs_zod-parent-additional-properties: false
        copy:
          default: false
          type: boolean
          x-nestjs_zod-parent-additional-properties: false
      required:
        - recipient_email
    ResendDocumentRequestResponseDto:
      type: object
      properties:
        success:
          type: boolean
          x-nestjs_zod-parent-additional-properties: false
        recipient_email:
          type: string
          format: email
          pattern: >-
            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
          x-nestjs_zod-parent-additional-properties: false
        sent_at:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          x-nestjs_zod-parent-additional-properties: false
      required:
        - success
        - recipient_email
        - sent_at
    ErrorDto:
      type: object
      properties:
        error_code:
          type: string
          description: Machine-readable error code for programmatic handling
          examples:
            - request.cases.file.missing-risk-score
            - request.authentication.invalid-token
            - request.forbidden
            - request.cases.case.not-found
            - request.cases.case.already-locked
        error_message:
          type: string
          description: Human-readable error message explaining what went wrong
          example: >-
            User tried to perform an invalid operation on a file without a risk
            score.
        error_details:
          type: object
          example:
            field: email_address
      required:
        - error_code
        - error_message
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key

````