Can I Vibe API

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

Operations 8

GET /api/healthy GET /api/healthy #
GET /api/healthy/{id} the pipeline gate #
GET /api/status all services #
GET /api/status/{id} one service #
GET /history Get daily status history for providers. #
GET /incidents Get historical incidents within a date range. #
GET /providers List all tracked AI providers with their current status. #
GET /status Get current status for all or specific providers. #

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/canivibe-ai:canivibe-ai-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

canivibe-ai-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Can I Vibe API
  version: '2026-11-04'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-04: 8 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; Can I Vibe has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 4
    documentation: 4
    pages-with-code: 2
    pages-read: 2
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-04'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://canivibe.ai/docs/api
  - https://canivibe.ai/is/v0-down
paths:
  /api/healthy:
    get:
      operationId: get_api_healthy
      tags:
      - Api
      summary: GET /api/healthy
      x-source: https://canivibe.ai/docs/api
      parameters:
      - name: allow
        in: query
        required: false
        schema:
          type: string
      - name: services
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiHealthyResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -fsS \"https://canivibe.ai/api/healthy?services=claude,openai&allow=degraded\" \n The JSON body carries the per-service\
          \ verdicts: \n {\n \"healthy\": false,\n \"checked_at\": \"2026-07-07T12:00:00Z\",\n \"services\": [\n { \"id\": \"claude\", \"status\"\
          : \"degraded\", \"healthy\": false,\n \"status_since\": \"2026-07-07T05:41:12Z\" },\n { \"id\": \"openai\", \"status\": \"operational\"\
          , \"healthy\": true }\n ]\n} \n GET /api/status/{id}"
  /api/healthy/{id}:
    get:
      operationId: get_api_healthy_id
      tags:
      - Api
      summary: the pipeline gate
      x-source: https://canivibe.ai/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: services
        in: query
        required: false
        schema:
          type: string
        description: comma‑separated list of service ids to check
      - name: allow
        in: query
        required: false
        schema:
          type: string
        description: comma‑separated status levels to accept besides operational
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiHealthyIdResponse'
      x-evidence:
        kind: documentation
  /api/status:
    get:
      operationId: get_api_status
      tags:
      - Api
      summary: all services
      x-source: https://canivibe.ai/docs/api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiStatusResponse'
      x-evidence:
        kind: documentation
  /api/status/{id}:
    get:
      operationId: get_api_status_id
      tags:
      - Api
      summary: one service
      x-source: https://canivibe.ai/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiStatusIdResponse'
      x-evidence:
        kind: documentation
  /history:
    get:
      operationId: get_history
      tags:
      - History
      summary: Get daily status history for providers.
      x-source: https://canivibe.ai/docs/api
      parameters:
      - name: provider
        in: query
        required: false
        schema:
          type: string
        description: comma‑separated provider IDs to filter
      - name: days
        in: query
        required: false
        schema:
          type: integer
        description: number of days of history (1‑90)
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHistoryResponse'
      x-evidence:
        kind: documentation
  /incidents:
    get:
      operationId: get_incidents
      tags:
      - Incidents
      summary: Get historical incidents within a date range.
      x-source: https://canivibe.ai/docs/api
      parameters:
      - name: provider
        in: query
        required: false
        schema:
          type: string
        description: comma‑separated provider IDs to filter
      - name: start
        in: query
        required: false
        schema:
          type: string
        description: start date (YYYY‑MM‑DD)
      - name: end
        in: query
        required: false
        schema:
          type: string
        description: end date (YYYY‑MM‑DD)
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIncidentsResponse'
      x-evidence:
        kind: documentation
  /providers:
    get:
      operationId: get_providers
      tags:
      - Providers
      summary: List all tracked AI providers with their current status.
      x-source: https://canivibe.ai/docs/api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProvidersResponse'
      x-evidence:
        kind: documentation
  /status:
    get:
      operationId: get_status
      tags:
      - Status
      summary: Get current status for all or specific providers.
      x-source: https://canivibe.ai/docs/api
      parameters:
      - name: provider
        in: query
        required: false
        schema:
          type: string
        description: comma‑separated provider IDs to filter
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStatusResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    GetApiHealthyResponse:
      type: object
      properties:
        providers:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              status:
                type: string
              last_checked:
                type: string
                format: date-time
    GetApiHealthyIdResponse:
      type: object
      properties:
        healthy:
          type: boolean
          description: overall health verdict
        checked_at:
          type: string
          description: timestamp of the check
        services:
          type: array
          description: per‑service verdicts
    GetApiStatusResponse:
      type: object
      properties:
        overall_status:
          type: string
        providers:
          type: array
        timestamp:
          type: string
    GetApiStatusIdResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        status:
          type: string
        description:
          type: string
        status_since:
          type: string
        last_checked:
          type: string
    GetHistoryResponse:
      type: object
      properties:
        history:
          type: array
        query:
          type: object
    GetIncidentsResponse:
      type: object
      properties:
        incidents:
          type: array
        query:
          type: object
    GetProvidersResponse:
      type: object
      properties:
        providers:
          type: array
          description: list of provider objects
    GetStatusResponse:
      type: object
      properties:
        overall:
          type: string
        providers:
          type: array
        timestamp:
          type: string
tags:
- name: Api
- name: History
- name: Incidents
- name: Providers
- name: Status