Kamaan API

Kamaan API as documented publicly: 10 operations. Contract generated from the documentation by API Evangelist (2026-11-13); not the provider's own document.

GitHub OpenAPI

Operations 10

GET /api/sites/acme/articles One GET request returns published articles in any locale. #
GET /api/v1/REST GET /api/v1/REST #
GET /api/v1/sites/${SITE_ID}/articles GET /api/v1/sites/${SITE_ID}/articles #
GET /api/v1/sites/${process.env.KAMAAN_SITE_ID}/articles/by-slug/${slug} GET /api/v1/sites/${process.env.KAMAAN_SITE_ID}/articles/by-slug/${slug} #
GET /api/v1/sites/List the sites your key can access. #
GET /api/v1/sites/{siteId}/Details for one site (languages, default language, domain). #
GET /api/v1/sites/{siteId}/articles/List published articles for a site. #
GET /api/v1/sites/{siteId}/articles/by-slug/{slug}/Fetch a single article by its slug. #
GET /api/v1/sites/{siteId}/articles/{articleId}/Fetch a single article by id. #
GET /api/v1/sites/{siteId}/articles/{articleId}/translations/The the published translations of an article, plus a ready-to-use hreflang array. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kamaan-io:kamaan-io-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kamaan-io-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Kamaan API
  version: '2026-11-13'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-13: 10 operation(s) read from 2 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Kamaan has published no machine-readable contract that the pipeline
    could find. Engine: local.'
  x-evidence-tiers:
    code-example: 3
    documentation: 7
    pages-with-code: 1
    pages-read: 2
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-13'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://kamaan.io/docs
  - https://kamaan.io/features
