ELAV8.ai Discovery API

Agent and developer discovery files

GitHub OpenAPI

Operations 5

GET /api/health Liveness and database ping #
GET /api/elav8/branding Public FALA branding from Paga #
GET /openapi.json This OpenAPI document #
GET /llms.txt llms.txt agent index #
GET /.well-known/api-catalog RFC 9727 API catalog #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elav8-ai:elav8-ai-discovery-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elav8-ai-discovery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FALA by Elav8 public Discovery API
  version: 1.0.0
  description: 'Public, unauthenticated FALA (Elevate Follow-Up by Elav8) surface: widget runtime, health, branding, and agent discovery. Dashboard, admin, billing mutation, and Shopify-internal routes are not part of this specification.


    Errors: every 4xx/5xx body is the `Error` object (`detail` is a human-readable message, or a list of field errors on 422). Rate-limited requests answer 429 with a `Retry-After` header in seconds.


    Versioning: this is version 1 of the public API. Changes within 1.x are additive only — new operations, optional fields, new enum values — because embed snippets already on customer sites call these routes. A breaking change ships as a new major version alongside the old one; an operation scheduled for removal is marked `deprecated: true` here and answers with `Deprecation` and `Sunset` headers at least 90 days before it is removed.'
  contact:
    name: FALA by Elav8
    url: https://fala.elav8.ai/developers
  x-api-versioning:
    strategy: major-version
    current: '1'
    deprecation: 'deprecated: true + Deprecation/Sunset headers, at least 90 days notice'
    header: API-Version
    request-header: API-Version
    sunset-header: Sunset
    deprecation-header: Deprecation
  x-rate-limits:
    headers:
    - RateLimit-Policy
    - RateLimit
    - RateLimit-Limit
    - RateLimit-Remaining
    - RateLimit-Reset
    on-429: Retry-After (seconds)
servers:
- url: https://fala.elav8.ai
  description: Production
tags:
- name: Discovery
  description: Agent and developer discovery files
paths:
  /api/health:
    get:
      tags:
      - Discovery
      operationId: getHealth
      summary: Liveness and database ping
      responses:
        '200':
          description: Service is up
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Health'
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
        '503':
          description: A dependency (the database) is not answering; retry with backoff
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited
          headers:
            Retry-After:
              description: Seconds until the client may retry
              schema:
                type: integer
                minimum: 1
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: The API-Version request header names a version this server does not support
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
  /api/elav8/branding:
    get:
      tags:
      - Discovery
      operationId: getElav8Branding
      summary: Public FALA branding from Paga
      description: Unauthenticated theme payload (or empty object when billing is unconfigured).
      responses:
        '200':
          description: Branding object or {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Branding'
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
        '429':
          description: Rate limited
          headers:
            Retry-After:
              description: Seconds until the client may retry
              schema:
                type: integer
                minimum: 1
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: The API-Version request header names a version this server does not support
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
  /openapi.json:
    get:
      tags:
      - Discovery
      operationId: getOpenApi
      summary: This OpenAPI document
      responses:
        '200':
          description: OpenAPI 3.1 document
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApiDocument'
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
        '429':
          description: Rate limited
          headers:
            Retry-After:
              description: Seconds until the client may retry
              schema:
                type: integer
                minimum: 1
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: The API-Version request header names a version this server does not support
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
  /llms.txt:
    get:
      tags:
      - Discovery
      operationId: getLlmsTxt
      summary: llms.txt agent index
      responses:
        '200':
          description: Markdown index
          content:
            text/markdown:
              schema:
                type: string
                contentMediaType: text/markdown
                description: 'The llms.txt index: an H1, a summary blockquote and sections of links.'
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
        '429':
          description: Rate limited
          headers:
            Retry-After:
              description: Seconds until the client may retry
              schema:
                type: integer
                minimum: 1
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: The API-Version request header names a version this server does not support
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
  /.well-known/api-catalog:
    get:
      tags:
      - Discovery
      operationId: getApiCatalog
      summary: RFC 9727 API catalog
      responses:
        '200':
          description: Linkset catalog
          content:
            application/linkset+json:
              schema:
                $ref: '#/components/schemas/ApiCatalog'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiCatalog'
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
        '429':
          description: Rate limited
          headers:
            Retry-After:
              description: Seconds until the client may retry
              schema:
                type: integer
                minimum: 1
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit:
              $ref: '#/components/headers/RateLimit'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected server error; safe to retry with backoff
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: The API-Version request header names a version this server does not support
          headers:
            API-Version:
              $ref: '#/components/headers/API-Version'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
components:
  headers:
    RateLimit-Policy:
      description: 'IETF RateLimit-Policy: "<bucket>";q=<requests>;w=<window seconds>.'
      schema:
        type: string
    API-Version:
      description: Major version of the public API that answered (see the versioning policy).
      schema:
        type: string
        enum:
        - '1'
    RateLimit:
      description: 'IETF RateLimit: "<bucket>";r=<remaining>;t=<seconds until reset>.'
      schema:
        type: string
    RateLimit-Reset:
      description: Seconds until the window resets.
      schema:
        type: integer
    Sunset:
      description: 'RFC 8594: the HTTP-date after which a deprecated operation is removed.'
      schema:
        type: string
    Deprecation:
      description: 'RFC 9745: present on an operation scheduled for removal.'
      schema:
        type: string
    RateLimit-Remaining:
      description: Requests left in this window.
      schema:
        type: integer
    RateLimit-Limit:
      description: Requests allowed per window.
      schema:
        type: integer
  schemas:
    Branding:
      type: object
      description: Display name, logo, support email and legal links; {} when unconfigured
      additionalProperties: true
      properties:
        display_name:
          type: string
        logo_url:
          type: string
        support_email:
          type: string
    Health:
      type: object
      required:
      - ok
      - db
      properties:
        ok:
          type: boolean
          description: The API process is serving.
        db:
          type: boolean
          description: The database answered a ping.
    OpenApiDocument:
      type: object
      description: An OpenAPI 3.1 document (this one).
      required:
      - openapi
      - info
      - paths
      properties:
        openapi:
          type: string
        info:
          type: object
          additionalProperties: true
        paths:
          type: object
          additionalProperties: true
        components:
          type: object
          additionalProperties: true
    Error:
      type: object
      required:
      - detail
      properties:
        detail:
          description: Human-readable message, or a list of field errors (422)
          oneOf:
          - type: string
          - type: array
            items:
              type: object
              properties:
                loc:
                  type: array
                  items:
                    type:
                    - string
                    - integer
                msg:
                  type: string
                type:
                  type: string
    ApiCatalog:
      type: object
      description: 'RFC 9727 linkset: the APIs this host publishes and their descriptions.'
      required:
      - linkset
      properties:
        linkset:
          type: array
          items:
            type: object
            additionalProperties: true
            required:
            - anchor
            properties:
              anchor:
                type: string
                format: uri
  parameters:
    ApiVersion:
      name: API-Version
      in: header
      required: false
      description: Major version of the public API the client expects. Omit for the current version; any unsupported value answers 400.
      schema:
        type: string
        enum:
        - '1'