You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/resources/projects/settings/project-apis.md
+56-9Lines changed: 56 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,8 @@ tags: [APIs, Projects]
5
5
keywords: [projects, apis, refactor code]
6
6
sidebar_position: 5
7
7
---
8
+
import Tabs from '@theme/Tabs';
9
+
import TabItem from '@theme/TabItem';
8
10
9
11
# Project API
10
12
@@ -26,25 +28,70 @@ Before using the Project YAML API, make sure you have the following:
26
28
27
29
:::
28
30
31
+
## YAML Overview
32
+
33
+
### What are FlutterFlow Project YAMLs?
34
+
35
+
YAML (YAML Ain't Markup Language) is a human-readable data serialization format commonly used for configuration files. In FlutterFlow, **Project YAMLs represent the complete structural definition of your app,** essentially exposing the full project schema that powers your FlutterFlow app.
36
+
37
+
### What's Included in the Project Schema?
38
+
39
+
FlutterFlow's YAML files contain a comprehensive representation of your entire project, including:
-**Data Structures**: Database collections, API schemas, app state variables, and custom data types.
44
+
-**Business Logic**: Actions, functions, conditional logic, and workflow definitions.
45
+
-**Assets & Resources**: Custom code files, image references, fonts, and other project assets.
46
+
-**Project Organization**: Folder structures, component libraries, and project metadata.
47
+
48
+
### YAML vs. FlutterFlow UI
49
+
50
+
Every change you make in the FlutterFlow visual editor — from dragging a widget onto a page to configuring a database collection, is ultimately stored as structured data in these YAML files. The FlutterFlow UI provides an intuitive visual interface for editing this underlying schema, while the Project API gives you direct programmatic access to the same data.
51
+
52
+
### File Structure
53
+
54
+
FlutterFlow automatically partitions your project into logical YAML files for optimal performance and organization. Each file represents a specific aspect of your project (e.g., `app-state`, `ad-mob`, individual pages, collections, etc.), making it easy to target specific updates without affecting the entire project.
55
+
29
56
## Base URL
30
57
31
58
FlutterFlow provides different API endpoints for various environments. Use the appropriate base URL below depending on your needs:
All API endpoints require authentication using a Bearer token. You'll need to include your FlutterFlow API token in the Authorization header of each request. See [how to get the API Token](../../../accounts-billing/account-management.md#how-do-i-generate-an-api-token).
@@ -165,7 +212,7 @@ You must validate the YAML content before applying changes to ensure it's proper
165
212
:::info
166
213
167
214
- In the `fileContent` object, you must provide the **entire content** of the file.
168
-
- The YAML content must be passed as a **single-line string** with correct formatting and appropriate escaping for new lines and indentation. For example, in the `fileContent` object, you see the actual multiline YAML content, which is not allowed ❌.
215
+
- The YAML content must be passed as a **single-line string** with correct formatting and appropriate escaping for new lines and indentation. For example, in the following `fileContent` object, you see the actual multiline YAML content, which is not allowed ❌.
169
216
170
217
```jsx
171
218
{
@@ -245,7 +292,7 @@ This endpoint allows you to overwrite existing files in your FlutterFlow project
245
292
```
246
293
:::info
247
294
- In the `fileKeyToContent` object, you must provide the **entire content**of the file.
248
-
- The YAML content must be passed as a **single-line string**with correct formatting and appropriate escaping for newlines and indentation. For example, in the `fileKeyToContent` object, you see the actual multiline YAML content, which is not allowed ❌.
295
+
- The YAML content must be passed as a **single-line string**with correct formatting and appropriate escaping for newlines and indentation. For example, in the following `fileKeyToContent` object, you see the actual multiline YAML content, which is not allowed ❌.
0 commit comments