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.
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.
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.