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

# Get a site file

> Get one site file's metadata plus a short-lived presigned download URL, scoped to the partner the API key belongs to. The URL expires after 5 minutes — request the file again for a fresh one rather than storing it. The extracted text is not included; read it from `GET /v1/site/{id}/file/{fileId}/content`. Returns `404` if the site or the file does not exist, or is not accessible to the partner. Requires the `siteFile:read` scope.



## OpenAPI

````yaml /openapi.yaml get /v1/site/{id}/file/{fileId}
openapi: 3.1.0
info:
  title: ProVision Public API
  version: 1.0.0
  description: >-
    Use the ProVision Public API to integrate with ProVision conversations,
    clients, users, and addresses. All endpoints accept and return JSON, are
    authenticated with an `x-api-key` header, and are scoped to a single partner
    tenant.
  contact:
    email: support@onevisionresources.com
    name: OneVision Resources Support
  license:
    name: Proprietary
servers:
  - url: https://connect.provisionapp.io
    description: Production
security: []
paths:
  /v1/site/{id}/file/{fileId}:
    get:
      tags:
        - site-file
      summary: Get a site file
      description: >-
        Get one site file's metadata plus a short-lived presigned download URL,
        scoped to the partner the API key belongs to. The URL expires after 5
        minutes — request the file again for a fresh one rather than storing it.
        The extracted text is not included; read it from `GET
        /v1/site/{id}/file/{fileId}/content`. Returns `404` if the site or the
        file does not exist, or is not accessible to the partner. Requires the
        `siteFile:read` scope.
      operationId: getSiteFile
      parameters:
        - schema:
            $ref: '#/components/schemas/SiteId'
          required: true
          description: Site id the files belong to.
          name: id
          in: path
        - schema:
            $ref: '#/components/schemas/SiteFileId'
          required: true
          description: Site file id.
          name: fileId
          in: path
      responses:
        '200':
          description: Site file metadata and download URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteFileDetail'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - OpenApiKeyAuth: []
components:
  schemas:
    SiteId:
      type: string
      minLength: 1
      description: >-
        Site id. Newer ids are `ovaid-<uuid>`; legacy sites may have bare (e.g.
        numeric) ids.
      example: ovaid-2b6d4d8e-9f1a-4b2c-8d4e-5f6011223344
    SiteFileId:
      type: string
      format: uuid
      description: Site file id.
      example: 9f1a2b3c-4d5e-4f60-8a1b-2c3d4e5f6071
    SiteFileDetail:
      allOf:
        - $ref: '#/components/schemas/SiteFile'
        - type: object
          properties:
            downloadUrl:
              type: string
            downloadUrlExpiresAt:
              type: string
              format: date-time
          required:
            - downloadUrl
            - downloadUrlExpiresAt
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - error
    SiteFile:
      type: object
      properties:
        id:
          type: string
          format: uuid
        fileName:
          type: string
        contentType:
          type: string
        size:
          type: integer
        uploadedBy:
          type:
            - string
            - 'null'
        pinnedAt:
          type:
            - string
            - 'null'
          format: date-time
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - fileName
        - contentType
        - size
        - uploadedBy
        - pinnedAt
        - createdAt
        - updatedAt
    ApiError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: NOT_FOUND
        message:
          type: string
          description: Human-readable error description
      required:
        - code
        - message
  securitySchemes:
    OpenApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Send the API key in the x-api-key header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.