core library
The widget-free SDK surface, for Dart CLIs and tools.
package:flutterflow_cloud/flutterflow_cloud.dart additionally exports
Flutter widgets (FFXImage) and therefore drags in dart:ui; import
this library instead from anything that runs on the plain Dart VM
(seed scripts, provisioning tools, servers).
Store purchases (cloud.purchases) and Dynamic Links
(cloud.dynamicLinks) are libraries of their own,
package:flutterflow_cloud/purchases.dart and
package:flutterflow_cloud/dynamic_links.dart, which neither barrel
exports.
Classes
- BatchCreateOperation
- BatchCreateResult
- BatchDeleteOperation
- BatchDeleteResult
- BatchOperation
- BatchRequest
- BatchResponse
- BatchResult
- BatchUpdateOperation
- BatchUpdateResult
- FFXAggregateResult
- One aggregate query result row: alias → numeric value.
- FFXAppClaimResult
- The durable assignment of one delegated, project-wide custom claim.
- FFXAuth
- Auth surface (14 §6): email/password + guest sign-in and self-managing sessions.
- FFXBatchOperationBuilder
- FFXCacheConfig
- Cache tuning for FlutterFlowCloud.initialize.
- FFXCollection
- Collections addressed by config model-name string (14 §4).
- FFXConnectors
- Connectors surface: calls a third-party service (Slack, Resend, …) through the platform, which holds the credential.
- FFXDatabase
- The database entry points (14 §4–5).
- FFXFieldValue
- Atomic numeric field transforms for update patches and batch updates.
- FFXFile
- A file record (14 §7).
- FFXFunctionCallMetadata
- Response identity: the invocation, release, revision and config that answered, each null when the response did not carry it.
- FFXFunctionCallOptions
- Controls one call, which runs its function at most once: the SDK never resends a request that may have started it. Cancelling or timing out cannot undo effects that already started.
- FFXFunctions
- Callable transport. Project generation adds typed methods to this instance.
- FFXGeoPoint
-
A latitude/longitude pair — the wire shape of config
geopointfields. - FFXGoogleSignInBrowser
- A system-browser port. The browser returns the final app URL, never a Google token.
- FFXOptions
- Connection settings for one FlutterFlow Cloud project environment.
- FFXPersistedSession
- A persisted session: the token triple plus the last-known user snapshot.
- FFXQuery
- A named list query (14 §5).
- FFXQueryMetadata
- Honest per-response metadata. There is no fictional offline machinery here: isFromCache is true only when the page was actually served from the SDK's query cache, and receivedAt is when the page was originally fetched from the network (so a cached page reports its original fetch time, not "now").
-
FFXQueryPage<
T> - FFXRealtime
- One lazy socket per app; all subscriptions reconcile strongly consistent first pages.
- FFXRecord
- The untyped record core (14 §3.1): raw wire JSON + typed system accessors.
- FFXRetryPolicy
- The shared retry engine (14 §11); numbers are identical to the TS SDK.
- FFXSessionStorage
- FFXStorage
- Storage surface (14 §7): uploads with progress, cached signed download URLs, and file-record reads/updates/deletes.
-
FFXTypedCollection<
T> -
FFXTypedQuery<
T> - FFXUploadProgress
- Progress of an in-flight upload.
- FFXUploadTask
-
An in-flight upload: awaitable like a
Future<FFXFile>, with progress and cancel. - FFXUser
-
An end user (14 §6): the signed-in person from auth, or an
endUserrecord row from a named query, record read or watch. - FlutterFlowCloud
-
The FlutterFlow Cloud client (14 §2): explicit initialization, one line
in
main, everything else self-contained — session persistence and restore, token refresh, query caching, retries. -
QuerySnapshot<
T> -
RecordAdded<
T> -
RecordChange<
T> - RecordDocument
- System fields plus the model’s declared fields as raw wire JSON.
-
RecordModified<
T> -
RecordRemoved<
T> -
WireValue<
T> - A present optional wire member, including an explicit null value. Leave the containing field null to omit it; use WireValue(null) to clear it.
Enums
- FFXConnectionState
- FFXFetchPolicy
- How a query read consults the cache.
- FFXSignOutScope
- Which sessions FFXAuth.signOut revokes.
Constants
- ffxBatchOperation → const FFXBatchOperationBuilder
-
Builders mirroring the TS SDK's
ffxBatchOperationhelpers: typed batch operations addressed by collection (config model-name string).
Functions
-
newIdempotencyKey(
) → String - Fresh ULID for one logical mutation (18 §8).
Typedefs
-
FFXWebSocketConnector
= Future<
WebSocket> Function(Uri uri, {Iterable<String> ? protocols}) - Opens a realtime connection; injectable for tests and custom transports.
Exceptions / Errors
- FFXApiError
- FFXAuthenticationError
- FFXCancelledError
- Thrown by FFXUploadTask when the caller cancels an in-flight upload.
- FFXConfigVersionRetiredError
- FFXConflictError
- FFXFunctionCancelledError
- Cancellation cannot undo a function's external effects.
- FFXFunctionDeadlineError
- The client stopped waiting at the call's deadline; the function may have run.
- FFXFunctionError
- A function's public application/runtime outcome, retained in the normal platform problem envelope. The SDK never calls the function again on its own: another call is a new invocation, and the app decides whether to make it.
- FFXFunctionTransportError
- No valid answer arrived: the connection failed, the body broke off or the response was neither a result nor a problem. The request may have reached the platform, so the function may have run; the SDK does not send it again.
- FFXInsufficientCreditsError
-
A write whose rule spends credits (
spend("…", n), 05 §3.4) needs more than the end user has: nothing was written or spent. Offer a pack, then send the same request again. - FFXInternalError
- FFXNetworkError
- FFXNotFoundError
- FFXPermissionDeniedError
- FFXQuotaExceededError
- FFXRateLimitedError
- FFXRequestTooLargeError
- FFXTimeoutError
- FFXUnknownError
- FFXValidationError
- FFXVersionConflictError