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

# Upload a file

> Upload a file and get back its permanent public URL on the Gleap CDN. Send the
request as `multipart/form-data` with the file in a form field named `file`
(maximum size 100 MB). Files are stored in a folder scoped to the project passed
in the `project` header.

The returned `fileUrl` can be used anywhere a URL is accepted — most commonly as
the image source inside help center article `content`, which is TipTap JSON where
images are nodes of the shape `{ "type": "image", "attrs": { "src": "<fileUrl>" } }`.
To add images to articles in bulk (e.g. UI screenshots for many articles), call
this endpoint once per file, collect the returned URLs, and reference them in the
article content when creating or updating articles.



## OpenAPI

````yaml https://api.gleap.io/api-docs.json post /uploads
openapi: 3.0.0
info:
  title: gleap-server
  version: 14.0.0
  contact: {}
servers:
  - url: https://api.gleap.io/v3
security: []
paths:
  /uploads:
    post:
      tags:
        - Uploads
      summary: Upload a file
      description: >-
        Upload a file and get back its permanent public URL on the Gleap CDN.
        Send the

        request as `multipart/form-data` with the file in a form field named
        `file`

        (maximum size 100 MB). Files are stored in a folder scoped to the
        project passed

        in the `project` header.


        The returned `fileUrl` can be used anywhere a URL is accepted — most
        commonly as

        the image source inside help center article `content`, which is TipTap
        JSON where

        images are nodes of the shape `{ "type": "image", "attrs": { "src":
        "<fileUrl>" } }`.

        To add images to articles in bulk (e.g. UI screenshots for many
        articles), call

        this endpoint once per file, collect the returned URLs, and reference
        them in the

        article content when creating or updating articles.
      operationId: UploadFile
      parameters:
        - in: header
          name: project
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadedFileResponse'
      security:
        - jwt: []
components:
  schemas:
    UploadedFileResponse:
      properties:
        success:
          type: boolean
        fileUrl:
          type: string
          description: Permanent public URL of the stored file on the Gleap CDN.
      required:
        - success
        - fileUrl
      type: object
      additionalProperties: false
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT

````