Outdoorsy Wishlists API
The wishlists API from Outdoorsy — 9 operation(s) for wishlists.
The wishlists API from Outdoorsy — 9 operation(s) for wishlists.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/outdoorsy-wishlists-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Outdoorsy Wishlists API
version: 0.0.1
description: 'Operations tagged wishlists across 2 of this provider''s published API definitions: outdoorsy-openapi-original.json, outdoorsy-wishlists-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /v0
security:
- Bearer:
- '[]'
- API-Key:
- '[]'
tags:
- name: wishlists
paths:
/wishlists:
get:
description: 'Gets wishlists for current user
Use `examples_only=false&exclude_examples=false` to get all user wishlists and a set of random examples
Use `examples_only=true&exclude_examples=false` to get all example wishlists and exclude user wishlists
Use `examples_only=false&exclude_examples=true` to get all user wishlists and exclude examples
Use `examples_only=true&exclude_examples=true` is not allowed
Use `rental_category=rv` to filter rentals to RV category (includes campgrounds)
Use `rental_category=auto` to filter rentals to auto category (excludes campgrounds)'
tags:
- wishlists
operationId: readManyWishlists
parameters:
- x-go-name: ExamplesOnly
name: examples_only
in: query
schema:
type: boolean
- x-go-name: ExcludeExamples
name: exclude_examples
in: query
schema:
type: boolean
- x-go-name: RentalCategory
name: rental_category
in: query
schema:
type: string
responses:
'200':
$ref: '#/components/responses/readManyWishlistResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
default:
$ref: '#/components/responses/genericError'
post:
description: Creates a wishlist with current user as owner
tags:
- wishlists
operationId: createWishlist
responses:
'201':
$ref: '#/components/responses/createWishlistResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'403':
$ref: '#/components/responses/forbiddenError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWishlistRequest'
servers:
- url: /v0
/wishlists-recently-saved:
get:
description: 'Gets up to 10 most recently saved rentals for current user
Use `rental_category=rv` to filter rentals to RV category only
Use `rental_category=auto` to filter rentals to auto category only'
tags:
- wishlists
operationId: readRecentlySavedWishlists
parameters:
- x-go-name: RentalCategory
name: rental_category
in: query
schema:
type: string
responses:
'200':
$ref: '#/components/responses/readRecentlySavedWishlistsResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
default:
$ref: '#/components/responses/genericError'
servers:
- url: /v0
/wishlists/change-wishlist:
post:
description: Removes a rental from one wishlist and adds it to another
tags:
- wishlists
operationId: changeWishlist
responses:
'201':
$ref: '#/components/responses/changeWishlistResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeWishlistRequest'
servers:
- url: /v0
/wishlists/{wishlist_id}:
get:
description: 'Gets one wishlist by id
Use `rental_category=rv` to filter rentals to RV category (includes campgrounds)
Use `rental_category=auto` to filter rentals to auto category (excludes campgrounds)'
tags:
- wishlists
operationId: getWishlist
parameters:
- x-go-name: RentalCategory
name: rental_category
in: query
schema:
type: string
responses:
'200':
$ref: '#/components/responses/readOneWishlistResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
delete:
description: Deletes one wishlist by id
tags:
- wishlists
operationId: deleteWishlist
responses:
'204':
$ref: '#/components/responses/noContentResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
patch:
description: Updates the details of an existing wishlist
tags:
- wishlists
operationId: updateWishlist
responses:
'204':
$ref: '#/components/responses/noContentResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWishlistRequest'
servers:
- url: /v0
/wishlists/{wishlist_id}/accept-invite:
post:
description: Accepts an invite to a wishlist with a given token
tags:
- wishlists
operationId: acceptWishlistInvite
responses:
'201':
$ref: '#/components/responses/acceptWishlistInviteResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'403':
$ref: '#/components/responses/forbiddenError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptWishlistInviteRequest'
servers:
- url: /v0
/wishlists/{wishlist_id}/add:
put:
description: Adds a rental to an existing wishlist
tags:
- wishlists
operationId: addToWishlist
responses:
'200':
$ref: '#/components/responses/addToWishlistResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddToWishlistRequest'
servers:
- url: /v0
/wishlists/{wishlist_id}/remove:
post:
description: Removes a rental from an existing wishlist
tags:
- wishlists
operationId: removeFromWishlist
responses:
'201':
$ref: '#/components/responses/removeFromWishlistResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveFromWishlistRequest'
servers:
- url: /v0
/wishlists/{wishlist_id}/remove-user:
delete:
description: Removes a user from a wishlist
tags:
- wishlists
operationId: removeUserFromWishlist
responses:
'204':
$ref: '#/components/responses/noContentResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveUserFromWishlistRequest'
servers:
- url: /v0
/wishlists/{wishlist_id}/token:
post:
description: Gets existing, non-expired invite token for a wishlist or creates and returns a new one
tags:
- wishlists
operationId: getOrCreateInviteToken
responses:
'201':
$ref: '#/components/responses/getOrCreateInviteTokenResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
servers:
- url: /v0
components:
schemas:
AcceptWishlistInviteResponse:
type: object
properties:
role:
type: string
x-go-name: Role
title:
type: string
x-go-name: Title
user_details:
$ref: '#/components/schemas/WishlistUserDetails'
wishlist_id:
type: integer
format: int64
x-go-name: WishlistID
x-go-package: github.com/outdoorsy/api/internal/wishlists
ReadOneWishlist:
type: object
properties:
ada:
type: boolean
x-go-name: ADA
campgrounds:
$ref: '#/components/schemas/DBIntSlice'
campgrounds_details:
type: array
items:
$ref: '#/components/schemas/LandingPageCampground'
x-go-name: CampgroundDetails
cover_image_url:
type: string
x-go-name: CoverImageUrl
created:
type: string
x-go-name: Created
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
end_date:
type: string
id:
type: integer
format: int64
x-go-name: ID
is_example:
type: boolean
x-go-name: IsExample
is_public:
type: boolean
x-go-name: IsPublic
number_of_adults:
type: integer
format: int64
x-go-name: NumberOfAdults
number_of_children:
type: integer
format: int64
x-go-name: NumberOfChildren
pets:
type: boolean
x-go-name: Pets
rentals:
$ref: '#/components/schemas/DBIntSlice'
start_date:
type: string
title:
type: string
x-go-name: Title
updated:
type: string
x-go-name: Updated
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
user_details:
$ref: '#/components/schemas/WishlistUserDetails'
user_role:
type: string
x-go-name: UserRole
users:
$ref: '#/components/schemas/DBIntSlice'
x-go-package: github.com/outdoorsy/api/internal/wishlists
RemoveFromWishlistRequest:
type: object
properties:
campground_id:
type: integer
format: int64
x-go-name: CampgroundID
rental_id:
type: integer
format: int64
x-go-name: RentalID
x-go-package: github.com/outdoorsy/api/internal/wishlists
ReadManyWishlist:
type: object
properties:
campground_count:
type: integer
format: int64
x-go-name: CampgroundCount
campgrounds:
$ref: '#/components/schemas/DBIntSlice'
cover_image_url:
type: string
x-go-name: CoverImageUrl
id:
type: integer
format: int64
x-go-name: ID
is_example:
type: boolean
x-go-name: IsExample
is_public:
type: boolean
x-go-name: IsPublic
rental_count:
type: integer
format: int64
x-go-name: RentalCount
rentals:
$ref: '#/components/schemas/DBIntSlice'
title:
type: string
x-go-name: Title
user_details:
$ref: '#/components/schemas/WishlistUserDetails'
user_role:
type: string
x-go-name: UserRole
x-go-package: github.com/outdoorsy/api/internal/wishlists
ChangeWishlistRequest:
type: object
properties:
campground_id:
type: integer
format: int64
x-go-name: CampgroundID
new_wishlist_id:
type: integer
format: int64
x-go-name: NewWishlistID
old_wishlist_id:
type: integer
format: int64
x-go-name: OldWishlistID
rental_id:
type: integer
format: int64
x-go-name: RentalID
x-go-package: github.com/outdoorsy/api/internal/wishlists
LandingPageCampground:
type: object
properties:
address:
$ref: '#/components/schemas/Address'
categories:
$ref: '#/components/schemas/StringArray'
description:
type: string
x-go-name: Description
id:
type: integer
format: int64
x-go-name: ID
image_urls:
$ref: '#/components/schemas/StringArray'
lat:
type: number
format: double
x-go-name: Lat
lng:
type: number
format: double
x-go-name: Lng
min_bundle_base_price:
type: integer
format: int64
x-go-name: MinBundleBasePrice
name:
type: string
x-go-name: Name
primary_image_url:
type: string
x-go-name: PrimaryImageURL
slug:
type: string
x-go-name: Slug
vacation_package_slug:
type: string
x-go-name: VacationPackageSlug
x-go-package: github.com/outdoorsy/api/internal/campgrounds
AddToWishlistResponse:
type: object
properties:
cover_image_url:
type: string
x-go-name: CoverImageUrl
title:
type: string
x-go-name: Title
x-go-package: github.com/outdoorsy/api/internal/wishlists
StringArray:
type: array
title: StringArray represents a one-dimensional array of the PostgreSQL character types.
items:
type: string
x-go-package: github.com/lib/pq
DBIntSlice:
description: DBIntSlice is a []int with database conversion methods
type: array
items:
type: integer
format: int64
x-go-package: github.com/outdoorsy/api/utils
GetWishlistInviteTokenResponse:
type: object
properties:
token:
type: string
x-go-name: Token
wishlist_id:
type: integer
format: int64
x-go-name: WishlistID
x-go-package: github.com/outdoorsy/api/internal/wishlists
CreateWishlistResponse:
type: object
properties:
cover_image_url:
type: string
x-go-name: CoverImageURL
id:
type: integer
format: int64
x-go-name: ID
title:
type: string
x-go-name: Title
x-go-package: github.com/outdoorsy/api/internal/wishlists
WishlistUserDetails:
type: array
items:
$ref: '#/components/schemas/WishlistUserDetail'
x-go-package: github.com/outdoorsy/api/internal/wishlists
AddToWishlistRequest:
type: object
properties:
campground_id:
type: integer
format: int64
x-go-name: CampgroundID
rental_id:
type: integer
format: int64
x-go-name: RentalID
x-go-package: github.com/outdoorsy/api/internal/wishlists
RemoveUserFromWishlistRequest:
type: object
properties:
user_id:
type: integer
format: int64
x-go-name: UserID
x-go-package: github.com/outdoorsy/api/internal/wishlists
UpdateWishlistRequest:
type: object
properties:
ada:
type: boolean
x-go-name: ADA
end_date:
type: string
is_public:
type: boolean
x-go-name: IsPublic
number_of_adults:
type: integer
format: int64
x-go-name: NumberOfAdults
number_of_children:
type: integer
format: int64
x-go-name: NumberOfChildren
pets:
type: boolean
x-go-name: Pets
start_date:
type: string
title:
type: string
x-go-name: Title
x-go-package: github.com/outdoorsy/api/internal/wishlists
AcceptWishlistInviteRequest:
type: object
properties:
token:
type: string
x-go-name: Token
x-go-package: github.com/outdoorsy/api/internal/wishlists
WishlistUserDetail:
type: object
properties:
avatar_url:
type: string
x-go-name: AvatarURL
first_name:
type: string
x-go-name: FirstName
id:
type: integer
format: int64
x-go-name: Id
last_name:
type: string
x-go-name: LastName
user_role:
type: string
x-go-name: UserRole
x-go-package: github.com/outdoorsy/api/internal/wishlists
Address:
description: Address holds address information for a user
type: object
properties:
city:
type: string
x-go-name: City
country:
type: string
x-go-name: Country
county:
type: string
x-go-name: County
state:
type: string
x-go-name: State
street:
type: string
x-go-name: Street
street_etc:
type: string
x-go-name: StreetEtc
zip:
type: string
x-go-name: Zip
x-go-package: github.com/outdoorsy/api/model
CreateWishlistRequest:
type: object
properties:
campground_id:
type: integer
format: int64
x-go-name: CampgroundID
rental_id:
type: integer
format: int64
x-go-name: RentalID
title:
type: string
x-go-name: Title
x-go-package: github.com/outdoorsy/api/internal/wishlists
ChangeWishlistResponse:
type: object
properties:
cover_image_url:
type: string
x-go-name: CoverImageUrl
title:
type: string
x-go-name: Title
x-go-package: github.com/outdoorsy/api/internal/wishlists
RemoveFromWishlistResponse:
type: object
properties:
cover_image_url:
type: string
x-go-name: CoverImageUrl
title:
type: string
x-go-name: Title
x-go-package: github.com/outdoorsy/api/internal/wishlists
responses:
readOneWishlistResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ReadOneWishlist'
forbiddenError:
description: Forbidden error
getOrCreateInviteTokenResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetWishlistInviteTokenResponse'
notFoundError:
description: Not found error
readRecentlySavedWishlistsResponse:
description: ''
content:
application/json:
schema:
type: array
items:
type: integer
format: int64
acceptWishlistInviteResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptWishlistInviteResponse'
readManyWishlistResponse:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ReadManyWishlist'
createWishlistResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWishlistResponse'
noContentResponse:
description: Everything went as planned
badRequestError:
description: Invalid input or state means you're bad
headers:
Error:
schema:
type: string
addToWishlistResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AddToWishlistResponse'
genericError:
description: An unknown, unexpected error.
changeWishlistResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeWishlistResponse'
unauthorizedError:
description: Unauthorized error
removeFromWishlistResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveFromWishlistResponse'
securitySchemes:
API-Key:
type: apiKey
name: API-Key
in: header
Bearer:
type: apiKey
name: Authorization
in: header
x-refined-from:
- outdoorsy-openapi-original.json
- outdoorsy-wishlists-api-openapi.yml