Gemot Export API

The Export API from Gemot — 1 operation(s) for export.

GitHub OpenAPI

Operations 1

GET /export Export a deliberation as CSV #

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/gemot-dev:gemot-dev-export-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

gemot-dev-export-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gemot Export API
  version: 0.13.1
  description: 'Gemot exposes structured deliberation for AI agents as seven grouped tools (deliberation, participate, analyze, decide, coordinate, admin, account), reachable over MCP (Streamable HTTP at /mcp), A2A JSON-RPC 2.0 (/a2a), or the REST-ish endpoints documented here. Full tool/action reference: https://gemot.dev/docs (or https://gemot.dev/docs with `Accept: text/markdown`).


    **Versioning policy** (formalized in `x-versioning-policy` below, not just here): every response carries a `Gemot-Version` header (date-stamped, e.g. `2026-08-25`) identifying the API contract version — independent of the `info.version` software release above, which bumps on every deploy without necessarily changing the API. There is no URL-path version (/v1/, /v2/): existing endpoints and MCP configs keep working across software releases. A breaking change to a documented endpoint is announced in CHANGELOG.md and the old shape stays live for at least 90 days; during that window the deprecated response carries `Deprecation: true` and a `Sunset` header (RFC 8594) naming the removal date.'
  contact:
    name: Gemot support
    email: justin@gemot.dev
    url: https://gemot.dev/contact
  license:
    name: Apache-2.0
    url: https://github.com/justinstimatze/gemot/blob/main/LICENSE
  termsOfService: https://gemot.dev/terms
servers:
- url: https://gemot.dev
  description: Hosted production
security:
- bearerAuth: []
- oauth2ClientCredentials: []
- {}
tags:
- name: Export
paths:
  /export:
    get:
      operationId: exportDeliberationCsv
      summary: Export a deliberation as CSV
      description: Talk to the City-compatible CSV export of a deliberation's positions and vote counts.
      parameters:
      - $ref: '#/components/parameters/DeliberationId'
      responses:
        '200':
          description: CSV file.
          headers:
            Gemot-Version:
              $ref: '#/components/headers/GemotVersion'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
          content:
            text/csv:
              schema:
                type: string
        '400':
          description: Missing deliberation_id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Access denied (private deliberation).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Deliberation not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Rate limited.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      tags:
      - Export
components:
  parameters:
    DeliberationId:
      name: deliberation_id
      in: query
      required: true
      schema:
        type: string
        format: uuid
      description: The target deliberation's ID.
  headers:
    RateLimitRemaining:
      description: Requests remaining in the current window.
      schema:
        type: integer
    GemotVersion:
      description: The API contract version (date-stamped, e.g. 2026-08-25), sent on every response. See x-versioning-policy and info.description.
      schema:
        type: string
        example: '2026-08-25'
  schemas:
    ApiError:
      type: object
      description: Structured JSON error body returned by every API endpoint on failure.
      properties:
        error:
          type: string
          description: Human-readable error message.
        code:
          type: string
          description: Stable machine-readable error code, e.g. rate_limited, invalid_api_key, not_found.
        hint:
          type: string
          description: What to do next to resolve the error.
      required:
      - error
      - code
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: gmt_<key>
      description: 'API key issued at /pricing (Stripe checkout) or via /oauth/token. Free sandbox tier does not require a key: 20 paid-action calls per day per source IP.'
    oauth2ClientCredentials:
      type: oauth2
      description: 'Client-credentials facade over the same API key: the key IS the client_secret. See /.well-known/oauth-authorization-server.'
      flows:
        clientCredentials:
          tokenUrl: https://gemot.dev/oauth/token
          scopes:
            deliberate: Full access to all seven grouped tools, scoped to the underlying API key's own permissions and credit balance.
externalDocs:
  description: Full tool reference and deliberation flow
  url: https://gemot.dev/docs
x-versioning-policy:
  strategy: header
  header: Gemot-Version
  current: '2026-08-25'
  format: date (YYYY-MM-DD)
  url_path_versioning: false
  url_path_versioning_reason: would break every already-deployed MCP config pointed at /mcp
  software_version_is_independent: info.version above tracks the software release and bumps on every deploy; x-versioning-policy.current only advances when a documented endpoint's request/response shape changes.
  deprecation_signal:
    headers:
    - Deprecation
    - Sunset
    sunset_header_format: RFC 8594 (HTTP-date)
    minimum_notice_days: 90
    announced_in: https://github.com/justinstimatze/gemot/blob/main/CHANGELOG.md