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.
openapi: 3.2.0
info:
title: PetExec Owners API
description: The PetExec API is a REST API for existing PetExec customers and their developers to extend the PetExec pet-care business management platform (daycare, boarding, grooming, training, and scheduled services).
version: '1.0'
contact:
name: PetExec
url: https://www.petexec.net/features/api-for-developers
servers:
- url: https://secure.petexec.net/api
description: PetExec production API (used by nearly all official PHP and most JavaScript examples)
- url: https://beta.petexec.net/api
description: PetExec beta/staging API (referenced by some official JavaScript examples for the same paths; not separately documented)
security:
- bearerAuth: []
tags:
- name: Owners
description: Owner (pet parent) account records and search.
paths:
/owner:
get:
operationId: listOwners
tags:
- Owners
summary: List active owners
description: Returns all active owner (pet parent) accounts. Requires the owner_read scope.
responses:
'200':
description: A list of owners.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Owner'
'401':
$ref: '#/components/responses/Unauthorized'
/owner/{owner_id}:
parameters:
- $ref: '#/components/parameters/OwnerId'
get:
operationId: getOwner
tags:
- Owners
summary: Get owner information
description: Retrieves a single owner's account information. Requires the owner_read scope.
responses:
'200':
description: The requested owner.
content:
application/json:
schema:
$ref: '#/components/schemas/Owner'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/search/owners/{search_criteria}/page/{page_number}/data/{data_per_page}:
get:
operationId: searchOwners
tags:
- Owners
summary: Search owners
description: Keyword search across owners, paginated.
parameters:
- name: search_criteria
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/PageNumber'
- $ref: '#/components/parameters/DataPerPage'
responses:
'200':
description: A page of matching owners.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Owner'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
Owner:
type: object
description: Field-level schema is not published by PetExec; shape inferred only from the fact that examples key on an owner ID and are requested under the owner_read/owner_update scopes.
properties:
ownerid:
type: string
additionalProperties: true
Error:
type: object
additionalProperties: true
parameters:
PageNumber:
name: page_number
in: path
required: true
description: Page number of search results.
schema:
type: integer
OwnerId:
name: owner_id
in: path
required: true
description: The PetExec owner (pet parent) ID.
schema:
type: string
DataPerPage:
name: data_per_page
in: path
required: true
description: Number of entries per page.
schema:
type: integer
responses:
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing, invalid, or expired Bearer token, or insufficient scope.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'OAuth2 password-grant access token obtained from POST /token. Passed as `Authorization: Bearer YOUR_ACCESS_TOKEN`.'