MNTN · OpenAPI Overlay 1.0.0

API Evangelist enrichment overlay for the MNTN Async Batch Export API

4 actions 4 updates update extends https://api3.mountain.com/api-docs/Batch
Generated by API Evangelist Written by API Evangelist tooling for MNTN's API. It is a proposal applied on top of the contract, not a document MNTN publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apis-io-slugx-artifactsx-async-contractx-gapsx-agent-guidance

Targets 3

$.info
$.servers
$.paths['/batch'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enrichment overlay for the MNTN Async Batch Export API
  version: 1.0.0
extends: https://api3.mountain.com/api-docs/Batch
x-generated: '2026-08-12'
x-method: generated
x-source: openapi/_original/mntn-batch-export-api-openapi.json
actions:
- target: $.info
  description: Attach provenance and the artifact map.
  update:
    x-apis-io-slug: mntn
    x-artifacts:
      authentication: authentication/mntn-authentication.yml
      conventions: conventions/mntn-conventions.yml
      errors: errors/mntn-problem-types.yml
      rate_limits: rate-limits/mntn-rate-limits.yml
- target: $.servers
  description: Record the real host behind the relative "/" server the provider publishes.
  update:
  - url: /
    description: Reporting API
    x-observed-hosts:
    - https://api3.mountain.com
    - https://api2.mountain.com
- target: $.info
  description: Record the async contract and its gaps in one place.
  update:
    x-async-contract:
      pattern: enqueue-poll-signed-download
      entitlement: r2ds.exports.enabled
      steps:
      - 'POST /batch -> 202 Accepted, returns batchId'
      - 'GET /batch/{batchId} -> status; SUCCEEDED includes a time-limited signed download URL'
      - 'POST /batch/{batchId}/regenerate-url -> reissue the signed URL without re-running the query'
      - 'GET /batch -> list recent jobs (status, limit, offset)'
      terminal_states: [SUCCEEDED, 'terminal non-downloadable (409 on regenerate-url)', 'expired (410 Gone)']
    x-gaps:
      polling_interval: >-
        No recommended poll interval, no Retry-After on the status response, and no maximum job
        duration is published, so a client cannot choose a backoff without guessing.
      rate_limit_429: >-
        POST /batch declares 429 but returns the ExportResponse schema rather than an RFC 9457
        problem document, and declares no Retry-After or RateLimit-* header.
      url_lifetime: >-
        The download URL is described as time-limited but no TTL is published; a consumer cannot
        know how long it has before needing regenerate-url.
      duplicate_submission: >-
        POST /batch has no idempotency key, so a retried submission enqueues a second export of the
        same query rather than returning the original batchId.
- target: $.paths['/batch'].post
  description: Flag retry semantics for agent use.
  update:
    x-agent-guidance: >-
      Submission is not idempotent. On a timeout, call GET /batch and match on your query before
      resubmitting, or you will queue a duplicate export.

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/mntn-batch-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.