Helipod Container API

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

GitHub OpenAPI

Operations 8

POST / POST / #
GET /api/containers/environments GET /api/containers/environments #
POST /api/containers/environments POST /api/containers/environments #
POST /api/containers/projects POST /api/containers/projects #
GET /api/containers/services GET /api/containers/services #
PATCH /api/containers/services PATCH /api/containers/services #
POST /api/containers/services POST /api/containers/services #
PUT /api/containers/services PUT /api/containers/services #

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/helipod-io:container-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

helipod-io-container-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Helipod Container API
  version: '2026-11-11'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-11: 8 operation(s) read from 7 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Helipod has published no machine-readable contract that the pipeline
    could find. Engine: anthropic.'
  x-evidence-tiers:
    code-example: 37
    documentation: 0
    pages-with-code: 38
    pages-read: 40
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-11'
  x-generator: generate-contract-from-docs.py
  x-engine: anthropic
  x-sources:
  - https://docs.helipod.io/docs/container-api/domains
  - https://docs.helipod.io/docs/container-api/functions
  - https://docs.helipod.io/docs/container-api/logs-and-metrics
  - https://docs.helipod.io/docs/container-api/projects
  - https://docs.helipod.io/docs/container-api/quickstart
  - https://docs.helipod.io/docs/container-api/scale
  - https://docs.helipod.io/docs/container-api/services
  x-docs-section: container-api
servers:
- url: https://api.helipod.io
paths:
  /:
    post:
      operationId: post
      tags:
      - Api
      summary: POST /
      x-source: https://docs.helipod.io/docs/container-api/quickstart
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl $API /projects -H \"Authorization: Bearer $HELIPOD_KEY \" Copy Text { \n \"success\" : true , \n \"data\" : [ \n { \n \"\
          id\" : \"3b0cd5ac-ac26-4012-9b28-17466f73788c\" , \n \"name\" : \"My Shop\" , \n \"description\" : null , \n \"createdAt\" : \"2026-09-01T08:00:00.000Z\"\
          \ , \n \"environments\" : [ \n { \"id\" : \"e1d4a0f2-6c11-4a9e-8a0e-5f2b7d1c9a33\" , \"name\" : \"production\" } \n ] \n } \n ] \n }\
          \ Copy Text export ENV = e1d4a0f2-6"
  /api/containers/environments:
    get:
      operationId: get_api_containers_environments
      tags:
      - Api
      summary: GET /api/containers/environments
      x-source: https://docs.helipod.io/docs/container-api/services
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiContainersEnvironmentsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.helipod.io/api/containers/environments/ $ENV /services  -H \"Authorization: Bearer hel_your_key\" \n Create\
          \ a service Copy Anchor Link \n POST /containers/environments/{environmentId}/services charges your wallet dryRun Idempotency-Key Creates\
          \ the service and, unless deploy is false , starts its first deploy. \n Prop Type name string source object ports ? array variables\
          \ ? Record<strin"
    post:
      operationId: post_api_containers_environments
      tags:
      - Api
      summary: POST /api/containers/environments
      x-source: https://docs.helipod.io/docs/container-api/services
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiContainersEnvironmentsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiContainersEnvironmentsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl JavaScript Copy Text curl -X POST https://api.helipod.io/api/containers/environments/ $ENV /services  -H \"Authorization:\
          \ Bearer hel_your_key\"  -H \"Content-Type: application/json\"  -H \"Idempotency-Key: create-api-001\"  -d '{ \n \"name\": \"api\",\
          \ \n \"source\": { \"image\": \"ghcr.io/acme/api:2.0.0\" }, \n \"ports\": [{ \"port\": 3000 }], \n \"variables\": { \"NODE_ENV\": \"\
          production\", \"DATABASE_URL\": \"${{Postgres."
  /api/containers/projects:
    post:
      operationId: post_api_containers_projects
      tags:
      - Api
      summary: POST /api/containers/projects
      x-source: https://docs.helipod.io/docs/container-api/projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiContainersProjectsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.helipod.io/api/containers/projects  -H \"Authorization: Bearer hel_your_key\" \n Copy Text { \n \"success\"\
          \ : true , \n \"data\" : [ \n { \n \"id\" : \"3b0cd5ac-ac26-4012-9b28-17466f73788c\" , \n \"name\" : \"My Shop\" , \n \"description\"\
          \ : \"Online store\" , \n \"createdAt\" : \"2026-09-01T08:00:00.000Z\" , \n \"environments\" : [ \n { \"id\" : \"e1d4a0f2-6c11-4a9e-8a0e-5f2b7d1c9a33\"\
          \ , \"name\" : \"production\" }, \n { "
  /api/containers/services:
    get:
      operationId: get_api_containers_services
      tags:
      - Api
      summary: GET /api/containers/services
      x-source: https://docs.helipod.io/docs/container-api/logs-and-metrics
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://api.helipod.io/api/containers/services/ $SERVICE /logs?since=30m&filter=error&limit=100\"  -H \"Authorization:\
          \ Bearer hel_your_key\" \n Copy Text { \n \"success\" : true , \n \"data\" : [ \n { \"time\" : \"2026-10-16T09:31:12.481Z\" , \"replica\"\
          \ : 1 , \"stream\" : \"stderr\" , \"message\" : \"Error: connect ECONNREFUSED\" }, \n { \"time\" : \"2026-10-16T09:31:10.002Z\" , \"\
          replica\" : 2 , \"stream\" : \"stdout\" , \"me"
    patch:
      operationId: patch_api_containers_services
      tags:
      - Api
      summary: PATCH /api/containers/services
      x-source: https://docs.helipod.io/docs/container-api/scale
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchApiContainersServicesRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X PATCH \"https://api.helipod.io/api/containers/services/ $SERVICE /scale?dryRun=true\"  -H \"Authorization: Bearer hel_your_key\"\
          \ -H \"Content-Type: application/json\"  -d '{ \"replicas\": 3, \"cpu\": 500, \"ram\": 1024 }' \n Copy Text { \"success\" : true , \"\
          data\" : { \"dryRun\" : true , \"currency\" : \"IDR\" , \"currentDailyCost\" : 1100 , \"newDailyCost\" : 7800 , \"note\" : \"An increase\
          \ is charged pro rata for t"
    post:
      operationId: post_api_containers_services
      tags:
      - Api
      summary: POST /api/containers/services
      x-source: https://docs.helipod.io/docs/container-api/domains
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiContainersServicesRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiContainersServicesResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST https://api.helipod.io/api/containers/services/ $SERVICE /domains  -H \"Authorization: Bearer hel_your_key\" -H\
          \ \"Content-Type: application/json\"  -d '{ \"kind\": \"helipod\", \"port\": 8080 }' The name is based on the service name; if it is\
          \ taken, a short random suffix is added. \n Change the target port Copy Anchor Link \n PATCH /containers/services/{serviceId}/domains/{domainId}\
          \ Route the dom"
    put:
      operationId: put_api_containers_services
      tags:
      - Api
      summary: PUT /api/containers/services
      x-source: https://docs.helipod.io/docs/container-api/functions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutApiContainersServicesRequest'
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutApiContainersServicesResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.helipod.io/api/containers/services/ $SERVICE /function  -H \"Authorization: Bearer hel_your_key\" \n Copy Text\
          \ { \n \"success\" : true , \n \"data\" : { \n \"serviceId\" : \"9a8b7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d\" , \n \"code\" : \"export default\
          \ async function handler(req) { \\n return new Response('hello'); \\n } \\n \" \n } \n } \n code is null when no code has been saved\
          \ yet. \n Replace the code Copy An"
