Work with this as data
Every API 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 apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/ownerrez-discounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
OpenAPI Specification
openapi: 3.2.0
info:
title: OwnerRez API v2 Discounts API
description: The OwnerRez API v2 is a REST/JSON API for the OwnerRez vacation-rental and short-term-rental property management platform.
version: '2.0'
contact:
name: OwnerRez
url: https://www.ownerrez.com
termsOfService: https://www.ownerrez.com/legal/terms
servers:
- url: https://api.ownerrez.com/v2
description: OwnerRez API v2 (production)
security:
- basicAuth: []
- oauth2: []
tags:
- name: Discounts
description: Discount rules.
paths:
/discounts:
get:
operationId: listDiscounts
tags:
- Discounts
summary: List discounts
description: Returns a paginated list of discount rules.
parameters:
- $ref: '#/components/parameters/PropertyIds'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
$ref: '#/components/responses/DiscountList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createDiscount
tags:
- Discounts
summary: Create a discount
description: Creates a new discount rule.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DiscountInput'
responses:
'200':
$ref: '#/components/responses/Discount'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/ValidationError'
/discounts/{id}:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: getDiscount
tags:
- Discounts
summary: Retrieve a discount
description: Retrieves a single discount by identifier.
responses:
'200':
$ref: '#/components/responses/Discount'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: updateDiscount
tags:
- Discounts
summary: Update a discount
description: Updates a discount rule.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DiscountInput'
responses:
'200':
$ref: '#/components/responses/Discount'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/ValidationError'
delete:
operationId: deleteDiscount
tags:
- Discounts
summary: Delete a discount
description: Deletes a discount rule.
responses:
'200':
$ref: '#/components/responses/Deleted'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
Unauthorized:
description: Missing or invalid credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Deleted:
description: Deletion confirmation.
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteResponse'
DiscountList:
description: A page of discounts.
content:
application/json:
schema:
$ref: '#/components/schemas/DiscountPage'
ValidationError:
description: The request payload failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Discount:
description: A discount.
content:
application/json:
schema:
$ref: '#/components/schemas/Discount'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
properties:
statusCode:
type: integer
error:
type: string
messages:
type: array
items:
type: string
DiscountInput:
type: object
required:
- property_id
- name
properties:
property_id:
type: integer
name:
type: string
amount:
type: number
is_percent:
type: boolean
min_nights:
type: integer
Discount:
allOf:
- $ref: '#/components/schemas/DiscountInput'
- type: object
properties:
id:
type: integer
Page:
type: object
description: Common pagination envelope returned by list endpoints.
properties:
count:
type: integer
limit:
type: integer
offset:
type: integer
nextPageUrl:
type:
- string
- 'null'
DeleteResponse:
type: object
properties:
id:
type: integer
success:
type: boolean
DiscountPage:
allOf:
- $ref: '#/components/schemas/Page'
- type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Discount'
parameters:
Id:
name: id
in: path
required: true
description: The unique identifier of the resource.
schema:
type: integer
PropertyIds:
name: property_ids
in: query
description: One or more property identifiers to filter by.
style: form
explode: true
schema:
type: array
items:
type: integer
Offset:
name: offset
in: query
description: Number of items to skip for pagination.
schema:
type: integer
default: 0
Limit:
name: limit
in: query
description: Maximum number of items to return per page.
schema:
type: integer
default: 100
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication. Supply your OwnerRez API key / Personal Access Token as the username; the password is left blank.
oauth2:
type: oauth2
description: OAuth 2.0 Authorization Code Grant (RFC 6749 Section 4.1). Register an OAuth app in the OwnerRez Developer/API settings, send the user to the authorization URL, then exchange the returned code for an access token.
flows:
authorizationCode:
authorizationUrl: https://app.ownerrez.com/oauth/authorize
tokenUrl: https://api.ownerrez.com/oauth/access_token
scopes: {}