Outdoorsy Locations API
The locations API from Outdoorsy — 3 operation(s) for locations.
The locations API from Outdoorsy — 3 operation(s) for locations.
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-locations-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 Locations API
version: 0.0.1
description: 'Operations tagged locations across 2 of this provider''s published API definitions: outdoorsy-locations-api-openapi.yml, outdoorsy-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /v0
security:
- Bearer:
- '[]'
- API-Key:
- '[]'
tags:
- name: locations
paths:
/locations:
get:
description: List dealer locations
tags:
- locations
operationId: listLocations
parameters:
- x-go-name: LocationID
name: location_id
in: query
schema:
type: integer
format: int64
- x-go-name: LocationIDs
name: location_ids
in: query
schema:
type: string
- x-go-name: OwnerID
name: owner_id
in: query
schema:
type: integer
format: int64
- x-go-name: OwnerIDs
name: owner_ids
in: query
schema:
type: string
- x-go-name: Limit
name: limit
in: query
schema:
type: integer
format: int64
- x-go-name: Offset
name: offset
in: query
schema:
type: integer
format: int64
- x-go-name: Order
name: order
in: query
schema:
type: string
- x-go-name: Archived
name: archived
in: query
schema:
type: boolean
- x-go-name: Keyword
name: keyword
in: query
schema:
type: string
- x-go-name: DiscardLimit
name: discard_limit
in: query
schema:
type: boolean
- name: IDs
in: query
schema:
type: array
items:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/locationsResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
post:
description: Create dealer location
tags:
- locations
operationId: createLocation
responses:
'200':
$ref: '#/components/responses/locationResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
servers:
- url: /v0
/locations/{id}:
get:
description: Retrieve location by id
tags:
- locations
operationId: getLocationByOwner
responses:
'200':
$ref: '#/components/responses/locationResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
delete:
description: Delete dealer location
tags:
- locations
operationId: deleteLocation
parameters:
- x-go-name: ID
name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'204':
$ref: '#/components/responses/noContentResponse'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
patch:
description: Update dealer location details
tags:
- locations
operationId: updateLocation
parameters:
- x-go-name: ID
name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/locationResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
servers:
- url: /v0
/locations/{owner_id}/for-pro-page:
get:
description: List dealer locations for his pro page (locations with connected bank account, ordered by having the most rentals desc). Provide falback in the form of city and state with most bookable rentals
tags:
- locations
operationId: getLocationsByOwnerID
parameters:
- x-go-name: OwnerID
name: owner_id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/locationsProPageResponse'
'400':
$ref: '#/components/responses/badRequestError'
servers:
- url: /v0
components:
schemas:
TaxRate:
type: object
properties:
archived:
type: boolean
x-go-name: Archived
created:
type: string
x-go-name: Created
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
description:
type: string
x-go-name: Description
id:
type: integer
format: int64
x-go-name: ID
marketplace:
type: boolean
x-go-name: MarketPlace
name:
type: string
x-go-name: Name
owner_id:
type: integer
format: int64
x-go-name: OwnerID
rate:
type: number
format: double
x-go-name: Rate
state:
description: carry through to booking_tax_rates table from avalara
type: string
x-go-name: State
updated:
type: string
x-go-name: Updated
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
zip_code:
type: string
x-go-name: ZipCode
x-go-package: github.com/outdoorsy/api/internal/tax_rates
LocAvailabilityInfo:
type: object
properties:
end_time:
type: integer
format: int64
x-go-name: EndTime
start_time:
type: integer
format: int64
x-go-name: StartTime
unavailable:
type: boolean
x-go-name: Unavailable
x-go-package: github.com/outdoorsy/api/internal/location
SpecialHour:
description: '───────────────────────────────────────────────────────────────────────────
Special Hours
───────────────────────────────────────────────────────────────────────────'
type: object
properties:
created:
type: string
x-go-name: Created
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
created_from_id:
type: integer
format: int64
x-go-name: CreatedFromId
dropoff:
$ref: '#/components/schemas/SpecialHourDropoff'
end_date:
type: string
id:
type: integer
format: int64
x-go-name: ID
location_id:
type:
- integer
- 'null'
format: int64
name:
type: string
x-go-name: Name
owner_id:
type: integer
format: int64
x-go-name: OwnerID
pickup:
$ref: '#/components/schemas/SpecialHourPickup'
repeats:
type: boolean
x-go-name: Repeats
start_date:
type: string
updated:
type: string
x-go-name: Updated
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
weekdays:
$ref: '#/components/schemas/DBStringSlice'
x-go-package: github.com/outdoorsy/api/internal/special_hours
ProPageFallback:
type: object
properties:
city:
type: string
x-go-name: City
state:
type: string
x-go-name: State
x-go-package: github.com/outdoorsy/api/cmd/web/handlers
LocAvailability:
type: object
properties:
days:
type: object
additionalProperties:
$ref: '#/components/schemas/LocAvailabilityDay'
x-go-name: Days
x-go-package: github.com/outdoorsy/api/internal/location
LocAvailabilityDay:
type: object
properties:
dropoff:
$ref: '#/components/schemas/LocAvailabilityInfo'
pickup:
$ref: '#/components/schemas/LocAvailabilityInfo'
x-go-package: github.com/outdoorsy/api/internal/location
LocationLocale:
type: object
properties:
base_currency:
type: string
x-go-name: BaseCurrency
x-go-package: github.com/outdoorsy/api/internal/location
SpecialHourDropoff:
type: object
properties:
end_time:
type: integer
format: int64
x-go-name: EndTime
start_time:
type: integer
format: int64
x-go-name: StartTime
unavailable:
type: boolean
x-go-name: Unavailable
x-go-package: github.com/outdoorsy/api/internal/special_hours
Location:
type: object
properties:
archived:
type: boolean
x-go-name: Archived
availability:
$ref: '#/components/schemas/LocAvailability'
city:
type: string
x-go-name: City
country:
type: string
x-go-name: Country
county:
type: string
x-go-name: County
created:
type: string
x-go-name: Created
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
custom_insurance_text:
type:
- string
- 'null'
dropoff_end_time:
type: integer
format: int64
x-go-name: DropoffEndTime
dropoff_start_time:
type: integer
format: int64
x-go-name: DropoffStartTime
eligible_for_system_tax_rates:
description: Wheelbase only field
type: boolean
x-go-name: EligibleForSystemTaxRates
employer_identification_number:
description: EIN in the US, RCS in France
type: string
x-go-name: EmployerIdentificationNumber
id:
type: integer
format: int64
x-go-name: ID
lat:
type: number
format: double
x-go-name: Lat
lng:
type: number
format: double
x-go-name: Lng
locale:
$ref: '#/components/schemas/LocationLocale'
name:
type: string
x-go-name: Name
opt_out_marketplace_taxes:
description: these fields are stored in metadata
type: boolean
x-go-name: OptOutMarketplaceTaxes
owner_id:
type: integer
format: int64
x-go-name: OwnerID
payment_processing_info_id:
type: integer
format: int64
x-go-name: PaymentProcessingInfoID
phone:
type: string
x-go-name: Phone
pickup_end_time:
type: integer
format: int64
x-go-name: PickupEndTime
pickup_start_time:
type: integer
format: int64
x-go-name: PickupStartTime
rental_count:
type: integer
format: int64
x-go-name: RentalCount
special_hours:
type: array
items:
$ref: '#/components/schemas/SpecialHour'
x-go-name: SpecialHours
state:
type: string
x-go-name: State
state_tax_id:
type: string
x-go-name: StateTaxID
street:
type: string
x-go-name: Street
street_etc:
type: string
x-go-name: StreetEtc
tax_rate_id:
$ref: '#/components/schemas/TaxRate'
tax_rate_ids:
type: array
items:
type: integer
format: int64
x-go-name: TaxRateIDs
tax_split_eligible:
description: find tax_rates.ShouldSplitTaxes()
type: boolean
x-go-name: TaxSplitEligible
updated:
type: string
x-go-name: Updated
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
waived_insurance_text:
type:
- string
- 'null'
zip:
type: string
x-go-name: Zip
x-go-package: github.com/outdoorsy/api/internal/location
SpecialHourPickup:
type: object
properties:
end_time:
type: integer
format: int64
x-go-name: EndTime
start_time:
type: integer
format: int64
x-go-name: StartTime
unavailable:
type: boolean
x-go-name: Unavailable
x-go-package: github.com/outdoorsy/api/internal/special_hours
ProPageResponse:
type: object
properties:
fallback:
$ref: '#/components/schemas/ProPageFallback'
locations:
type: array
items:
$ref: '#/components/schemas/Location'
x-go-name: Locations
x-go-package: github.com/outdoorsy/api/cmd/web/handlers
DBStringSlice:
description: DBStringSlice is a []string with database conversion methods
type: array
items:
type: string
x-go-package: github.com/outdoorsy/api/utils
responses:
notFoundError:
description: Not found error
locationsResponse:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Location'
locationResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
noContentResponse:
description: Everything went as planned
badRequestError:
description: Invalid input or state means you're bad
headers:
Error:
schema:
type: string
locationsProPageResponse:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProPageResponse'
unauthorizedError:
description: Unauthorized error
securitySchemes:
API-Key:
type: apiKey
name: API-Key
in: header
Bearer:
type: apiKey
name: Authorization
in: header
x-refined-from:
- outdoorsy-locations-api-openapi.yml
- outdoorsy-openapi-original.json