security:
- bearer: []
components:
  schemas:
    PostRequest:
      type: object
      properties:
        name:
          type: string
        source:
          type: object
          properties:
            image:
              type: string
        ports:
          type: array
          items:
            type: object
            properties:
              port:
                type: integer
    GetApiContainersEnvironmentsResponse:
      type: object
      properties:
        name:
          type: string
        source:
          type: object
          properties:
            image:
              type: string
            registryUsername:
              type: string
            registryPassword:
              type: string
        ports:
          type: array
          items:
            type: object
            properties:
              port:
                type: integer
    PostApiContainersEnvironmentsRequest:
      type: object
      properties:
        name:
          type: string
        source:
          type: object
          properties:
            image:
              type: string
        ports:
          type: array
          items:
            type: object
            properties:
              port:
                type: integer
        variables:
          type: object
          properties:
            NODE_ENV:
              type: string
            DATABASE_URL:
              type: string
            SESSION_SECRET:
              type: string
        volumes:
          type: array
          items:
            type: object
            properties:
              mountPath:
                type: string
              sizeGb:
                type: integer
        cpu:
          type: integer
        ram:
          type: integer
    PostApiContainersEnvironmentsResponse:
      type: object
      properties:
        service:
          type: object
        deploymentId:
          type: string
    PostApiContainersProjectsRequest:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
    PatchApiContainersServicesRequest:
      type: object
      properties:
        replicas:
          type: integer
        cpu:
          type: integer
        ram:
          type: integer
    PostApiContainersServicesRequest:
      type: object
      properties:
        kind:
          type: string
        port:
          type: integer
    PostApiContainersServicesResponse:
      type: object
      properties:
        domain:
          type: object
        needsRedeploy:
          type: boolean
    PutApiContainersServicesRequest:
      type: object
      properties:
        code:
          type: string
    PutApiContainersServicesResponse:
      type: object
      properties:
        serviceId:
          type: string
        saved:
          type: boolean
        needsRedeploy:
          type: boolean
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
tags:
- name: Api