ParkWhiz Bookings API
Create and manage parking reservations and parking passes.
Create and manage parking reservations and parking passes.
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/parkwhiz-bookings-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: ParkWhiz / Arrive API v4 Accounts & Vehicles Bookings API
description: 'The ParkWhiz v4 REST API powers parking discovery, reservation, and payment for the ParkWhiz and BestParking consumer products and for approved integration partners. It exposes bookable parking availability and pricing (quotes), parking locations, bookings and parking passes, venues and events, monthly parking, accounts, vehicles, payment methods, and tickets.
Access is partner-gated: the API is publicly documented at developer.parkwhiz.com (mirrored at developer.arrive.com), but OAuth client credentials (client_id, client_secret, redirect_uri) are issued to approved partners on request via dev@parkwhiz.com, not through self-serve signup. Scopes are assigned per partner - public (default), partner, mobile, internal, and data. A sandbox environment is available for development.
This OpenAPI document was authored by API Evangelist from the public v4 developer documentation. Paths and methods reflect the documented API; the schema shapes are representative models, not a byte-for-byte copy of the provider spec.'
version: '4.0'
contact:
name: ParkWhiz Developer Support
url: https://developer.parkwhiz.com/
email: dev@parkwhiz.com
x-logo:
url: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
servers:
- url: https://api.parkwhiz.com/v4
description: Production
- url: https://api-sandbox.parkwhiz.com/v4
description: Sandbox
- url: https://api.arrive.com/v4
description: Production (Arrive-branded host)
security:
- oauth2: []
tags:
- name: Bookings
description: Create and manage parking reservations and parking passes.
paths:
/bookings:
get:
operationId: listBookings
tags:
- Bookings
summary: List the authenticated user's bookings
responses:
'200':
description: A list of bookings.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Booking'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createBooking
tags:
- Bookings
summary: Create a booking
description: Reserve parking from a selected quote. Requires a user-authorized token.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BookingRequest'
responses:
'201':
description: The created booking.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
/bookings/previews:
post:
operationId: previewBooking
tags:
- Bookings
summary: Preview a booking price
description: Price a prospective booking before committing to it.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BookingRequest'
responses:
'200':
description: A booking price preview.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
/bookings/{booking_id}:
get:
operationId: getBooking
tags:
- Bookings
summary: Retrieve a booking
parameters:
- $ref: '#/components/parameters/BookingId'
responses:
'200':
description: A booking.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: cancelBooking
tags:
- Bookings
summary: Cancel a booking
parameters:
- $ref: '#/components/parameters/BookingId'
responses:
'204':
description: The booking was cancelled.
'401':
$ref: '#/components/responses/Unauthorized'
/bookings/{booking_id}/parking_pass:
get:
operationId: getBookingParkingPass
tags:
- Bookings
summary: Retrieve the parking pass for a booking
description: Returns a pre-formatted ParkWhiz parking pass. Requires a user authorization token for the account holding the booking.
parameters:
- $ref: '#/components/parameters/BookingId'
responses:
'200':
description: An array of parking pass models (length 1).
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ParkingPass'
/bookings/{booking_id}/vehicle:
get:
operationId: getBookingVehicle
tags:
- Bookings
summary: Retrieve the vehicle attached to a booking
parameters:
- $ref: '#/components/parameters/BookingId'
responses:
'200':
description: The vehicle attached to the booking.
content:
application/json:
schema:
$ref: '#/components/schemas/Vehicle'
post:
operationId: setBookingVehicle
tags:
- Bookings
summary: Attach a vehicle to a booking
description: Attach a known and existing vehicle to a booking by vehicle_id, used to validate a vehicle at many parking locations. Requires a user authorization token for the target account.
parameters:
- $ref: '#/components/parameters/BookingId'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
vehicle_id:
type: integer
required:
- vehicle_id
responses:
'200':
description: The attached vehicle.
content:
application/json:
schema:
$ref: '#/components/schemas/Vehicle'
/bookings/{booking_id}/extend/previews:
post:
operationId: previewBookingExtension
tags:
- Bookings
summary: Preview extending a booking
parameters:
- $ref: '#/components/parameters/BookingId'
responses:
'200':
description: An extension price preview.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
/bookings/{booking_id}/extend:
post:
operationId: extendBooking
tags:
- Bookings
summary: Extend a booking's duration
parameters:
- $ref: '#/components/parameters/BookingId'
responses:
'200':
description: The extended booking.
content:
application/json:
schema:
$ref: '#/components/schemas/Booking'
components:
schemas:
Vehicle:
type: object
properties:
id:
type: integer
make:
type: string
model:
type: string
color:
type: string
license_plate:
type: string
license_plate_state:
type: string
Error:
type: object
properties:
message:
type: string
code:
type: string
BookingRequest:
type: object
properties:
quote_id:
type: integer
payment_method_id:
type: integer
vehicle_id:
type: integer
required:
- quote_id
Booking:
type: object
properties:
id:
type: integer
location_id:
type: integer
start_time:
type: string
format: date-time
end_time:
type: string
format: date-time
status:
type: string
example: valid
price:
$ref: '#/components/schemas/Price'
parking_pass_id:
type: integer
vehicle:
$ref: '#/components/schemas/Vehicle'
ParkingPass:
type: object
properties:
id:
type: integer
type:
type: string
example: barcode
validation_steps:
type: array
items:
type: string
scan_code_url:
type: string
format: uri
Price:
type: object
properties:
currency:
type: string
example: USD
amount:
type: number
format: float
formatted:
type: string
example: $12.00
responses:
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing or invalid OAuth token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
UnprocessableEntity:
description: The request could not be processed.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
BookingId:
name: booking_id
in: path
required: true
schema:
type: integer
securitySchemes:
oauth2:
type: oauth2
description: 'OAuth 2.0. Partner credentials (client_id, client_secret, redirect_uri) are issued by ParkWhiz to approved partners. Scopes: public (default), partner, mobile, internal, data.'
flows:
clientCredentials:
tokenUrl: https://api.parkwhiz.com/v4/oauth/token
scopes:
public: Default read access to public resources.
partner: Partner-level access to bookable inventory and bookings.
data: Access to resources restricted by data licensing.
authorizationCode:
authorizationUrl: https://api.parkwhiz.com/v4/oauth/authorize
tokenUrl: https://api.parkwhiz.com/v4/oauth/token
scopes:
public: Default read access to public resources.
mobile: Mobile app user access.