Skip to content

API overview

The Nyuchi API is a single versioned HTTP gateway. Every endpoint lives under a /v1/<product>/* namespace backed by its own product database, so you can scale, isolate, and meter each product independently while keeping one base URL and one set of credentials.

EnvironmentURL
Productionhttps://api.nyuchi.com
Legacy hosthttps://api.mukoko.com

Each namespace is backed by its own database. Endpoints in a namespace return 503 Service Unavailable when the underlying database is not configured for the current deployment, so you can detect availability with a single health check.

NamespacePurpose
/v1/auth, /v1/identitySign-in, session, and person records
/v1/family, /v1/organizationHousehold and org membership
/v1/places, /v1/events, /v1/directoryLocations, calendar, and listings
/v1/content, /v1/media, /v1/searchArticles, uploads, and search
/v1/travel, /v1/applications, /v1/ubuntuTravel bookings, applications, community
/v1/pipeline, /v1/dashboard, /v1/api-keysInternal tooling, dashboards, developer keys
/v1/commerceProducts, offers, reviews, and inquiries
/v1/pay/wallet, /v1/pay/tokens, /v1/pay/gatewayWallets, tokens, and gateway transactions
/v1/logisticsBooking drafts and shipments
/v1/lingoTranslation and language tooling
/v1/newsNews articles and feeds
/v1/weatherWeather forecasts (reserved)

Every authenticated request must send a platform JWT in the Authorization header:

Terminal window
curl https://api.nyuchi.com/v1/auth/me \
-H "Authorization: Bearer $ACCESS_TOKEN"

All user authentication is handled by WorkOS AuthKit: the JWT is minted by /v1/auth/workos/* after AuthKit sign-in. See Authentication for the full flow.

For programmatic and server-to-server access, use an API key instead—a client ID and secret pairing created and managed in the console. See API keys.

Some namespaces are gated by an additional shared secret:

  • /v1/admin/* and /v1/pay/* require an X-Internal-Key header that matches the backend’s INTERNAL_API_KEY. These endpoints are intended for first-party staff tooling and never reach the public browser. If you need a customer-facing wallet or admin surface, call the console’s same-origin proxy routes instead—they inject the key on the server side.

A 503 response from a product namespace means the database for that product is not configured in the current environment. The error body has a stable shape so you can branch on it without parsing prose:

{
"detail": "commerce database is not configured"
}

Treat 503 as “feature flag off” rather than as a transient outage—retrying will not help until the operator wires up the database.

GET / returns a manifest of every configured product database, the API version, and the public release name (Nyuchi API, currently v4.1.0). Use it as a lightweight readiness probe and as a way to discover which namespaces are live in the environment you are targeting.