OpenAPI Introduction

FastGPT OpenAPI Introduction

Automated API Documentation

The automated API documentation covers all endpoints in the current version, regardless of whether they can be called via API Key.

All future endpoints will be auto-generated, with documentation continuously improved.

Usage Guide

FastGPT OpenAPI lets you authenticate with an API Key to access FastGPT services and resources -- such as calling app chat endpoints, uploading knowledge base data, search testing, and more. For compatibility and security reasons, not all endpoints support API Key access.

How to Find Your BaseURL

Note: BaseURL is not an endpoint address -- it's the root URL for all endpoints. Requesting the BaseURL directly won't work.

How to Get an API Key

FastGPT has 2 types of API Keys: a global key (cannot directly call app chat) and an app-specific key that includes an AppId (can directly call app chat).

We recommend using app-specific keys only for app or chat-related endpoints, and global keys for everything else.

Global KeyApp-Specific Key

Basic Configuration

In OpenAPI, all endpoints authenticate via Header.Authorization.

baseUrl: "http://localhost:3000/api"
headers: {
    Authorization: "Bearer {{apikey}}"
}

Example: Start an App Chat

curl --location --request POST 'http://localhost:3000/api/v1/chat/completions' \
--header 'Authorization: Bearer fastgpt-xxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "111",
    "stream": false,
    "detail": false,
    "messages": [
        {
            "content": "Who is the director",
            "role": "user"
        }
    ]
}'

Custom User ID

Since v4.8.13, you can pass a custom user ID that will be saved in the chat history.

curl --location --request POST 'http://localhost:3000/api/v1/chat/completions' \
--header 'Authorization: Bearer fastgpt-xxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "111",
    "stream": false,
    "detail": false,
    "messages": [
        {
            "content": "Who is the director",
            "role": "user"
        }
    ],
    "customUid": "xxxxxx"
}'

In the chat history, this record's user will be displayed as xxxxxx.

Edit on GitHub

File Updated