Cosmonic Template Catalog API

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

Operations 7

GET /error GET /error #
POST /form POST /form #
GET /headers GET /headers #
DELETE /myfile.txt DELETE /myfile.txt #
GET /myfile.txt GET /myfile.txt #
POST /myfile.txt Blobstore Fileserver (NATS) #
POST /post POST /post #

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/cosmonic:template-catalog-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

cosmonic-template-catalog-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Cosmonic Template Catalog API
  version: '2026-10-11'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-11: 7 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; Cosmonic has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 13
    documentation: 0
    pages-with-code: 13
    pages-read: 13
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-11'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://cosmonic.com/docs/template-catalog/blobstore-fileserver-nats
  - https://cosmonic.com/docs/template-catalog/http-server
  x-docs-section: template-catalog
servers:
- url: https://raw.githubusercontent.com
paths:
  /error:
    get:
      operationId: get_error
      tags:
      - Error
      summary: GET /error
      x-source: https://cosmonic.com/docs/template-catalog/http-server
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -v http://http-server.localhost.cosmonic.sh/error \n < HTTP/1.1 500 Internal Server Error \n < content-type: text/plain;\
          \ charset=utf-8 \n < \n Something went wrong \n GET /headers \n Returns your User-Agent in the response headers. "
  /form:
    post:
      operationId: post_form
      tags:
      - Form
      summary: POST /form
      x-source: https://cosmonic.com/docs/template-catalog/http-server
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST -d \"field1=value1&field2=value2\" http://http-server.localhost.cosmonic.sh/form \n field2: value2 \n field1: value1\
          \ \n POST /post \n Echoes back the entire body of a POST request. "
  /headers:
    get:
      operationId: get_headers
      tags:
      - Headers
      summary: GET /headers
      x-source: https://cosmonic.com/docs/template-catalog/http-server
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -v http://http-server.localhost.cosmonic.sh/headers \n < HTTP/1.1 200 OK \n < x-your-user-agent: curl/8.7.1 \n < \n Check\
          \ headers! \n POST /form \n Echoes back form data from a POST request. "
  /myfile.txt:
    delete:
      operationId: delete_myfile_txt
      tags:
      - Myfile
      summary: DELETE /myfile.txt
      x-source: https://cosmonic.com/docs/template-catalog/blobstore-fileserver-nats
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X DELETE -v 'http://blobby.localhost.cosmonic.sh/myfile.txt' \n * Host blobby.localhost.cosmonic.sh:80 was resolved. \n\
          \ * IPv6: (none) \n * IPv4: 127.0.0.1 \n * Trying 127.0.0.1:80... \n * Connected to blobby.localhost.cosmonic.sh (127.0.0.1) port 80\
          \ \n > DELETE /myfile.txt HTTP/1.1 \n > Host: blobby.localhost.cosmonic.sh \n > User-Agent: curl/8.7.1 \n > Accept: */* \n > \n * Request\
          \ completely sent of"
    get:
      operationId: get_myfile_txt
      tags:
      - Myfile
      summary: GET /myfile.txt
      x-source: https://cosmonic.com/docs/template-catalog/blobstore-fileserver-nats
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H 'Content-Type: text/plain' -v 'http://blobby.localhost.cosmonic.sh/myfile.txt' --data-binary @myfile.txt \n * Host blobby.localhost.cosmonic.sh:80\
          \ was resolved. \n * IPv6: (none) \n * IPv4: 127.0.0.1 \n * Trying 127.0.0.1:80... \n * Connected to blobby.localhost.cosmonic.sh (127.0.0.1)\
          \ port 80 \n > POST /myfile.txt HTTP/1.1 \n > Host: blobby.localhost.cosmonic.sh \n > User-Agent: curl/8.7.1 \n > Ac"
    post:
      operationId: post_myfile_txt
      tags:
      - Myfile
      summary: Blobstore Fileserver (NATS)
      description: Upload or update a file to the blobstore fileserver.
      x-source: https://cosmonic.com/docs/template-catalog/blobstore-fileserver-nats
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostMyfileTxtRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostMyfileTxtResponse'
      x-evidence:
        kind: documentation
  /post:
    post:
      operationId: post_post
      tags:
      - Post
      summary: POST /post
      x-source: https://cosmonic.com/docs/template-catalog/http-server
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST -d \"Hello World\" http://http-server.localhost.cosmonic.sh/post \n Hello World \n Development ​ \n Development\
          \ requirements: \n tinygo for compiling Go \n wasm-tools for Go bindings \n wash v2.0.4 for building the component \n Clone the cosmonic-labs/control-demos\
          \ repository: \n git clone https://github.com/cosmonic-labs/control-demos.git \n cd control-demos/http-server \n Start the development "
components:
  schemas:
    PostMyfileTxtRequest:
      type: object
      properties:
        body:
          type: string
          description: File content (text/plain)
      required:
      - body
    PostMyfileTxtResponse:
      type: object
      properties:
        status:
          type: integer
          description: 201 Created on successful upload
tags:
- name: Error
- name: Form
- name: Headers
- name: Myfile
- name: Post