fauna EventFeeds API
Poll-based change data capture using event feeds. Retrieve batches of change events at your own pace for scheduled synchronization and batch processing workflows.
Poll-based change data capture using event feeds. Retrieve batches of change events at your own pace for scheduled synchronization and batch processing workflows.
openapi: 3.1.0
info:
title: Fauna Core HTTP EventFeeds API
description: The Fauna Core HTTP API provides direct access to the Fauna serverless document database through HTTPS endpoints. It allows developers to execute Fauna Query Language (FQL) queries, manage databases, perform CRUD operations on documents, manage schema as FSL files, and consume change data capture events via event feeds. The API uses token-based authentication and supports features such as transactions, indexes, and set operations. It serves as the foundation upon which Fauna's client drivers and SDKs are built.
version: '1'
contact:
name: Fauna Support
url: https://support.fauna.com
termsOfService: https://fauna.com/terms
servers:
- url: https://db.fauna.com
description: Fauna Global Production Server
security:
- bearerAuth: []
tags:
- name: EventFeeds
description: Poll-based change data capture using event feeds. Retrieve batches of change events at your own pace for scheduled synchronization and batch processing workflows.
paths:
/feed/1:
post:
operationId: pollEventFeed
summary: Poll an event feed
description: Retrieves a page of change data capture events from an event source using a polling-based approach. Event feeds allow developers to retrieve batches of change events at their own pace rather than maintaining a persistent connection. Specify a start timestamp for the initial request and use cursors for subsequent pagination.
tags:
- EventFeeds
parameters:
- $ref: '#/components/parameters/XFormat'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EventFeedRequest'
responses:
'200':
description: Event feed page retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/EventFeedResponse'
'400':
description: Bad request due to invalid token or parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized due to invalid or missing authentication secret
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
EventStats:
type: object
description: Aggregated statistics for all events in the page.
properties:
read_ops:
type: integer
description: Number of Transactional Read Operations consumed.
storage_bytes_read:
type: integer
description: Number of bytes read from storage.
compute_ops:
type: integer
description: Number of Transactional Compute Operations consumed.
processing_time_ms:
type: integer
description: Processing time in milliseconds.
rate_limits_hit:
type: array
items:
type: string
description: List of rate limits that were hit.
Event:
type: object
properties:
type:
type: string
enum:
- add
- remove
- update
- status
description: The type of change event.
txn_ts:
type: integer
format: int64
description: Transaction timestamp of the event in microseconds since the Unix epoch.
cursor:
type: string
description: Cursor for this specific event.
data:
type: object
additionalProperties: true
description: The document data associated with the event.
EventFeedResponse:
type: object
properties:
events:
type: array
items:
$ref: '#/components/schemas/Event'
description: Array of change events for the current page.
cursor:
type: string
description: Cursor to use for fetching the next page of events.
has_next:
type: boolean
description: Indicates whether more pages of events are available.
stats:
$ref: '#/components/schemas/EventStats'
EventFeedRequest:
type: object
required:
- token
properties:
token:
type: string
description: The event source token obtained from an FQL query that returns an event source.
cursor:
type: string
description: Cursor from a previous event feed response for pagination. Mutually exclusive with start_ts.
start_ts:
type: integer
format: int64
description: Start timestamp in microseconds since the Unix epoch. Fauna returns events that occurred after this timestamp. Mutually exclusive with cursor.
page_size:
type: integer
minimum: 1
maximum: 16000
default: 16
description: Maximum number of events to return per page. Must be between 1 and 16000 inclusive.
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: string
description: Machine-readable error code. Error codes are part of the API contract and are safe to write programmatic logic against.
message:
type: string
description: Human-readable error message describing the failure.
constraint_failures:
type: array
items:
type: object
properties:
paths:
type: array
items:
type: array
items:
type: string
message:
type: string
description: Details about check or unique constraint failures.
required:
- code
- message
summary:
type: string
description: Detailed error information including the location of the error in the query.
txn_ts:
type: integer
format: int64
description: Transaction timestamp of the failed request.
stats:
$ref: '#/components/schemas/QueryStats'
schema_version:
type: integer
format: int64
description: Schema version at the time of the failed request.
QueryStats:
type: object
description: Operational statistics for the query execution.
properties:
compute_ops:
type: integer
description: Number of Transactional Compute Operations consumed.
read_ops:
type: integer
description: Number of Transactional Read Operations consumed.
write_ops:
type: integer
description: Number of Transactional Write Operations consumed.
query_time_ms:
type: integer
description: Query execution time in milliseconds.
contention_retries:
type: integer
description: Number of times the transaction was retried due to contention.
storage_bytes_read:
type: integer
description: Number of bytes read from storage.
storage_bytes_write:
type: integer
description: Number of bytes written to storage.
rate_limits_hit:
type: array
items:
type: string
description: List of rate limits that were hit during query execution.
parameters:
XFormat:
name: X-Format
in: header
description: Specifies the data format used to encode FQL values in query results and arguments. Supported values are tagged and simple.
schema:
type: string
enum:
- tagged
- simple
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Fauna authentication secret passed as a bearer token. Secrets can be keys, tokens, or JWTs from third-party identity providers.
externalDocs:
description: Fauna Core HTTP API Documentation
url: https://docs.fauna.com/fauna/current/reference/http/reference/core-api/