Cosmoby Humanizing
API reference

Cosmo by Humanizing public content API

Five read-only GET endpoints returning the Cosmo product catalogue, pricing and company details as JSON. No authentication, no rate limit, CORS open, cached at the edge for five minutes.

Base URL and specification

Base URL https://cosmo.humanizing.com. The machine-readable description lives at /openapi.json (OpenAPI 3.1). Every operation there carries a unique operationId, a description, typed parameters and a response schema, so it converts directly into LLM function-calling tool definitions.

curl -s https://cosmo.humanizing.com/openapi.json | jq '.paths | keys'

Operations

OperationEndpointoperationId
Check API availabilityGET /api/v1/healthgetHealth
List Cosmo productsGET /api/v1/productslistProducts
Get one Cosmo productGET /api/v1/products/{productId}getProduct
List plans and add-onsGET /api/v1/pricinglistPricingPlans
Get company and contact detailsGET /api/v1/companygetCompanyProfile

GET /api/v1/health

Returns the service name, the API version and the current server time. Use it to confirm the API is reachable before issuing other calls.

Takes no parameters.

GET /api/v1/products

Lists every Cosmo product with its category, the channels it runs on and a link to its product page. Filter by category to narrow the result.

  • category (query, optional) — Return only products in this family.

GET /api/v1/products/{productId}

Returns a single product by its stable id. Ids are returned by listProducts and do not change.

  • productId (path, required) — Stable product identifier.

GET /api/v1/pricing

Returns every published Cosmo plan with list prices, included credits and headline features, plus the add-ons that can be combined with any plan. Prices are in EUR and exclude VAT.

  • interval (query, optional) — Return only the price for this billing interval. Omit to receive both.

GET /api/v1/company

Returns the registered company behind Cosmo: legal name, postal address, VAT id, commercial register entry, contact email and phone, official social profiles and the industries Cosmo publishes solution pages for.

Takes no parameters.

Examples

# List every product
curl -s https://cosmo.humanizing.com/api/v1/products

# One product by id
curl -s https://cosmo.humanizing.com/api/v1/products/voicebot

# Monthly plan prices only
curl -s "https://cosmo.humanizing.com/api/v1/pricing?interval=monthly"

# Registered company and contact details
curl -s https://cosmo.humanizing.com/api/v1/company

# Endpoint index
curl -s https://cosmo.humanizing.com/api/v1

Error format

Every non-2xx response uses one envelope. Branch on error.code, show error.message, and act on error.resolution.

{
  "error": {
    "code": "not_found",
    "status": 404,
    "message": "No Cosmo product with id 'chatbots'.",
    "resolution": "Call GET /api/v1/products to list valid ids (chatbot, voicebot, reception-kiosk).",
    "documentation_url": "https://cosmo.humanizing.com/developers/api"
  }
}
error.codeHTTP status
invalid_request400
unauthorized401
not_found404
method_not_allowed405
not_acceptable406
unsupported_media_type415
rate_limited429
internal_error500

A 405 always carries an Allow header. Unknown paths under /api/v1/ return the same JSON envelope rather than an HTML page.

curl -s https://cosmo.humanizing.com/api/v1/does-not-exist
curl -s -X POST https://cosmo.humanizing.com/api/v1/pricing

Using the spec for function calling

Each operation maps one-to-one onto a tool definition: operationId becomes the function name, description the function description, and the parameter schemas the argument schema. The same operations are already published as Model Context Protocol tools — see the Cosmo MCP server.

Cosmo by Humanizing API Reference — Endpoints, Schemas, Errors