JAMP API

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

GitHub OpenAPI

Operations 20

POST /api/collect/server POST /api/collect/server #
POST /api/errors/server POST /api/errors/server #
GET /api/heartbeat/hb_your_token GET /api/heartbeat/hb_your_token #
POST /api/sourcemaps POST /api/sourcemaps #
GET /api/v1/sites GET /api/v1/sites #
POST /api/v1/sites Create a site ({ domain, name? }). Returns the id and install snippet. #
GET /api/v1/sites/{id}/audit Latest PageSpeed audit per page (what to fix). #
POST /api/v1/sites/{id}/audit Run a fresh one-page audit now. #
GET /api/v1/sites/{id}/errors Grouped errors, busiest first. #
GET /api/v1/sites/{id}/errors/{fingerprint} Full detail for one error group. #
POST /api/v1/sites/{id}/errors/{fingerprint}/resolve Mark an error fixed (DELETE to undo). #
GET /api/v1/sites/{id}/install-doctor Active diagnosis of the snippet install (tags in the served HTML). #
GET /api/v1/sites/{id}/install-status Whether each pillar’s snippet is sending data yet. #
GET /api/v1/sites/{id}/proxy-setup First-party proxy rewrite + proxied snippet (?framework=). #
GET /api/v1/sites/{id}/site-audit Latest whole-site crawl: broken links, SEO problems, trackers. #
GET /api/v1/sites/{id}/sourcemap-key The CI upload key + contract for source maps. #
GET /api/v1/sites/{id}/traffic Traffic summary. #
GET /api/v1/sites/{id}/uptime Status, uptime percentage and incidents. #
POST /api/v1/sites/{id}/uptime Enable uptime monitoring ({ url? }). #
GET /api/v1/sites/{id}/vitals p75 Core Web Vitals. #

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/jamp-io:jamp-io-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

jamp-io-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: JAMP API
  version: '2026-11-12'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-12: 20 operation(s) read from 6 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; JAMP has published no machine-readable contract that the pipeline
    could find. Engine: local.'
  x-evidence-tiers:
    code-example: 5
    documentation: 15
    pages-with-code: 6
    pages-read: 6
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-12'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://jamp.io/docs/ai-crawlers
  - https://jamp.io/docs/error-tracking
  - https://jamp.io/docs/server-errors
  - https://jamp.io/docs/source-maps
  - https://jamp.io/docs/uptime
  - https://jamp.io/docs/mcp
