MIVAA API

https://v1api.materialshub.gr

MIVAA is the platform's application backend — the Python service that does the heavy lifting behind the product: processing supplier PDFs into structured catalogues, running the multi-vector material search and RAG, and serving the partner tracking APIs (prices, brand mentions and jobs) that other projects integrate with. It's a documented REST API with a live OpenAPI spec.

Base URL & live documentation

WhatWhere
Base URLhttps://v1api.materialshub.gr
Swagger UI (interactive)https://v1api.materialshub.gr/docs — browse and try every endpoint in the browser.
ReDoc (reference)https://v1api.materialshub.gr/redoc — a clean, readable reference view.
OpenAPI spec (machine-readable)https://v1api.materialshub.gr/openapi.json — generate a client from it.

The spec is generated from the running service, so it's always current. Use the tag filters in Swagger to jump to a family of endpoints (e.g. Mention Tracking (Public API)).

Authentication

Which credential you use depends on who you are:

CredentialUsed byHow
Session JWTThe MaterialsHub app itself (a signed-in user).Authorization: Bearer <jwt>. Requests are bound to the caller's workspace.
Partner API key (kai_*)You, integrating from another product.Authorization: Bearer kai_.... Generate and test keys in Profile → Subscription → API Keys.
Platform key / cron secretInternal server-to-server & scheduled jobs.Not for third-party use.

Keys are workspace-scoped and metered. A kai_* key acts for the workspace that owns it, and billable operations debit credits from that owner's balance (each endpoint documents its cost). Deleting a key cascades — it also removes the tracked subjects created with it.

What's on the API

Calling it — a quick example

Every partner call is a normal HTTPS request with your key in the header:

StepWhat to do
1. Get a keyIn Profile → Subscription → API Keys, generate a kai_* key (shown masked afterwards — copy it once).
2. Send itAdd the header Authorization: Bearer kai_your_key to each request.
3. Find the endpointOpen /docs, filter by the tag you need, and use Try it out to see the exact request/response.
4. Watch the costMetered operations debit credits — check your balance in Credits.

Looking for something simpler? If you only need to publish your open roles, use the key-less Public Jobs API instead. For reading your own workspace records, the Supabase API is usually the shorter path.