Skip to content

Developer Guide

This guide is for developers who call LyEve from their own code: a website, a mobile app, a backend job or another service. Everything goes over HTTP and JSON, so any language works. The pages it links hold the detail. This page tells you which one to read next.

  1. Quickstart: start an engine, get a token, and write and read your first entry with curl.
  2. Core concepts: the two APIs and their ports, tenants and roles, in the words the routes use.
  3. Your first content type: model a content type with a relation, then read it back filtered and with the related entry inline.
  4. API keys: give your site or service its own key, limited to the actions it needs.
  5. Read and write content: every Content API route, its query parameters and how paging works.
  6. SDK overview: the TypeScript client, if you work in TypeScript or JavaScript.
I need to...Read
Sign in from code and keep the session aliveAuthenticate
Give a site or service a credential of its ownAPI keys
Script the Admin API from CIAdmin tokens
Check a LyEve token inside my own serviceValidate tokens with JWKS
Page through entries, filter them, include related onesQuery parameters and the data model
Publish, unpublish or restore a revisionDrafts and publishing
Retry a write without creating it twiceIdempotent requests
Shape an endpoint the way my frontend wants itBuild a custom API with flows
Query over GraphQL or gRPCGraphQL API, gRPC API
Serve each reader in their languageLocalization
Add full-text search to my siteSearch
Keep the content model in my repositorySchema and flows as code
Stay under the rate limitsRate limiting
Find out why a call failedTroubleshooting
If you want toUseNeeds
Run steps of your own when an entry changes, with no server to deployA flow with an event triggerFree
Have another system called with a signed request when content changesWebhooksFree up to 25 per tenant. More, and retry policies of your own, need webhook-pro
Push changes to browsers and apps that stay connectedRealtimerealtime
Feed every change into NATS, Kafka or RabbitMQMessage broker eventsmessagebroker
Send a window of past changes againEvent replayevents