Openpath orgs/sites API

Sites

Operations 22

GET /orgs/{orgId}/sites List all sites #
POST /orgs/{orgId}/sites Create a site #
GET /orgs/{orgId}/sites/{siteId} Describe a site #
DELETE /orgs/{orgId}/sites/{siteId} Delete a site #
PATCH /orgs/{orgId}/sites/{siteId} Update a site #
GET /orgs/{orgId}/sites/{siteId}/locationRestriction Get location restriction for a site #
DELETE /orgs/{orgId}/sites/{siteId}/locationRestriction Delete location restriction for a site #
PUT /orgs/{orgId}/sites/{siteId}/locationRestriction Set location restriction for a site #
GET /orgs/{orgId}/sites/{siteId}/locationMeasurements List location measurements for a site #
GET /orgs/{orgId}/sites/{siteId}/users List all users of a site #
GET /orgs/{orgId}/sites/{siteId}/groups List all groups of a site #
GET /orgs/{orgId}/sites/{siteId}/locationMeasurements/{locationMeasurementId} Describe a location measurement for a site #
DELETE /orgs/{orgId}/sites/{siteId}/locationMeasurements/{locationMeasurementId} Delete a location measurement for a site #
DELETE /orgs/{orgId}/sites/{siteId}/users/{userId} Remove a user from a site #
PUT /orgs/{orgId}/sites/{siteId}/users/{userId} Add a user to a site #
DELETE /orgs/{orgId}/sites/{siteId}/groups/{groupId} Remove a group from a site #
PUT /orgs/{orgId}/sites/{siteId}/groups/{groupId} Add a group to a site #
PATCH /orgs/{orgId}/sites/{siteId}/userIds Bulk-update a site's users #
PUT /orgs/{orgId}/sites/{siteId}/userIds Set a site's users by replacing the entire set with this one #
PATCH /orgs/{orgId}/sites/{siteId}/groupIds Bulk-update a site's groups #
PUT /orgs/{orgId}/sites/{siteId}/groupIds Set a site's groups by replacing the entire set with this one #
PUT /orgs/{orgId}/sites/{siteId}/locationMeasurement Set a location measurement for a site #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openpath-orgs-sites-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

openpath-orgs-sites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Openpath API Documentation auth Orgs/sites API
  version: 1.0.0
  description: Authentication and Login
servers:
- url: https://api.openpath.com
tags:
- name: orgs/sites
  description: Sites