paths:
  /api/collect/server:
    post:
      operationId: post_api_collect_server
      tags:
      - Api
      summary: POST /api/collect/server
      x-source: https://jamp.io/docs/ai-crawlers
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiCollectServerResponse'
      x-evidence:
        kind: code-example
        language: javascript
        snippet: "fetch('https://jamp.io/api/collect/server', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({\n\
          \ website_id: process.env.JAMP_SITE_ID,\n key: process.env.JAMP_SOURCEMAP_KEY,\n url: req.url,\n user_agent: ua,\n referrer: req.headers.get('referer')\
          \ ?? '',\n })"
  /api/errors/server:
    post:
      operationId: post_api_errors_server
      tags:
      - Api
      summary: POST /api/errors/server
      x-source: https://jamp.io/docs/error-tracking
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: javascript
        snippet: "fetch('https://jamp.io/api/errors/server', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({\n\
          \ website_id: 'YOUR_SITE_ID',\n key: 'YOUR_SOURCE_MAP_KEY',\n message: err?.message ?? String(err),\n stack: err?.stack,\n error_type:\
          \ err?.name,\n route: request?.path,\n method: request?.method,\n })"
  /api/heartbeat/hb_your_token:
    get:
      operationId: get_api_heartbeat_hb_your_token
      tags:
      - Api
      summary: GET /api/heartbeat/hb_your_token
      x-source: https://jamp.io/docs/uptime
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: curl -fsS https://jamp.io/api/heartbeat/hb_your_token Any GET or POST counts as a ping. Put the curl after your task's success
          condition (as above) so a failed job goes quiet and triggers the alert, instead of pinging anyway. Choosing what gets emailed Every
          alert across all pillars (uptime, SSL, heartbeats, errors, performance, traffic) is toggled per-site under Dashboard → Alerts . Turn
          off anyt
  /api/sourcemaps:
    post:
      operationId: post_api_sourcemaps
      tags:
      - Api
      summary: POST /api/sourcemaps
      x-source: https://jamp.io/docs/source-maps
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiSourcemapsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl curl -X POST https://jamp.io/api/sourcemaps  -H "Authorization: Bearer $JAMP_SOURCEMAP_KEY"  -H "Content-Type: application/json"  -d
          ''{"release":"v1.4.2","files":[{"fileName":"app.4f3a.js","content":"<map json>"}]}'' Use the same release tag your tracker reports via
          data-release (see Releases & health ). That''s how we line a crash up with the right map. Re-running CI for a release simply overw'
  /api/v1/sites:
    get:
      operationId: get_api_v1_sites
      tags:
      - Api
      summary: GET /api/v1/sites
      x-source: https://jamp.io/docs/mcp
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -H "Authorization: Bearer jamp_..."  https://jamp.io/api/v1/sites GET /api/v1/sites List the sites this token can read.
          POST /api/v1/sites Create a site ({ domain, name? }). Returns the id and install snippet. Write scope. GET /api/v1/sites/:id/install-status
          Whether each pillar’s snippet is sending data yet. GET /api/v1/sites/:id/install-doctor Active diagnosis of the snippet install (tags
          i'
    post:
      operationId: post_api_v1_sites
      tags:
      - Api
      summary: Create a site ({ domain, name? }). Returns the id and install snippet.
      x-source: https://jamp.io/docs/mcp
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1SitesRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/audit:
    get:
      operationId: get_api_v1_sites_id_audit
      tags:
      - Api
      summary: Latest PageSpeed audit per page (what to fix).
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: window
        in: query
        required: false
        schema:
          type: string
        description: Optional time window (e.g., 24h, 7d, 30d, 90d).
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_sites_id_audit
      tags:
      - Api
      summary: Run a fresh one-page audit now.
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1SitesIdAuditRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/errors:
    get:
      operationId: get_api_v1_sites_id_errors
      tags:
      - Api
      summary: Grouped errors, busiest first.
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/errors/{fingerprint}:
    get:
      operationId: get_api_v1_sites_id_errors_fingerprint
      tags:
      - Api
      summary: Full detail for one error group.
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: fingerprint
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/errors/{fingerprint}/resolve:
    post:
      operationId: post_api_v1_sites_id_errors_fingerprint_resolve
      tags:
      - Api
      summary: Mark an error fixed (DELETE to undo).
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: fingerprint
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/install-doctor:
    get:
      operationId: get_api_v1_sites_id_install_doctor
      tags:
      - Api
      summary: Active diagnosis of the snippet install (tags in the served HTML).
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/install-status:
    get:
      operationId: get_api_v1_sites_id_install_status
      tags:
      - Api
      summary: Whether each pillar’s snippet is sending data yet.
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/proxy-setup:
    get:
      operationId: get_api_v1_sites_id_proxy_setup
      tags:
      - Api
      summary: First-party proxy rewrite + proxied snippet (?framework=).
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: framework
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/site-audit:
    get:
      operationId: get_api_v1_sites_id_site_audit
      tags:
      - Api
      summary: 'Latest whole-site crawl: broken links, SEO problems, trackers.'
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: window
        in: query
        required: false
        schema:
          type: string
        description: Optional time window (e.g., 24h, 7d, 30d, 90d).
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/sourcemap-key:
    get:
      operationId: get_api_v1_sites_id_sourcemap_key
      tags:
      - Api
      summary: The CI upload key + contract for source maps.
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/traffic:
    get:
      operationId: get_api_v1_sites_id_traffic
      tags:
      - Api
      summary: Traffic summary.
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: window
        in: query
        required: false
        schema:
          type: string
        description: Optional time window (e.g., 24h, 7d, 30d, 90d).
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/uptime:
    get:
      operationId: get_api_v1_sites_id_uptime
      tags:
      - Api
      summary: Status, uptime percentage and incidents.
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_sites_id_uptime
      tags:
      - Api
      summary: Enable uptime monitoring ({ url? }).
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1SitesIdUptimeRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/sites/{id}/vitals:
    get:
      operationId: get_api_v1_sites_id_vitals
      tags:
      - Api
      summary: p75 Core Web Vitals.
      x-source: https://jamp.io/docs/mcp
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    PostApiCollectServerResponse:
      type: object
      properties:
        matcher:
          type: array
          items:
            type: string
    PostApiSourcemapsRequest:
      type: object
      properties:
        release:
          type: string
        files:
          type: array
          items:
            type: object
            properties:
              fileName:
                type: string
              content:
                type: string
    PostApiV1SitesRequest:
      type: object
      properties:
        domain:
          type: string
        name:
          type: string
      required:
      - domain
    PostApiV1SitesIdAuditRequest:
      type: object
      properties:
        path:
          type: string
          description: The page path to audit.
      required:
      - path
    PostApiV1SitesIdUptimeRequest:
      type: object
      properties:
        url:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api