Policies & Reference

API Documentation

Public API, discovery endpoints, and agent access notes for Dzaleka Online Services

Dzaleka Online Services API

The public API exposes published collections, search, feeds, and selected action endpoints from Dzaleka Online Services.

Use this page when you need the stable routes and request patterns. Use the live reference at API Docs when you want the browsable endpoint list.

Base URLs

  • Site: https://services.dzaleka.com
  • API base: https://services.dzaleka.com/api
  • OpenAPI: https://services.dzaleka.com/api/openapi.json
  • API catalog: https://services.dzaleka.com/.well-known/api-catalog
  • Status: https://services.dzaleka.com/api/status

Authentication and limits

  • Read access is public.
  • Collection and search endpoints are rate limited to 60 requests per minute per IP.
  • Most responses are JSON.
  • GET /api/rss returns XML.

Collection endpoints

The collection routes all follow the same basic pattern:

  • GET returns published records
  • POST returns the same records and can include export-style metadata flags
  • OPTIONS is available for CORS preflight

Main collection routes:

  • /api/services
  • /api/resources
  • /api/events
  • /api/photos
  • /api/jobs
  • /api/news
  • /api/courses
  • /api/community-voices
  • /api/profiles
  • /api/talents
  • /api/marketplace
  • /api/stores
  • /api/rights
  • /api/artists
  • /api/artworks
  • /api/poets
  • /api/dancers
  • /api/docs
  • /api/pages

/api/pages returns published markdown reference pages that are served through the site’s catch-all page route.

Example

curl "https://services.dzaleka.com/api/services"

Response shape

{
  "status": "success",
  "count": 1,
  "data": {
    "services": [
      {
        "id": "sample-service",
        "collection": "services",
        "title": "Sample service"
      }
    ]
  }
}

Search and feeds

GET /api/search

Query parameters:

  • q required search query, minimum 2 characters
  • collections optional comma-separated list such as services,resources,docs
  • limit optional results per collection, default 10

Example:

curl "https://services.dzaleka.com/api/search?q=education&collections=services,docs&limit=5"

Search index

GET /api/search-index.json

Use this when you need the flat public search index instead of grouped search results.

RSS

GET /api/rss

Returns the public news feed in XML.

Data snapshot endpoints

These routes power public dashboards and utility pages:

  • /api/alerts
  • /api/population
  • /api/finance
  • /api/weather
  • /api/weather-alerts
  • /api/geolocation
  • /api/charts
  • /api/analytics/pageviews

Notes:

  • /api/weather falls back to seasonal data when the upstream weather source fails.
  • /api/geolocation returns coarse same-origin geolocation data or an unavailable response when the upstream lookup is blocked.

Action endpoints

  • GET /api/export describes supported export options
  • POST /api/export exports multiple collections in one response

Example:

curl -X POST "https://services.dzaleka.com/api/export" \
  -H "Content-Type: application/json" \
  -d '{
    "collections": ["services", "resources", "events"],
    "options": {
      "includeMetadata": true,
      "includeStats": true
    }
  }'

Other public action routes:

  • POST /api/match-category
  • POST /api/submit-voice
  • POST /api/send-booking-confirmation

These expect JSON request bodies and are tied to specific public workflows.

Discovery and agents

For automated API discovery, use:

  • /.well-known/api-catalog
  • /api/openapi.json
  • /api/status

HTML pages also include Link response headers pointing to the catalog, OpenAPI document, docs page, and status endpoint.

Agents can also request markdown responses from HTML pages by sending:

Accept: text/markdown

The browser default remains HTML.

On supported browsers, the site also exposes read-only WebMCP tools for search, services search, weather summary, urgent help contacts, language support routes, and newcomer first steps.

Related guides

Need help?

If the guide does not answer your question, use the support or contact pages for follow-up help.