paths:
  /api/sites/acme/articles:
    get:
      operationId: get_api_sites_acme_articles
      tags:
      - Api
      summary: One GET request returns published articles in any locale.
      x-source: https://kamaan.io/features
      parameters:
      - name: locale
        in: query
        required: false
        schema:
          type: string
      - name: status
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/REST:
    get:
      operationId: get_api_v1_REST
      tags:
      - Api
      summary: GET /api/v1/REST
      x-source: https://kamaan.io/docs
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl https://kamaan.io/api/v1/REST API All responses are JSON wrapped in an envelope: success responses include "success": true
          , errors return { "success": false, "error": { "code", "message" } } . Only published articles are ever returned. GET /api/v1/sites/List
          the sites your key can access. Returns { success, sites: [...] } . GET /api/v1/sites/{site_id}/Details for one site (languages, default'
  /api/v1/sites/${SITE_ID}/articles:
    get:
      operationId: get_api_v1_sites_SITE_ID_articles
      tags:
      - Api
      summary: GET /api/v1/sites/${SITE_ID}/articles
      x-source: https://kamaan.io/docs
      parameters:
      - name: SITE_ID
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: string
      - name: parent_only
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: javascript
        snippet: "fetch(\n `https://kamaan.io/api/v1/sites/${SITE_ID}/articles/?parent_only=true&limit=20`,\n {\n headers: { Authorization: `Bearer\
          \ ${KAMAAN_KEY}` },\n next: { revalidate: 300 }, //cache 5 min\n }\n )"
  /api/v1/sites/${process.env.KAMAAN_SITE_ID}/articles/by-slug/${slug}:
    get:
      operationId: get_api_v1_sites_process_env_KAMAAN_SITE_ID_articles_by_slug_slug
      tags:
      - Api
      summary: GET /api/v1/sites/${process.env.KAMAAN_SITE_ID}/articles/by-slug/${slug}
      x-source: https://kamaan.io/docs
      parameters:
      - name: process.env.KAMAAN_SITE_ID
        in: path
        required: true
        schema:
          type: string
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: javascript
        snippet: "fetch(\n `https://kamaan.io/api/v1/sites/${process.env.KAMAAN_SITE_ID}/articles/by-slug/${slug}/`,\n { headers: { Authorization:\
          \ `Bearer ${process.env.KAMAAN_API_KEY}` } }\n )"
  /api/v1/sites/List:
    get:
      operationId: get_api_v1_sites_List
      tags:
      - Api
      summary: the sites your key can access.
      description: 'Returns { success, sites: [...] }.'
      x-source: https://kamaan.io/docs
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1SitesListResponse'
      x-evidence:
        kind: documentation
  /api/v1/sites/{siteId}/Details:
    get:
      operationId: get_api_v1_sites_siteId_Details
      tags:
      - Api
      summary: for one site (languages, default language, domain).
      description: GET /api/v1/sites/{site_id}/Details for one site (languages, default language, domain).
      x-source: https://kamaan.io/docs
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1SitesSiteidDetailsResponse'
      x-evidence:
        kind: documentation
  /api/v1/sites/{siteId}/articles/List:
    get:
      operationId: get_api_v1_sites_siteId_articles_List
      tags:
      - Api
      summary: published articles for a site.
      description: GET /api/v1/sites/{site_id}/articles/List published articles for a site.
      x-source: https://kamaan.io/docs
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: language
        in: query
        required: false
        schema:
          type: string
      - name: parent_only
        in: query
        required: false
        schema:
          type: string
      - name: sort
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1SitesSiteidArticlesListResponse'
      x-evidence:
        kind: documentation
  /api/v1/sites/{siteId}/articles/by-slug/{slug}/Fetch:
    get:
      operationId: get_api_v1_sites_siteId_articles_by_slug_slug_Fetch
      tags:
      - Api
      summary: a single article by its slug.
      description: GET /api/v1/sites/{site_id}/articles/by-slug/{slug}/Fetch a single article by its slug.
      x-source: https://kamaan.io/docs
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: language
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1SitesSiteidArticlesBySlugSlugFetchResponse'
      x-evidence:
        kind: documentation
  /api/v1/sites/{siteId}/articles/{articleId}/Fetch:
    get:
      operationId: get_api_v1_sites_siteId_articles_articleId_Fetch
      tags:
      - Api
      summary: a single article by id.
      description: GET /api/v1/sites/{site_id}/articles/{article_id}/Fetch a single article by id.
      x-source: https://kamaan.io/docs
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: articleId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1SitesSiteidArticlesArticleidFetchResponse'
      x-evidence:
        kind: documentation
  /api/v1/sites/{siteId}/articles/{articleId}/translations/The:
    get:
      operationId: get_api_v1_sites_siteId_articles_articleId_translations_The
      tags:
      - Api
      summary: the published translations of an article, plus a ready-to-use hreflang array.
      description: GET /api/v1/sites/{site_id}/articles/{article_id}/translations/The published translations of an article, plus a ready-to-use
        hreflang array.
      x-source: https://kamaan.io/docs
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: articleId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1SitesSiteidArticlesArticleidTranslationsTheResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    GetApiV1SitesListResponse:
      type: object
      properties:
        success:
          type: boolean
        sites:
          type: array
    GetApiV1SitesSiteidDetailsResponse:
      type: object
      properties:
        success:
          type: boolean
        site:
          type: object
    GetApiV1SitesSiteidArticlesListResponse:
      type: object
      properties:
        success:
          type: boolean
        articles:
          type: array
        pagination:
          type: object
          description: total, limit, offset, has_more
    GetApiV1SitesSiteidArticlesBySlugSlugFetchResponse:
      type: object
      properties:
        success:
          type: boolean
        article:
          type: object
    GetApiV1SitesSiteidArticlesArticleidFetchResponse:
      type: object
      properties:
        success:
          type: boolean
        article:
          type: object
    GetApiV1SitesSiteidArticlesArticleidTranslationsTheResponse:
      type: object
      properties:
        success:
          type: boolean
        translations:
          type: object
        hreflang:
          type: array
tags:
- name: Api