Skip to main content

universal API for JIMS application

Project description

jims-api

jims-api exposes any JIMS application as a FastAPI HTTP service.

Run

jims-api --app my_project.app:app --port 8080

Environment variables:

  • JIMS_APP - JIMS app import path (module:attr)
  • JIMS_PORT - HTTP port
  • JIMS_HOST - HTTP host
  • JIMS_API_KEY - optional static bearer token for auth
  • JIMS_AUTHENTIK_URL - Authentik instance base URL (e.g. https://authentik.epoch8.dev)
  • JIMS_AUTHENTIK_APP_SLUG - Authentik application slug to check access against

Authentication

Auth is checked in the following order:

  1. If JIMS_API_KEY is set and the provided bearer token matches — allow
  2. If JIMS_AUTHENTIK_URL and JIMS_AUTHENTIK_APP_SLUG are set — validate the bearer token against Authentik's /api/v3/core/applications/{slug}/check_access/ endpoint. If 200 — allow
  3. If no auth is configured (neither static key nor Authentik) — open access
  4. Otherwise — 401 Unauthorized

Send the token as Authorization: Bearer <token>.

Endpoints

  • GET /healthz
  • POST /api/v1/chat

POST /api/v1/chat

Request:

{
  "contact_id": "customer:42",
  "message": "Hello",
  "thread_id": null,
  "thread_config": {"interface": "api"},
  "event_type": "comm.user_message",
  "run_conversation_start_on_new_thread": false
}

Response:

{
  "thread_id": "0194f0f3-d88d-7cca-8f37-ff44f911f539",
  "created_new_thread": true,
  "assistant_messages": ["Hi! How can I help?"],
  "events": [
    {
      "event_type": "comm.assistant_message",
      "event_data": {"role": "assistant", "content": "Hi! How can I help?"}
    }
  ]
}

Send the API token as Authorization: Bearer <token> (see Authentication above).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jims_api-0.5.3.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jims_api-0.5.3-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file jims_api-0.5.3.tar.gz.

File metadata

  • Download URL: jims_api-0.5.3.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jims_api-0.5.3.tar.gz
Algorithm Hash digest
SHA256 3baf09e9370f939183c9800575939d1f4e7a23c1931818831bf085951d6ff2ce
MD5 07a20046f2dacb9bf7f5eff3ce573c39
BLAKE2b-256 3aa5b6c1b172f7414df233d8a2bcecff1dfe3dd9c967f11b1ef9b56d8bb150c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for jims_api-0.5.3.tar.gz:

Publisher: publish-jims-api.yml on epoch8/vedana

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jims_api-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: jims_api-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jims_api-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 003b484cd5b4be46d5e0b48a72dbaee06daeaf901cfdbb1f85f83ec230a657bc
MD5 b3effd8f3543efdb7cfec2f5bed8eab7
BLAKE2b-256 9acf091a967e97df6bb321c5ec96b8f1fe218f973be3e0bf8833c5c43559ddee

See more details on using hashes here.

Provenance

The following attestation bundles were made for jims_api-0.5.3-py3-none-any.whl:

Publisher: publish-jims-api.yml on epoch8/vedana

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page