
Get started
- Quickstart — Authenticate and read data from your first project.
- Authentication — Create an API key and understand its permissions.
- API reference — Explore endpoints, request examples, and the interactive playground.
- Download the OpenAPI specification (JSON) — Import the API definition into your tools.
Explore current capabilities
Use API conventions for pagination, branches, and error handling. Follow the examples to list, search, or filter entities and write or restore them. To react to item changes and review decisions, poll project events. The endpoint reference also covers starting and continuing agent chats and managing project automations. Use the generated endpoint pages for exact request and response schemas.Connect an AI client
Use Flow MCP to connect an AI client to your systems graph. Follow Connect a client, then use Flow tools to read and update project data.Start agent chats
UsePOST /ai/agents with project_id and an optional opening messages array to create a chat. Chats are private to the key owner by default; set visibility to shared only when the workspace should see them. When you provide opening messages, the default wait: false returns while the agent works. Without messages, the chat starts idle. Read GET /ai/agents/{id} for its transcript and status, then use POST /ai/agents/{id}/messages to start or continue it. The endpoint reference describes the full request bodies.
Check whether a branch can merge
UseGET /project/{projectId}/branch/{id}/merge-readiness before you merge a branch. The response lists every gate that blocks the merge in blockers, not only the first. Each blocker has a kind, a message, and, when relevant, the items it names and the people whose action clears it. Gates that Flow cannot judge yet, such as a scan that is still running, appear in unknown with a reason. ready is true only when both lists are empty.
The read enforces nothing. POST /project/{projectId}/branch/{id}/merge checks its own gates again when you merge.
Manage shared saved views
GET /project/{projectId}/views/saved lists the project’s shared saved views in display order. A view’s id is the view_id that sharing a view takes. Creating, updating, and deleting shared views requires Admin access, and changes apply to every project member.
POST /project/{projectId}/views/savedadds a view after the existing ones. Set its start type and nesting rules by data type ID, and optionally its tablecolumns,filters, andsort. Flow checks each against the data model and refuses a filter that names an unknown field, option, or type without saving anything. Anidthat already belongs to a shared view returns409.PATCH /project/{projectId}/views/saved/{viewId}changes only the fields you send.relationships,columns,filters, andsorteach replace that whole part of the view. Sendnullto clear columns, filters, or sort.POSTandDELETE /project/{projectId}/views/saved/{viewId}/relationshipsadd or remove one nesting rule, identified byparentTypeandchildType, and keep the view’s other rules. Adding a rule the view already has with the samedirectionchanges nothing, so a retry is safe. The same pair with another direction returns409.
Run automations
Learn how automations and triggers work together. Set up a webhook automation, then start runs and poll their results.Shared item paths
Shared access grants can includeupstream_context_path_entity_ids when a share shows the path above its item. Individual context grants have view_id: null and context_of_grant_ids; clients reading grants must handle a nullable view_id. Use PUT /shared-grants/project/{projectId}/{id}/upstream-context to replace the path. See the endpoint reference for its request schema.
API updates are included in the release notes.