fiona-client
v1.3.0
Published
HTTP client wrapper around Fiona APIs
Readme
Fiona Client
Type-safe TypeScript client for the Fiona festival management platform. Covers the main Fiona API (15 endpoints) and xAPI (31 endpoints).
Installation
pnpm add fiona-clientUsage
import { createFiona } from 'fiona-client/fiona'
import { createXapiFiona } from 'fiona-client/xapi-fiona'
const fiona = createFiona({
baseUrl: 'https://yourfestivalname-a-api.fiona-online.net/v1',
key: 'your-api-key',
})
const xapi = createXapiFiona({
baseUrl: 'https://yourorganisation-xapi.fiona-online.net/api',
key: 'your-xapi-key',
})
const films = await fiona.films.getAllByEdition('edition-id')
const account = await xapi.account.getDetails('provider', 'external-id')Helpers
formatFionaDateTime
Converts a Date, epoch-ms number, or date string to the Fiona UTC format (YYYYMMDDTHHmmssSSSZ). Strings already in that format pass through unchanged.
import { formatFionaDateTime } from 'fiona-client/fiona'
formatFionaDateTime(new Date()) // "20260225T143012045Z"
formatFionaDateTime(1697186780524) // "20231013T084620524Z"
formatFionaDateTime("20231013T084620524Z") // returned as-isMutation filtering
getFromDateTime accepts any FionaDateTimeInput and an optional filter by mutation kind (0 = Insert, 1 = Update, 2 = Delete).
const all = await fiona.mutations.getFromDateTime(new Date('2025-01-01'))
const changes = await fiona.mutations.getFromDateTime(new Date(), { mutation: [1, 2] })
const inserts = await fiona.mutations.getFromDateTime(new Date(), { mutation: 0 })License
ISC
