mirror of
https://github.com/formbricks/formbricks.git
synced 2025-12-30 10:19:51 -06:00
131 lines
5.4 KiB
Plaintext
131 lines
5.4 KiB
Plaintext
import { MdxImage } from "@/components/mdx-image";
|
||
|
||
import AddApiKey from "./images/add-api-key.webp";
|
||
import ApiKeySecret from "./images/api-key-secret.webp";
|
||
|
||
export const metadata = {
|
||
title: "Formbricks API Overview: Public Client & Management API Breakdown",
|
||
description:
|
||
"Formbricks provides a powerful API to manage your surveys, responses, users, displays, attributes & webhooks programmatically. Get a detailed understanding of Formbricks' dual API offerings: the unauthenticated Public Client API optimized for client-side tasks and the secured Management API for advanced account operations. Choose the perfect fit for your integration needs and ensure robust data handling",
|
||
};
|
||
|
||
#### API
|
||
|
||
# API Overview
|
||
|
||
Formbricks offers two types of APIs: the **Public Client API** and the **Management API**. Each API serves a different purpose, has different authentication requirements, and provides access to different data and settings.
|
||
|
||
View our [API Documentation](/api-docs) in more than 30 frameworks and languages.
|
||
|
||
## Public Client API
|
||
|
||
The [Public Client API](/api-docs#tag/Client-API) is designed for our SDKs and **does not require authentication**. This API is ideal for client-side interactions, as it doesn't expose sensitive information.
|
||
|
||
We currently have the following Client API methods exposed and below is their documentation attached in Postman:
|
||
|
||
- [Displays API](/api-docs#tag/Public-Client-API-greater-Displays) - Mark Survey as Displayed or Update an existing Display by linking it with a Response for a Person
|
||
- [People API](/api-docs#tag/Public-Client-API-greater-People) - Create & Update a Person (e.g. attributes, email, userId, etc)
|
||
- [Responses API](/api-docs#tag/Public-Client-API-greater-Responses) - Create & Update a Response for a Survey
|
||
|
||
## Management API
|
||
|
||
The [Management API](/api-docs#tag/Management-API) provides access to all data and settings that your account has access to in the Formbricks app. This API **requires a personal API Key** for authentication, which can be generated in the Settings section of the Formbricks app. Checkout the [API Key Setup](#how-to-generate-an-api-key) below to generate & manage API Keys.
|
||
|
||
We currently have the following Management API methods exposed and below is their documentation attached in Postman:
|
||
|
||
- [Action Class API](/api-docs#tag/Management-API-greater-Action-Class) - Create, List, and Delete Action Classes
|
||
- [Attribute Class API](/api-docs#tag/Management-API-greater-Attribute-Class) - Create, List, and Delete Attribute Classes
|
||
- [Me API](/api-docs#tag/Management-API-greater-Me) - Retrieve Account Information
|
||
- [People API](/api-docs#tag/Management-API-greater-People) - List and Delete People
|
||
- [Response API](/api-docs#tag/Management-API-greater-Response) - List, List by Survey, Update, and Delete Responses
|
||
- [Survey API](/api-docs#tag/Management-API-greater-Survey) - List, Create, Update, generate multiple suId and Delete Surveys
|
||
- [Webhook API](/api-docs#tag/Management-API-greater-Webhook) - List, Create, and Delete Webhooks
|
||
|
||
## How to Generate an API key
|
||
|
||
The API requests are authorized with a personal API key. This API key gives you the same rights as if you were logged in at formbricks.com - **don't share it around!**
|
||
|
||
1. Go to your settings on [app.formbricks.com](https://app.formbricks.com).
|
||
2. Go to page “API keys”
|
||
<MdxImage src={AddApiKey} alt="Add API Key" quality="100" className="max-w-full rounded-lg sm:max-w-3xl" />
|
||
3. Create a key for the development or production environment.
|
||
4. Copy the key immediately. You won’t be able to see it again.
|
||
<MdxImage
|
||
src={ApiKeySecret}
|
||
alt="API Key Secret"
|
||
quality="100"
|
||
className="max-w-full rounded-lg sm:max-w-3xl"
|
||
/>
|
||
|
||
<Note>
|
||
### Store API key safely! Anyone who has your API key has full control over your account. For security reasons, you cannot view the API key again.
|
||
</Note>
|
||
|
||
### Test your API Key
|
||
|
||
Hit the below request to verify that you are authenticated with your API Key and the server is responding.
|
||
|
||
## Get My Profile {{ tag: 'GET', label: '/api/v1/me' }}
|
||
|
||
<Row>
|
||
<Col>
|
||
|
||
Get the project details and environment type of your account.
|
||
|
||
### Mandatory Headers
|
||
|
||
<Properties>
|
||
<Property name="x-Api-Key" type="string">
|
||
Your Formbricks API key.
|
||
</Property>
|
||
</Properties>
|
||
|
||
### Delete a personal API key
|
||
|
||
1. Go to settings on [app.formbricks.com](https://app.formbricks.com/).
|
||
2. Go to page “API keys”.
|
||
3. Find the key you wish to revoke and select “Delete”.
|
||
4. Your API key will stop working immediately.
|
||
|
||
</Col>
|
||
<Col sticky>
|
||
|
||
<CodeGroup title="Request" tag="GET" label="/api/v1/me">
|
||
|
||
```bash {{ title: 'cURL' }}
|
||
curl --location \
|
||
'https://app.formbricks.com/api/v1/me' \
|
||
--header \
|
||
'x-api-key: <your-api-key>'
|
||
```
|
||
|
||
</CodeGroup>
|
||
|
||
<CodeGroup title="Response">
|
||
|
||
```json {{title:'200 Success'}}
|
||
{
|
||
"id": "cll2m30r70004mx0huqkitgqv",
|
||
"createdAt": "2023-08-08T18:04:59.922Z",
|
||
"updatedAt": "2023-08-08T18:04:59.922Z",
|
||
"type": "production",
|
||
"project": {
|
||
"id": "cll2m30r60003mx0hnemjfckr",
|
||
"name": "My Project"
|
||
},
|
||
"appSetupCompleted": false,
|
||
"websiteSetupCompleted": false,
|
||
}
|
||
```
|
||
```json {{ title: '401 Not Authenticated' }}
|
||
Not authenticated
|
||
```
|
||
</CodeGroup>
|
||
|
||
</Col>
|
||
</Row>
|
||
|
||
**Can’t figure it out?**: **[Get help in Github Discussions](https://github.com/formbricks/formbricks/discussions)**
|
||
|
||
---
|