The public API is exposed as part of the BusinessGPT Firewall.
Getting API KEY
The API allows sending requests to AI service through HTTP requests.
Each user has a unique API key to authenticate the API. The API key is viewed on the User Settings page in the dashboard. You need to copy it and send in the request.
Chat service - POST request
POST: https://[firewall API address]/firewallApi/v1/chat
Sample URL for BGD10 environment:
https://bgd10-firewall.agatdemo.com/firewallApi/v1/chat
Allows to send a prompt to the AI and receive a response based on some particular content or all company data
Input parameters - should be sent as JSON:
APIKey
Prompt
DataSource (private and public=both, public, private).
PrivateDataSource(Content, Collection, All)
PrivateDataID(id of the content or the collection, not needed for All)
AIModel (optional. Default will be as for the user. Available values: GPT3_5, GPT4, WizardLM, GPT4o, GPT_4o_Mini)
ChatId (optional): If provided, the question will be added to the existing chat with an external chat ID that equals the provided value. If no chat exists, a new one will be created.
MaxWordsInAnswer (optional) - If provided it should limit the number of words in the answer. The min word limit is 5.
User (optional) - the user that has asked the question
ChatAIService (optional. Default will be BusinessGPTDashboard . Available values: ChatGPT, Gemini, BusinessGPTDashboard , MicrosoftCopilot , Cohere, Claude, SlackBot)
Context (Optional) - the context of the chat. For example, the name of the Slack channel or Word document that the prompt was used from.
ChatName (optional)
Output - for HTTP status OK (200):
PromptId
Response
In case of an error, it will return an error message.
How do you find the ID of the collection or content item for the “PromptScopeId” parameter?
To find the ID triple-click the line to get some system info:
ProjectID is the collection ID:
For a document it is the contentID as in the image below
Upload service - POST request
POST: https://[firewall API address]/firewallApi/v1/upload
Sample URL for BGD10 environment:
https://bgd10-firewall.agatdemo.com/firewallApi/v1/upload
Allows to send file to the AI to be saved in BusinessGPT and receive its ID.
Input parameters - should be sent as form-data:
APIKey
FileName
FileContent - binary
ContentSourceName (optional)- The name of the client using the API (for example, File loader)
ContentSourceIP (optional)- The IP of the client using the API (for example the host of the File loader)
AllowedGroups (optional)
AllowedEmails (optional)
Output - for HTTP status OK (200):
ContentId
In case of an error, it will return an error message.
Get classifications service - GET request
GET: https://[firewall API address]/firewallApi/v1/getClassifications
Sample URL for BGD10 environment:
https://bgd10-firewall.agatdemo.com/firewallApi/v1/getClassifications
Allows to get status and classifications of content.
Input parameters - should be sent as JSON:
APIKey
ContentId
Output - for HTTP status OK (200):
EmbeddingStatus
- of the content (document) - New/SentToQueue/Processing/Done/FailedClassifications
(only if embedding status is Done) - list of classifications found for the content, by rule type (AI/Regular). Each classification contains the following fields:RuleType
- AI/RegularStatus
- New/Processing/Done/Error/SkipClassificationRules
(only if status is Done) - list of rules of the specified type that were matched for the content. Each rule contains the following fields:RuleName
RuleDescription
RulePurpose
RuleType
SensitivityLevel
RuleValue
In case of an error, it will return an error message.
Healthcheck service - GET request
GET: https://[firewall API address]/firewallApi/v1/alive
Sample URL for BGD10 environment:
https://bgd10-firewall.agatdemo.com/firewallApi/v1/alive
Postman Samples for all APIs
Attached is the Postman collection with example requests.