openapi: 3.2.0
info:
title: Hometrack API Public Pvrplugin API
description: Hometrack API for public consumption
version: '1.0'
x-api-evangelist-provenance:
provider: Hometrack
portal: https://developer.hometrack.com
harvested: '2026-07-26'
method: Azure API Management developer data-plane, anonymous
sources:
- url: https://developer.hometrack.com/developer/apis/hometrack-api-public?api-version=2022-04-01-preview&export=true&format=openapi-link
status: 200
note: OpenAPI 3.0.1 export (info/servers/securitySchemes verbatim; paths empty in export)
- url: https://developer.hometrack.com/developer/apis/hometrack-api-public/operations?api-version=2022-04-01-preview
status: 200
note: operation list
- url: https://developer.hometrack.com/developer/apis/hometrack-api-public/operations/{operationId}?api-version=2022-04-01-preview
status: 200
note: per-operation request/response metadata
- url: https://developer.hometrack.com/developer/apis/hometrack-api-public/schemas?api-version=2022-04-01-preview
status: 200
note: component schema documents
note: paths and components.schemas were reassembled verbatim from Hometrack's own APIM operation and schema metadata; nothing was invented.
servers:
- url: https://api.hometrack.com
- url: https://api.hometrack.local
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Pvrplugin
paths:
/api/pvrplugin/enquiry/{token}:
post:
operationId: PvrPluginApi_StoreEnquiry
summary: Checks if email or it's domain is blacklisted and sends verification code if set in umbraco
description: Checks if email or it's domain is blacklisted and sends verification code if set in umbraco
parameters:
- name: token
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Enquiry'
example:
Contact:
Email: string
Firstname: string
Lastname: string
Phone: string
Company: string
JobTitle: string
BrandCode: string
text/json:
schema:
$ref: '#/components/schemas/Enquiry'
example:
Contact:
Email: string
Firstname: string
Lastname: string
Phone: string
Company: string
JobTitle: string
BrandCode: string
application/xml:
schema:
$ref: '#/components/schemas/Enquiry'
example: "\n \n string\n string\n string\n string\n string\n string\n \n string\n"
text/xml:
schema:
$ref: '#/components/schemas/Enquiry'
example: "\n \n string\n string\n string\n string\n string\n string\n \n string\n"
application/x-www-form-urlencoded:
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPvrpluginEnquiryTokenPost200ApplicationJsonResponse'
example: {}
text/json:
schema:
$ref: '#/components/schemas/ApiPvrpluginEnquiryTokenPost200TextJsonResponse'
example: {}
application/xml:
schema:
$ref: '#/components/schemas/ApiPvrpluginEnquiryTokenPost200ApplicationXmlResponse'
example:
text/xml:
schema:
$ref: '#/components/schemas/ApiPvrpluginEnquiryTokenPost200TextXmlResponse'
example:
tags:
- Pvrplugin
/api/pvrplugin/order/{token}:
post:
operationId: PvrPluginApi_GenerateOrder
summary: Creates a report for pvr plugin
description: Creates a report for pvr plugin
parameters:
- name: token
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GratisOrder'
example:
NodeId: 0
Firstname: string
Surname: string
EmailAddress: string
ValidationCode: string
Product:
Name: string
Type: string
Description: string
Price: 0
InputTypes: string
InputValues: string
ReportPostcode: string
ReportAddress: string
BrandName: string
BrandCode: string
Telephone: string
PreparedFor: string
text/json:
schema:
$ref: '#/components/schemas/GratisOrder'
example:
NodeId: 0
Firstname: string
Surname: string
EmailAddress: string
ValidationCode: string
Product:
Name: string
Type: string
Description: string
Price: 0
InputTypes: string
InputValues: string
ReportPostcode: string
ReportAddress: string
BrandName: string
BrandCode: string
Telephone: string
PreparedFor: string
application/xml:
schema:
$ref: '#/components/schemas/GratisOrder'
example: "\n 0\n string\n string\n string\n string\n \n string\n string\n string\n 0\n string\n string\n \n string\n string\n string\n string\n string\n string\n"
text/xml:
schema:
$ref: '#/components/schemas/GratisOrder'
example: "\n 0\n string\n string\n string\n string\n \n string\n string\n string\n 0\n string\n string\n \n string\n string\n string\n string\n string\n string\n"
application/x-www-form-urlencoded:
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPvrpluginOrderTokenPost200ApplicationJsonResponse'
example: {}
text/json:
schema:
$ref: '#/components/schemas/ApiPvrpluginOrderTokenPost200TextJsonResponse'
example: {}
application/xml:
schema:
$ref: '#/components/schemas/ApiPvrpluginOrderTokenPost200ApplicationXmlResponse'
example:
text/xml:
schema:
$ref: '#/components/schemas/ApiPvrpluginOrderTokenPost200TextXmlResponse'
example:
tags:
- Pvrplugin
/api/pvrplugin/{domain}:
get:
operationId: PvrPluginApi_GetConfiguration
summary: 'Returns the requirements for pvr plugin.
This method calls an account service to resolve and authenticate domain.
Also it checks if XML configuration is set and brandcode is specified.
It also checks if Brand exists in umbraco and Partner associated with it.'
description: 'Returns the requirements for pvr plugin.
This method calls an account service to resolve and authenticate domain.
Also it checks if XML configuration is set and brandcode is specified.
It also checks if Brand exists in umbraco and Partner associated with it.'
parameters:
- name: domain
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPvrpluginDomainGet200ApplicationJsonResponse'
example: {}
text/json:
schema:
$ref: '#/components/schemas/ApiPvrpluginDomainGet200TextJsonResponse'
example: {}
application/xml:
schema:
$ref: '#/components/schemas/ApiPvrpluginDomainGet200ApplicationXmlResponse'
example:
text/xml:
schema:
$ref: '#/components/schemas/ApiPvrpluginDomainGet200TextXmlResponse'
example:
tags:
- Pvrplugin
/api/pvrplugin/{domain}/{partnerid}:
get:
operationId: PvrPluginApi_GetConfigurationByPartnerId
summary: 'Returns the requirements for pvr plugin.
This method calls an account service to resolve and authenticate domain.
Also it checks if XML configuration is set and brandcode is specified.
It also checks if Brand exists in umbraco and Partner associated with it.'
description: 'Returns the requirements for pvr plugin.
This method calls an account service to resolve and authenticate domain.
Also it checks if XML configuration is set and brandcode is specified.
It also checks if Brand exists in umbraco and Partner associated with it.'
parameters:
- name: partnerid
in: path
required: true
schema:
$ref: '#/components/schemas/Partnerid'
description: Format - int32.
- name: domain
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPvrpluginDomainPartneridGet200ApplicationJsonResponse'
example: {}
text/json:
schema:
$ref: '#/components/schemas/ApiPvrpluginDomainPartneridGet200TextJsonResponse'
example: {}
application/xml:
schema:
$ref: '#/components/schemas/ApiPvrpluginDomainPartneridGet200ApplicationXmlResponse'
example:
text/xml:
schema:
$ref: '#/components/schemas/ApiPvrpluginDomainPartneridGet200TextXmlResponse'
example:
tags:
- Pvrplugin
components:
schemas:
GratisOrder:
type: object
properties:
NodeId:
format: int32
type: integer
Firstname:
type: string
Surname:
type: string
EmailAddress:
type: string
ValidationCode:
type: string
Product:
$ref: '#/components/schemas/Product'
ReportPostcode:
type: string
ReportAddress:
type: string
BrandName:
type: string
BrandCode:
type: string
Telephone:
type: string
PreparedFor:
type: string
ApiPvrpluginEnquiryTokenPost200ApplicationJsonResponse:
type: object
ApiPvrpluginOrderTokenPost200ApplicationJsonResponse:
type: object
ApiPvrpluginDomainGet200TextXmlResponse:
type: object
Enquiry:
description: Enquiry model.
type: object
properties:
Contact:
$ref: '#/components/schemas/Contact'
description: Contact details
BrandCode:
description: Brand code
type: string
ApiPvrpluginDomainGet200ApplicationJsonResponse:
type: object
ApiPvrpluginEnquiryTokenPost200TextXmlResponse:
type: object
ApiPvrpluginOrderTokenPost200TextXmlResponse:
type: object
Product:
type: object
properties:
Name:
type: string
Type:
type: string
Description:
type: string
Price:
format: double
type: number
InputTypes:
type: string
InputValues:
type: string
ApiPvrpluginDomainPartneridGet200ApplicationJsonResponse:
type: object
ApiPvrpluginDomainPartneridGet200ApplicationXmlResponse:
type: object
ApiPvrpluginOrderTokenPost200ApplicationXmlResponse:
type: object
ApiPvrpluginOrderTokenPost200TextJsonResponse:
type: object
ApiPvrpluginDomainGet200ApplicationXmlResponse:
type: object
ApiPvrpluginDomainGet200TextJsonResponse:
type: object
ApiPvrpluginEnquiryTokenPost200ApplicationXmlResponse:
type: object
Contact:
description: The Contact model. Used for Create/Update/Retrieve operations with salesforce
type: object
properties:
Email:
description: Email address
type: string
Firstname:
description: Firstname
type: string
Lastname:
description: Lastname
type: string
Phone:
description: Phone number
type: string
Company:
description: Company name
type: string
JobTitle:
description: Job title
type: string
ApiPvrpluginEnquiryTokenPost200TextJsonResponse:
type: object
Partnerid:
format: int32
x-apim-inline: true
ApiPvrpluginDomainPartneridGet200TextJsonResponse:
type: object
ApiPvrpluginDomainPartneridGet200TextXmlResponse:
type: object
securitySchemes:
apiKeyHeader:
type: apiKey
name: Ocp-Apim-Subscription-Key
in: header
apiKeyQuery:
type: apiKey
name: subscription-key
in: query