Aller au contenu

Ekit Public API — v1

The Ekit Public API provides secure, read-only access to your project data.

It is designed for: - Headless usage - SSR frameworks (Next.js, Astro, Nuxt, etc.) - Multilingual content - High-performance pagination - Developer-friendly integration


API Token Management

Each project has its own dedicated API token, used to authenticate and secure API requests.

The API token can be generated only after the project has been saved. Once the project is created and stored, you will be able to generate (or regenerate) its token from this section.

⚠️ The API token is strictly bound to the current project and must not be shared or reused across multiple projects.


API Data Access Helpers

For each table and for every individual record, a moustache button ({ }) is available.

This button allows you to preview the correct API endpoint and syntax required to access the corresponding data via the API.

It helps ensure you are using the proper path and format when integrating the data into your templates or external applications.


Base URL

https://api.ekit.app/api/v1

Authentication

All requests require a Bearer token.

Authorization: Bearer YOUR_API_TOKEN
  • Tokens are project-scoped
  • Tokens are read-only
  • Tokens can be regenerated at any time
  • Tokens are only shown once when created

Health Check

GET /health

{
  "status": "ok"
}

List rows from a table

GET /tables/:tableSlug

Query Parameters

Name Type Description
lang string Language code (fallbacks to project default)
size number Number of items (default: 50, max: 200)
cursor string Cursor for pagination (ObjectId)
sort JSON Sorting rules
filter JSON Filtering rules

Example

curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://api.ekit.app/api/v1/tables/blog-posts?lang=en&size=20"

Response

{
  "items": [
    {
      "uid": "696b3e9ca32ddc00adc58d3d",
      "lang": "en",
      "content": {
        "title": "Hello world",
        "description": "My first post"
      },
      "meta": {
        "dateCreation": "2026-01-17T07:47:40.873Z",
        "dateModif": "2026-01-17T07:47:40.873Z"
      }
    }
  ],
  "nextCursor": "696b3e9ca32ddc00adc58d3d",
  "hasMore": true
}

Get a single row

GET /tables/:tableSlug/:uid

curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://api.ekit.app/api/v1/tables/blog-posts/696b3e9ca32ddc00adc58d3d"

Filtering

[
  { "field": "title", "op": "contains", "value": "hello" }
]

Supported operators: - contains - eq - gt - lt


Sorting

[
  { "field": "title", "dir": "asc" }
]

Pagination

Cursor-based pagination using Mongo ObjectId.


Errors

401 – Unauthorized
403 – Forbidden
404 – Not found
429 – Rate limit
500 – Server error