# Flotiq — how to use (mcp.ai)

Connect your Flotiq account and use 10 tools for content and files straight from your AI agent. Connect with your own API key. Flotiq is an API-first headless content management system for defining content types, managing and publishing content, searching data, and handling media.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_flotiq?ms=1787295900000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `flotiq_batch_upsert_content_objects`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/flotiq`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/flotiq/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/flotiq/batch/upsert/content/objects` — Create or update up to 100 objects of one Flotiq content type in a batch, returning success and error counts plus per-object validation errors. The batch is atomic: if any object fails validation, Flo
  - body: { objects: object[], content_type: string }
- `POST https://api.mcp.ai/api/flotiq/create/content/object` — Create one object that conforms to a Flotiq content type definition.
  - body: { content: object, content_type: string }
- `POST https://api.mcp.ai/api/flotiq/delete/content/object` — Soft-delete one Flotiq content object. Flotiq retains deleted objects for 60 days, but restoration requires Flotiq support.
  - body: { id: string, content_type: string }
- `POST https://api.mcp.ai/api/flotiq/get/content/object` — Get one object by content type and ID, optionally expanding its relationships.
  - body: { id: string, hydrate?: integer, content_type: string }
- `POST https://api.mcp.ai/api/flotiq/get/content/type` — Get one content type definition, including its field schema and metadata configuration.
  - body: { name: string, strict_schema?: boolean, resolve_references?: boolean }
- `POST https://api.mcp.ai/api/flotiq/list/content/objects` — List and filter objects from one Flotiq content type while preserving its dynamic fields.
  - body: { ids?: string[], limit?: integer, filters?: object, hydrate?: integer, order_by?: string, empty_first?: boolean, next_cursor?: string, content_type: string, order_direction?: string }
- `POST https://api.mcp.ai/api/flotiq/list/content/types` — List the content type definitions visible to the connected Flotiq account, including internal types.
  - body: { name?: string, label?: string, limit?: integer, names?: string[], order_by?: string, next_cursor?: string, order_direction?: string }
- `POST https://api.mcp.ai/api/flotiq/search/content` — Full-text search across content objects visible to the API key, optionally restricted to content types, with configurable matching, ordering, relationship expansion, and pagination.
  - body: { limit?: integer, query: string, hydrate?: integer, order_by?: string, query_mode?: string, next_cursor?: string, content_types?: string[], order_direction?: string }
- `POST https://api.mcp.ai/api/flotiq/set/content/object/publication` — Publish a Draft & Public content object or return it to draft; this changes what public consumers can see.
  - body: { id: string, content_type: string, target_state: string, cascade_relationships?: boolean }
- `POST https://api.mcp.ai/api/flotiq/update/content/object` — Partially update selected fields of one existing Flotiq content object.
  - body: { id: string, changes: object, content_type: string }

## Example prompts
- "What can I do in Flotiq?"
- "Show me a summary of my Flotiq account"

## More
- Page: https://mcp.ai/flotiq
- Agent spec (llms.txt): https://mcp.ai/flotiq/llms.txt
- Postman collection: https://mcp.ai/flotiq/postman.json
