Concepts
Various concepts that are applicable to all APIs and Lana in general.
HTTP Headers
A description of HTTP headers used. This applies to GraphQL API and JSON API.
Authentication
Lana use JSON Web Tokens (JWT) for authentication. Our authentication process is a blend of state stored on the client side within the JWT itself, including session information, expiration date, and other unspecified utility information (which can be viewed within the JWT). Another portion of the state is kept server-side, allowing specific actions to be taken without necessitating JWT token invalidation. For instance, a staff member's privileges can be altered or suspended with immediate effect, regardless of the validity of their JWT.
Pagination
Overview of Pagination Methods There are three main methods for implementing pagination in remote APIs: Offset-based pagination
Unique Identifiers
Lana employs unique identifiers for numerous objects. These identifiers are obfuscated using a straightforward algorithm. Although this obfuscation isn't meant to be cryptographically secure, it effectively conceals numerical or sequential identifiers that should not be depended upon.
Permission Bits
Permission Bit Endpoint(s) activities.read activitiesPage analytics.export analyticsReportExport analytics.read
Using Explorer
Explorer is a purpose-built GraphQL IDE designed to simplify the development and testing of Lana GraphQL queries.
Limits & Quotas
Global Limits Parameter Value Active Subscriptions Per Customer 200 Addresses Per Customer 10 Answers Per Question
Idempotency
The Lana API supports idempotency for mutation requests. Idempotency becomes beneficial when there's a need to retry failed requests, ensuring the same operation is not performed multiple times. For instance, an operation might have already been executed, but your client didn't receive a response. Leveraging idempotency allows you to resend the same request multiple times, yet the API will only execute the operation once.
Typical Bulk Get Endpoint
A typical bulk get API endpoint includes an ids input argument, which is an array of identifiers. By default, the Lana API returns items in the same order as their identifiers in the
Webhooks
General Webhooks serve as a way for your app to receive notifications from Lana when specific events occur. They eliminate the need for your app to continuously poll the API by providing notifications about changes. When set up, webhooks send either all or selected events to an HTTP endpoint in the form of a JSON payload. The general format of a message is as follows: