Authentication

The API uses HTTP Basic authentication on all /v1 routes.

Request flow

sequenceDiagram
    autonumber
    participant App as Your app
    participant API as Meefi API

    App->>+API: GET /v1/entities
Authorization: Basic base64(email:password) alt Valid credentials API->>API: Resolve organization scope API-->>-App: 200 OK + JSON body else Missing header API-->>App: 401 Missing Authorization header else Wrong credentials API-->>App: 401 Invalid credentials end

Every authenticated request is scoped to a single organization. Cross-tenant access is not possible with valid credentials.

Credentials

Basic auth field Value
Username Organization user email
Password User account password

On success, every request is scoped to your organization. Entities, invoices, extractions, and webhooks from other organizations are not accessible.

Example

curl -sS "$API_BASE/entities" \
  -u "[email protected]:secret-password"

Equivalent explicit header:

AUTH=$(printf '%s' '[email protected]:secret-password' | base64)
curl -sS "$API_BASE/entities" \
  -H "Authorization: Basic $AUTH"

Responses

Status Body Cause
401 Missing Authorization header... No Authorization header or not Basic
401 Invalid credentials Wrong email or password

Interactive API docs

The OpenAPI reference at /docs/api supports Basic auth in the Try it panel.

Developer guides at /docs are public. Only /v1 endpoints require authentication.