paths:
  /orgs/{orgId}/sites:
    get:
      summary: List all sites
      operationId: listSites
      description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-role:w,o{params.orgId}-role:r,o{params.orgId}-admin:w,o{params.orgId}-admin:r,o{params.orgId}-hw:w,o{params.orgId}-hw:r,o{params.orgId}-rpt:w,o{params.orgId}-rpt:r,o{params.orgId}-dash:w,o{params.orgId}-dash:r,o{params.orgId}-dashActivity:w,o{params.orgId}-dashActivity:r,o{params.orgId}-dashCust:w,o{params.orgId}-dashCust:r,o{params.orgId}-user:w,o{params.orgId}-user:r,o{params.orgId}-site:w,o{params.orgId}-site:r,o{params.orgId}-siteGeneral:w,o{params.orgId}-siteGeneral:r,o{params.orgId}-musterReport:r,o{params.orgId}-musterReport:w,o{params.orgId}-occupancyReport:r,o{params.orgId}-occupancyReport:w,o{params.orgId}-parcelMgmtParcels:r,o{params.orgId}-parcelMgmtParcels:w,o:w,o:r,s-o:w,s-o:r,o{params.orgId}-sos:w,o{params.orgId}-videoAdmin:w<br/><br/>__Endpoint name__: listSites'
      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
      - name: options
        in: query
        schema:
          type: string
          default: ''
      tags:
      - orgs/sites
      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
                        opal:
                          type: string
                        name:
                          type: string
                        address:
                          type:
                          - string
                          - 'null'
                        address2:
                          type:
                          - string
                          - 'null'
                        city:
                          type:
                          - string
                          - 'null'
                        state:
                          type:
                          - string
                          - 'null'
                        zip:
                          type:
                          - string
                          - 'null'
                        country:
                          type:
                          - string
                          - 'null'
                        phone:
                          type:
                          - string
                          - 'null'
                        createdAt:
                          type: string
                          format: date
                        updatedAt:
                          type: string
                          format: date
                        zoneCount:
                          type: integer
                        language:
                          type:
                          - string
                          - 'null'
                        userCount:
                          type: integer
                        contactName:
                          type:
                          - string
                          - 'null'
                        contactPhone:
                          type:
                          - string
                          - 'null'
                        boundary:
                          type:
                          - string
                          - 'null'
                        resources:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                              name:
                                type: string
                              contentType:
                                type: string
                              fileName:
                                type: string
                              s3Data:
                                type: string
                              s3Key:
                                type: string
                              s3Bucket:
                                type: string
                              url:
                                type:
                                - string
                                - 'null'
                              createdAt:
                                type: string
                                format: date-time
                              updatedAt:
                                type: string
                                format: date-time
                            required:
                            - id
                            - name
                            - contentType
                            - fileName
                            - s3Data
                            - s3Key
                            - s3Bucket
                            - createdAt
                            - updatedAt
                        sosFacilityCampus:
                          type:
                          - object
                          - 'null'
                          properties:
                            siteId:
                              type: number
                            sosFacilityCampusIdExt:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                          required:
                          - siteId
                          - sosFacilityCampusIdExt
                          - createdAt
                          - updatedAt
                        realUserGroups:
                          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}-role:w
      - o{params.orgId}-role:r
      - o{params.orgId}-admin:w
      - o{params.orgId}-admin:r
      - o{params.orgId}-hw:w
      - o{params.orgId}-hw:r
      - o{params.orgId}-rpt:w
      - o{params.orgId}-rpt:r
      - o{params.orgId}-dash:w
      - o{params.orgId}-dash:r
      - o{params.orgId}-dashActivity:w
      - o{params.orgId}-dashActivity:r
      - o{params.orgId}-dashCust:w
      - o{params.orgId}-dashCust:r
      - o{params.orgId}-user:w
      - o{params.orgId}-user:r
      - o{params.orgId}-site:w
      - o{params.orgId}-site:r
      - o{params.orgId}-siteGeneral:w
      - o{params.orgId}-siteGeneral:r
      - o{params.orgId}-musterReport:r
      - o{params.orgId}-musterReport:w
      - o{params.orgId}-occupancyReport:r
      - o{params.orgId}-occupancyReport:w
      - o{params.orgId}-parcelMgmtParcels:r
      - o{params.orgId}-parcelMgmtParcels:w
      - o:w
      - o:r
      - s-o:w
      - s-o:r
      - o{params.orgId}-sos:w
      - o{params.orgId}-videoAdmin:w
    post:
      summary: Create a site
      operationId: createSite
      description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-user:w,o{params.orgId}-site:w,o{params.orgId}-siteGeneral:w,o{params.orgId}-admin:w,o{params.orgId}-quickStart:w,o{params.orgId}-sos:w,o:w,s-o:w<br/><br/>__Endpoint name__: createSite'
      parameters:
      - name: orgId
        in: path
        required: true
        schema:
          type: integer
      tags:
      - orgs/sites
      security:
      - jwt: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                      opal:
                        type: string
                      name:
                        type: string
                      address:
                        type:
                        - string
                        - 'null'
                      address2:
                        type:
                        - string
                        - 'null'
                      city:
                        type:
                        - string
                        - 'null'
                      state:
                        type:
                        - string
                        - 'null'
                      zip:
                        type:
                        - string
                        - 'null'
                      country:
                        type:
                        - string
                        - 'null'
                      phone:
                        type:
                        - string
                        - 'null'
                      createdAt:
                        type: string
                        format: date
                      updatedAt:
                        type: string
                        format: date
                      zoneCount:
                        type: integer
                      language:
                        type:
                        - string
                        - 'null'
                      userCount:
                        type: integer
                      contactName:
                        type:
                        - string
                        - 'null'
                      contactPhone:
                        type:
                        - string
                        - 'null'
                      boundary:
                        type:
                        - string
                        - 'null'
                      resources:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            name:
                              type: string
                            contentType:
                              type: string
                            fileName:
                              type: string
                            s3Data:
                              type: string
                            s3Key:
                              type: string
                            s3Bucket:
                              type: string
                            url:
                              type:
                              - string
                              - 'null'
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                          required:
                          - id
                          - name
                          - contentType
                          - fileName
                          - s3Data
                          - s3Key
                          - s3Bucket
                          - createdAt
                          - updatedAt
                      sosFacilityCampus:
                        type:
                        - object
                        - 'null'
                        properties:
                          siteId:
                            type: number
                          sosFacilityCampusIdExt:
                            type: string
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                        required:
                        - siteId
                        - sosFacilityCampusIdExt
                        - createdAt
                        - updatedAt
                      realUserGroups:
                        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}-user:w
      - o{params.orgId}-site:w
      - o{params.orgId}-siteGeneral:w
      - o{params.orgId}-admin:w
      - o{params.orgId}-quickStart:w
      - o{params.orgId}-sos: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
                address:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                address2:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                city:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                zip:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                phone:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                language:
                  type:
                  - string
                  - 'null'
                  enum:
                  - en
                  - fr
                  - es
                  - it
                  - de
                country:
                  type:
                  - string
                  - 'null'
                  x-convert:
                    trim: true
                state:
                  type:
                  - string
                  - 'null'
                  x-convert:
                    trim: true
                contactName:
                  type:
                  - string
                  - 'null'
                  maxLength: 100
                contactPhone:
                  type:
                  - string
                  - 'null'
                  maxLength: 20
                boundary:
                  type:
                  - string
                  - 'null'
                resources:
                  type: array
                  items:
                    type: object
                    properties:
                      fileName:
                        type: string
                      fileBase64:
                        type: string
                    required:
                    - fileName
                    - fileBase64
              required:
              - name
  /orgs/{orgId}/sites/{siteId}:
    get:
      summary: Describe a site
      operationId: describeSite
      description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-user:w,o{params.orgId}-user:r,o{params.orgId}-site:w,o{params.orgId}-site:r,o{params.orgId}-siteGeneral:w,o{params.orgId}-siteGeneral:r,o{params.orgId}-parcelMgmtParcels:r,o{params.orgId}-parcelMgmtParcels:w,o{params.orgId}-sos:w,o:w,o:r,s-o:w,s-o:r<br/><br/>__Endpoint name__: describeSite'
      parameters:
      - name: orgId
        in: path
        required: true
        schema:
          type: integer
      - name: siteId
        in: path
        required: true
        schema:
          type: integer
      - name: options
        in: query
        schema:
          type: string
          default: ''
      tags:
      - orgs/sites
      security:
      - jwt: []
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                      opal:
                        type: string
                      name:
                        type: string
                      address:
                        type:
                        - string
                        - 'null'
                      address2:
                        type:
                        - string
                        - 'null'
                      city:
                        type:
                        - string
                        - 'null'
                      state:
                        type:
                        - string
                        - 'null'
                      zip:
                        type:
                        - string
                        - 'null'
                      country:
                        type:
                        - string
                        - 'null'
                      phone:
                        type:
                        - string
                        - 'null'
                      createdAt:
                        type: string
                        format: date
                      updatedAt:
                        type: string
                        format: date
                      zoneCount:
                        type: integer
                      language:
                        type:
                        - string
                        - 'null'
                      userCount:
                        type: integer
                      contactName:
                        type:
                        - string
                        - 'null'
                      contactPhone:
                        type:
                        - string
                        - 'null'
                      boundary:
                        type:
                        - string
                        - 'null'
                      resources:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            name:
                              type: string
                            contentType:
                              type: string
                            fileName:
                              type: string
                            s3Data:
                              type: string
                            s3Key:
                              type: string
                            s3Bucket:
                              type: string
                            url:
                              type:
                              - string
                              - 'null'
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                          required:
                          - id
                          - name
                          - contentType
                          - fileName
                          - s3Data
                          - s3Key
                          - s3Bucket
                          - createdAt
                          - updatedAt
                      sosFacilityCampus:
                        type:
                        - object
                        - 'null'
                        properties:
                          siteId:
                            type: number
                          sosFacilityCampusIdExt:
                            type: string
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                        required:
                        - siteId
                        - sosFacilityCampusIdExt
                        - createdAt
                        - updatedAt
                      realUserGroups:
                        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}-user:w
      - o{params.orgId}-user:r
      - o{params.orgId}-site:w
      - o{params.orgId}-site:r
      - o{params.orgId}-siteGeneral:w
      - o{params.orgId}-siteGeneral:r
      - o{params.orgId}-parcelMgmtParcels:r
      - o{params.orgId}-parcelMgmtParcels:w
      - o{params.orgId}-sos:w
      - o:w
      - o:r
      - s-o:w
      - s-o:r
    delete:
      summary: Delete a site
      operationId: deleteSite
      description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-user:w,o{params.orgId}-site:w,o{params.orgId}-admin:w,o{params.orgId}-quickStart:w,o{params.orgId}-siteGeneral:w,o:w,s-o:w,o{params.orgId}-sos:w<br/><br/>__Endpoint name__: deleteSite'
      parameters:
      - name: orgId
        in: path
        required: true
        schema:
          type: integer
      - name: siteId
        in: path
        required: true
        schema:
          type: integer
      tags:
      - orgs/sites
      security:
      - jwt: []
      responses:
        '204':
          description: No Content
      x-op-scopes:
      - o{params.orgId}-user:w
      - o{params.orgId}-site:w
      - o{params.orgId}-admin:w
      - o{params.orgId}-quickStart:w
      - o{params.orgId}-siteGeneral:w
      - o:w
      - s-o:w
      - o{params.orgId}-sos:w
    patch:
      summary: Update a site
      operationId: updateSite
      description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-user:w,o{params.orgId}-site:w,o{params.orgId}-siteGeneral:w,o{params.orgId}-sos:w,o:w,s-o:w<br/><br/>__Endpoint name__: updateSite'
      parameters:
      - name: orgId
        in: path
        required: true
        schema:
          type: integer
      - name: siteId
        in: path
        required: true
        schema:
          type: integer
      tags:
      - orgs/sites
      security:
      - jwt: []
      responses:
        '204':
          description: No Content
      x-op-scopes:
      - o{params.orgId}-user:w
      - o{params.orgId}-site:w
      - o{params.orgId}-siteGeneral:w
      - o{params.orgId}-sos: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
                address:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                address2:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                city:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                zip:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                phone:
                  type:
                  - string
                  - 'null'
                  minLength: 1
                  maxLength: 100
                  x-convert:
                    trim: true
                language:
                  type:
                  - string
                  - 'null'
                  enum:
                  - en
                  - fr
                  - es
                  - it
                  - de
                country:
                  type:
                  - string
                  - 'null'
                  x-convert:
                    trim: true
                state:
                  type:
                  - string
                  - 'null'
                  x-convert:
                    trim: true
                contactName:
                  type:
                  - string
                  - 'null'
                contactPhone:
                  type:
                  - string
                  - 'null'
                boundary:
                  type:
                  - string
                  - 'null'
                resources:
                  type: array
                  items:
                    type: object
                    properties:
                      fileName:
                        type: string
                      fileBase64:
                        type: string
                    required:
                    - fileName
                    - fileBase64
  /orgs/{orgId}/sites/{siteId}/locationRestriction:
    get:
      summary: Get location restriction for a site
      operationId: getSiteLocationRestriction
      description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-site:w,o{params.orgId}-site:r,o:w,o:r,s-o:w,s-o:r<br/><br/>__Endpoint name__: getSiteLocationRestriction'
      parameters:
      - name: orgId
        in: path
        required: true
        schema:
          type: integer
      - name: siteId
        in: path
        required: true
        schema:
          type: integer
      tags:
      - orgs/sites
      security:
      - jwt: []
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
           

# --- truncated at 32 KB (107 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openpath/refs/heads/main/openapi/openpath-orgs-sites-api-openapi.yml