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/openpath-orgs-contactsensors-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: Openpath API Documentation auth Orgs/contact Sensors API
version: 1.0.0
description: Authentication and Login
servers:
- url: https://api.openpath.com
tags:
- name: orgs/contactSensors
description: Contact Sensors
paths:
/orgs/{orgId}/contactSensors:
get:
summary: List all contact sensors
operationId: listContactSensors
description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-hw:w,o{params.orgId}-hw:r,o{params.orgId}-site:w,o{params.orgId}-site:r,o{params.orgId}-siteGeneral:w,o{params.orgId}-siteGeneral:r,o{params.orgId}-admin:w,o{params.orgId}-admin:r,o{params.orgId}-quickStart:w,o{params.orgId}-quickStart:r,o:w,o:r,s-o:w,s-o:r<br/><br/>__Endpoint name__: listContactSensors'
parameters:
- name: orgId
in: path
required: true
schema:
type: integer
- name: limit
in: query
schema:
type: integer
maximum: 1000
minimum: 1
- name: offset
in: query
schema:
type: integer
default: 0
minimum: 0
- name: sort
in: query
schema:
type: string
default: name
pattern: ^[a-zA-Z0-9.]+(,\s*[a-zA-Z0-9.]+)*$
- name: order
in: query
schema:
type: string
default: asc
pattern: ^(asc|desc)+(,\s*(asc|desc)+)*$
- name: q
in: query
schema:
type: string
- name: filter
in: query
schema:
type: string
- name: preFilter
in: query
schema:
type: string
tags:
- orgs/contactSensors
security:
- jwt: []
responses:
'200':
description: Successful
content:
application/json:
schema:
type: object
properties:
totalCount:
type: integer
filteredCount:
type: integer
data:
type: array
items:
type: object
properties:
id:
type: number
name:
type: string
isAjarEnabled:
type: boolean
ajarDurationSeconds:
type:
- number
- 'null'
isForcedOpenEnabled:
type: boolean
acuPort:
type:
- object
- 'null'
properties:
id:
type: number
acuPortTypePortNumber:
type: number
virtualPortNumber:
type:
- number
- 'null'
portNumber:
type:
- number
- 'null'
label:
type: string
acu:
type: object
properties:
id:
type: number
name:
type: string
required:
- id
expansionBoard:
type: object
properties:
id:
type: number
number:
type: integer
required:
- id
eol:
type:
- object
- 'null'
properties:
eolSupervision:
type: object
properties:
id:
type: number
name:
type: string
required:
- id
required:
- id
entries:
type: array
items:
type: object
properties:
id:
type: number
name:
type: string
required:
- id
required:
- id
meta:
type: object
properties:
accessToken:
type:
- object
- 'null'
properties:
scopeUpdatedAt:
type: string
format: date
siteSpecificAccess:
type:
- object
- 'null'
properties:
isSiteSpecific:
type: boolean
siteIds:
type:
- array
- 'null'
items:
type: integer
siteIdsByScope:
type:
- object
- 'null'
properties:
string:
type:
- array
- 'null'
items:
type: integer
x-op-scopes:
- o{params.orgId}-hw:w
- o{params.orgId}-hw:r
- o{params.orgId}-site:w
- o{params.orgId}-site:r
- o{params.orgId}-siteGeneral:w
- o{params.orgId}-siteGeneral:r
- o{params.orgId}-admin:w
- o{params.orgId}-admin:r
- o{params.orgId}-quickStart:w
- o{params.orgId}-quickStart:r
- o:w
- o:r
- s-o:w
- s-o:r
/orgs/{orgId}/contactSensors/{contactSensorId}:
get:
summary: Describe a contact sensor
operationId: describeContactSensor
description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-hw:w,o{params.orgId}-hw:r,o{params.orgId}-site:w,o{params.orgId}-site:r,o{params.orgId}-siteGeneral:w,o{params.orgId}-siteGeneral:r,o:w,o:r,s-o:w,s-o:r<br/><br/>__Endpoint name__: describeContactSensor'
parameters:
- name: orgId
in: path
required: true
schema:
type: integer
- name: contactSensorId
in: path
required: true
schema:
type: integer
tags:
- orgs/contactSensors
security:
- jwt: []
responses:
'200':
description: Successful
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
id:
type: number
name:
type: string
isAjarEnabled:
type: boolean
ajarDurationSeconds:
type:
- number
- 'null'
isForcedOpenEnabled:
type: boolean
acuPort:
type:
- object
- 'null'
properties:
id:
type: number
acuPortTypePortNumber:
type: number
virtualPortNumber:
type:
- number
- 'null'
portNumber:
type:
- number
- 'null'
label:
type: string
acu:
type: object
properties:
id:
type: number
name:
type: string
required:
- id
expansionBoard:
type: object
properties:
id:
type: number
number:
type: integer
required:
- id
eol:
type:
- object
- 'null'
properties:
eolSupervision:
type: object
properties:
id:
type: number
name:
type: string
required:
- id
required:
- id
entries:
type: array
items:
type: object
properties:
id:
type: number
name:
type: string
required:
- id
required:
- id
meta:
type: object
properties:
accessToken:
type:
- object
- 'null'
properties:
scopeUpdatedAt:
type: string
format: date
siteSpecificAccess:
type:
- object
- 'null'
properties:
isSiteSpecific:
type: boolean
siteIds:
type:
- array
- 'null'
items:
type: integer
siteIdsByScope:
type:
- object
- 'null'
properties:
string:
type:
- array
- 'null'
items:
type: integer
x-op-scopes:
- o{params.orgId}-hw:w
- o{params.orgId}-hw:r
- o{params.orgId}-site:w
- o{params.orgId}-site:r
- o{params.orgId}-siteGeneral:w
- o{params.orgId}-siteGeneral:r
- o:w
- o:r
- s-o:w
- s-o:r
patch:
summary: Update a contact sensor
operationId: updateContactSensor
description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-hw:w,o{params.orgId}-site:w,o{params.orgId}-siteGeneral:w,o{params.orgId}-admin:w,o{params.orgId}-quickStart:w,o:w,s-o:w<br/><br/>__Endpoint name__: updateContactSensor'
parameters:
- name: orgId
in: path
required: true
schema:
type: integer
- name: contactSensorId
in: path
required: true
schema:
type: integer
tags:
- orgs/contactSensors
security:
- jwt: []
responses:
'204':
description: No Content
x-op-scopes:
- o{params.orgId}-hw:w
- o{params.orgId}-site:w
- o{params.orgId}-siteGeneral:w
- o{params.orgId}-admin:w
- o{params.orgId}-quickStart:w
- o:w
- s-o:w
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
x-convert:
trim: true
isAjarEnabled:
type: boolean
ajarDurationSeconds:
type:
- integer
- 'null'
minimum: 10
maximum: 900
isForcedOpenEnabled:
type: boolean
components:
securitySchemes:
jwt:
type: apiKey
name: Authorization
in: header
x-proxy-enabled: false