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

# Get Workspace Document URL

> Generate a signed URL for a workspace document produced by a workflow.

Generate a signed URL for a persisted workspace document.

## Authentication and scope

Requires both `workspaces-read` and `documents-read`. The document must belong to the workspace in the URL.

```bash theme={null}
curl "https://api.raydocs.com/workspaces/12/documents/880e8400-e29b-41d4-a716-446655440000/url" \
  --header "Authorization: Bearer $RAYDOCS_API_TOKEN"
```

```json theme={null}
{
  "url": "https://storage.example.com/workflow-output.zip?X-Amz-Signature=..."
}
```

The signed URL expires after 10 minutes. Request a fresh URL for every download attempt and do not persist or log its query string.


## OpenAPI

````yaml get /workspaces/{workspaceId}/documents/{documentId}/url
openapi: 3.0.1
info:
  title: Raydocs API
  description: REST API for document extraction with AI-powered data parsing
  version: 1.0.0
servers:
  - url: https://api.raydocs.com
security:
  - bearerAuth: []
tags:
  - name: Workspaces
    description: Create and manage workspaces.
  - name: Workspace Users
    description: Manage users within a workspace.
  - name: Extraction Templates
    description: Define extraction schemas and settings.
  - name: Extraction Sessions
    description: Manage extraction jobs and documents.
  - name: Batch Operations
    description: Bulk operations on sessions.
  - name: Documents
    description: Upload and manage source documents.
  - name: Workflows
    description: Discover workflow runs and read their public outputs.
  - name: Results
    description: Access extraction results.
paths:
  /workspaces/{workspaceId}/documents/{documentId}/url:
    get:
      tags:
        - Documents
      summary: Get Workspace Document URL
      description: >-
        Generate a 10-minute signed download URL for a workspace document.
        Requires `workspaces-read` and `documents-read`.
      operationId: getWorkspaceDocumentUrl
      parameters:
        - name: workspaceId
          in: path
          required: true
          schema:
            type: integer
        - name: documentId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Signed URL generated
          content:
            application/json:
              schema:
                type: object
                required:
                  - url
                properties:
                  url:
                    type: string
                    format: uri
        '403':
          description: Forbidden
        '404':
          description: Document does not belong to the route workspace
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        Personal Access Token created from the Raydocs dashboard.

        Include in the Authorization header: `Bearer <your_token>`

        See [API Keys](/api-reference/api-keys) for token creation and
        management.

````