Outdoorsy · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Outdoorsy Search API

7 actions 7 updates documentation extends openapi/outdoorsy-search-openapi-original.json
Derived by API Evangelist Built from the contracts Outdoorsy publishes. Outdoorsy did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-consequencex-retry-safecontactx-apievangelist-enrichedhostschemesbasePathx-servers

Targets 4

$.info
$
$.paths['/rentals'].get
$.paths['/geodata/my-ip'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Outdoorsy Search API
  version: 1.0.0
extends: openapi/outdoorsy-search-openapi-original.json
x-generated: '2026-08-02'
x-method: generated
x-source: >-
  https://developers.outdoorsy.com/api + live probes of https://search.outdoorsy.com (2026-08-02).
  Adds servers, contact, JSON:API semantics and the duplicate-operationId defect record that the
  harvested contract omits. The original file is never mutated.
actions:
- target: $.info
  update:
    contact:
      name: Outdoorsy Partner Integrations
      email: partners@outdoorsy.co
      url: https://developers.outdoorsy.com/
    x-apievangelist-enriched: '2026-08-02'
- target: $
  update:
    host: search.outdoorsy.com
    schemes: [https]
    basePath: /
    x-servers:
    - {url: 'https://search.outdoorsy.com', description: production}
    - {url: 'https://search.staging.outdoorsy.com', description: 'staging — anonymous, no credentials required'}
- target: $
  update:
    x-response-format:
      standard: JSON:API
      declared_media_type: application/vnd.api+json
      observed_media_type: text/plain; charset=utf-8
      defect: >-
        Bodies are JSON:API documents but are served with a text/plain content type, so
        content-negotiating clients cannot detect the format.
      envelope: {data: 'array of {id, type, attributes}', included: 'side-loaded related resources', meta: 'result metadata', suggestions: 'query suggestions'}
    x-pagination:
      style: json-api-page
      params: ['page[limit]', 'page[offset]']
      max_limit: 100
      total_header: Total-Results
    x-error-envelope:
      shape: {status: string, code: string, detail: string}
      observed: '{"status":"404","code":"E102","detail":"No results"}'
      rfc9457: false
    x-apievangelist-conventions: conventions/outdoorsy-conventions.yml
    x-apievangelist-data-model: data-model/outdoorsy-data-model.yml
- target: $
  update:
    x-contract-defects:
    - >-
      operationId `searchCampgrounds` is declared on both /campgrounds and
      /campgrounds/nearby-for-rental/{rental_id} — operationIds must be unique.
    - >-
      operationId `searchParks` is declared on /parks, /parks/nearby-for-rental/{rental_id} and
      /parks/popular — operationIds must be unique.
    - >-
      /parks/homepage declares operationId `parks` with tags [parks, getHomepageParks], mixing a
      tag namespace with an operation name.
    - No response object in the contract carries a description or an example.
- target: $
  update:
    tags:
    - {name: rentals, description: Rental listing search over the indexed marketplace inventory}
    - {name: campgrounds, description: Outdoorsy-catalogued campgrounds}
    - {name: externalCampgrounds, description: Third-party campground records used for delivery destinations}
    - {name: parks, description: National and state parks}
    - {name: localities, description: Cities and regions used to scope search}
    - {name: breadcrumbs, description: Hierarchical place navigation for SEO landing pages}
    - {name: geodata, description: Caller geolocation by IP}
    - {name: users, description: Public owner profiles}
    - {name: vacationPackages, description: Bundled rental-plus-campground vacation packages}
- target: $.paths['/rentals'].get
  update:
    x-agentic-consequence: read
    x-retry-safe: true
    x-apievangelist-note: >-
      The primary discovery entry point. Anonymous — no credential required. Returns a JSON:API
      compound document with images side-loaded in `included[]`.
- target: $.paths['/geodata/my-ip'].get
  update:
    x-agentic-consequence: read
    x-retry-safe: true
    x-privacy-note: >-
      Resolves the caller's approximate address from their source IP. Agents proxying end-user
      requests will resolve the proxy's location, not the user's.

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/outdoorsy-search-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.