---
title: "Register Gemini files"
method: POST
path: "/v1beta/files:register"
tags: ["Gemini Resources"]
---

# Register Gemini files

`POST /v1beta/files:register`

## Request

- Base URL: `https://api.tokenlab.sh`
- URL: `https://api.tokenlab.sh/v1beta/files:register`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-goog-api-key`

Registers files from a supported source using Gemini JSON. The service validates the source and request fields. Resources can only be read, referenced, changed, or deleted in their owning Workspace. Missing, expired, or inaccessible resources return a Gemini-format error.

## Query parameters

- `key` string

## Headers

- `Idempotency-Key` string

## Request body

- GeminiFileRegisterRequest: Gemini file registration request. Use only sources and fields accepted by the service; registration does not upload local bytes.

## Response `200`

Success

- union
  - GeminiFileResource: A Gemini file in the current Workspace. Fields are returned when available.
    - `name` string: File resource name such as files/{fileId}.
    - `displayName` string: Human-readable file name.
    - `mimeType` string: Media MIME type.
    - `sizeBytes` string: File byte size as a decimal string.
    - `uri` string: File URI to use in Gemini content parts.
    - `state` string: Processing state reported by the service. Wait until the file is ready before generation.
    - `createTime` string, date-time
    - `updateTime` string, date-time
    - `expirationTime` string, date-time
    - `error` object
  - object
    - `file` GeminiFileResource: A Gemini file in the current Workspace. Fields are returned when available.
      - `name` string: File resource name such as files/{fileId}.
      - `displayName` string: Human-readable file name.
      - `mimeType` string: Media MIME type.
      - `sizeBytes` string: File byte size as a decimal string.
      - `uri` string: File URI to use in Gemini content parts.
      - `state` string: Processing state reported by the service. Wait until the file is ready before generation.
      - `createTime` string, date-time
      - `updateTime` string, date-time
      - `expirationTime` string, date-time
      - `error` object
    - `files` GeminiFileResource[]
      - `name` string: File resource name such as files/{fileId}.
      - `displayName` string: Human-readable file name.
      - `mimeType` string: Media MIME type.
      - `sizeBytes` string: File byte size as a decimal string.
      - `uri` string: File URI to use in Gemini content parts.
      - `state` string: Processing state reported by the service. Wait until the file is ready before generation.
      - `createTime` string, date-time
      - `updateTime` string, date-time
      - `expirationTime` string, date-time
      - `error` object

## Other responses

- `400`: Gemini-format resource error
- `401`: Gemini-format resource error
- `403`: Gemini-format resource error
- `404`: Gemini-format resource error
- `409`: Gemini-format resource error
- `429`: Gemini-format resource error
- `502`: Gemini-format resource error
- `503`: Gemini-format resource error

---

[API](https://skmtc.dev/tokenlab/apis/tokenlab-ai-gateway.md) · [All operations](https://skmtc.dev/tokenlab/apis/tokenlab-ai-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/tokenlab/apis/tokenlab-ai-gateway/revisions/3208bfbcda22?raw)
