Provider Config
Providers execute list, detail, create, update, delete, and custom action operations.
Resolution order
Operations resolve in this order: action.handler → schema.handlers[action.key]/schema.handlers[operation] → schema.provider → action.endpoint/schema.endpoint. The first source that resolves wins. See Action Config: Resolution order for the action-level detail, and No-op behavior for what happens when nothing resolves.
Runtime provider
Type: FluiKitDataProvider.
| Method | Type |
|---|---|
list | (context: FluiKitListContext) => Promise<unknown> |
detail | (context: FluiKitDetailContext) => Promise<unknown> |
create | (context: FluiKitMutationContext) => Promise<unknown> |
update | (context: FluiKitMutationContext) => Promise<unknown> |
delete | (context: FluiKitMutationContext) => Promise<unknown> |
action | (context: FluiKitActionExecutionContext) => Promise<unknown> |
Provider registration
<FluiKitProvider
providers={{
adminApi: {
list: async ({ query }) => fetchUsers(query),
create: async ({ values }) => createUser(values)
}
}}
>
<FluiKit schema={usersSchema} />
</FluiKitProvider>Schema usage
Type: FluiKitDataProviderConfig.
| Property | Type | Required | Description |
|---|---|---|---|
type | "rest" | "graphql" | "trpc" | "supabase" | "firebase" | "custom" | No | Provider category metadata. Built-in execution is automatic for rest only when name is not set (see below). "graphql", "trpc", "supabase", "firebase", and "custom" are metadata-only labels — they do not auto-wire an integration and still require a name pointing at a runtime provider registered through FluiKitProvider (or a plugin) to execute anything. |
name | string | No | Named runtime provider registered through FluiKitProvider. When set, it is used regardless of type — even type: "rest" defers to the named provider instead of the built-in endpoint provider. |
query | string | No | Query metadata for providers that use a query key or operation string. |
provider: {
name: "adminApi"
}Endpoint config
Type: FluiKitEndpointConfig.
An endpoint config can be a string or an operation map. Operation map values can be endpoint strings or endpoint objects.
Endpoint object shape:
| Property | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Endpoint URL or URL pattern. |
method | "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | No | HTTP method. Defaults by operation when omitted: create → POST, update → PATCH, delete → DELETE, action → POST, everything else (e.g. list, detail) → GET. |
headers | Record<string, string> | No | Static request headers. |
query | Record<string, unknown> | No | Static query values merged into the request. |
Built-in endpoint provider
When a schema uses REST-style endpoints, VibeFlui can execute endpoint requests through the built-in endpoint provider utilities.
provider: {
type: "rest"
}For plugin-backed providers, use type: "custom" with name.
provider: {
type: "custom",
name: "reactQuery"
}