openapi: 3.2.0 info: title: 7SIGNAL Access Points API description: This is the 7SIGNAL public API for interacting with the 7SIGNAL Platform version: 2.21.1 contact: email: info@7signal.com license: name: All Rights Reserved url: https://www.7signal.com/contact servers: - url: https://api-v2.7signal.com description: 7SIGNAL API Gateway (production) tags: - name: Access Points paths: /access-points/agents: get: summary: List the Agent Access Points operationId: agent-access-points description: Page through all of the Agent Access Points security: - oauth2: [] parameters: - $ref: '#/components/parameters/common.OrganizationRequestParam' - name: bssids in: query description: Filter by specific BSSID MAC addresses. Provide a comma-separated list of BSSID strings to return only access points with those BSSIDs. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/access-points.GetAgentAccessPointsResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' tags: - Access Points post: operationId: PathAccessPointsAgents-post-n7p8 summary: Creates one or many Agent Access Points parameters: - $ref: '#/components/parameters/common.OrganizationRequestParam' requestBody: content: application/json: schema: $ref: '#/components/schemas/access-points.PostAgentAccessPointsRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/access-points.GetAgentAccessPointsResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' security: - oauth2: [] tags: - Access Points /access-points/agents/{accessPointId}: get: summary: Fetch the specified Access Point operationId: agent-access-point security: - oauth2: [] parameters: - $ref: '#/components/parameters/common.OrganizationRequestParam' - name: accessPointId in: path description: Fetch the specific access Point referenced by its id required: true schema: type: string format: uuid responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/access-points.GetAgentAccessPointResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' tags: - Access Points put: operationId: PathAccessPointsAgent-put-q9r0 summary: Replace the specified Access Point with the details in the payload parameters: - $ref: '#/components/parameters/common.OrganizationRequestParam' - name: accessPointId in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/access-points.AgentAccessPointRequest' required: true responses: '200': description: OK '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] tags: - Access Points patch: operationId: PathAccessPointsAgent-patch-s1t2 summary: Update the specified Access Point with the details in the payload, name being… parameters: - $ref: '#/components/parameters/common.OrganizationRequestParam' - name: accessPointId in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/access-points.AgentAccessPointRequest' required: true responses: '200': description: OK '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] tags: - Access Points delete: operationId: PathAccessPointsAgent-delete-u3v4 summary: Delete the Access Point specified by the UUID parameters: - $ref: '#/components/parameters/common.OrganizationRequestParam' - name: accessPointId in: path required: true schema: type: string format: uuid responses: '204': description: No Content '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] tags: - Access Points /access-points/sensors: get: summary: List the Sensor Access Points operationId: sensor-access-points description: Page through all of the Sensor Access Points security: - oauth2: [] parameters: - name: serviceAreaId in: query description: Filter the specific access point referenced by its service area id required: false schema: type: number - name: sensorId in: query description: Filter the specific access point referenced by its sensor id required: false schema: type: number - name: excludeDefaultServiceArea in: query description: Exclude the default service area from the results unless it is explicitly requested via sensorId or serviceAreaId required: false schema: type: boolean - name: signalStrengthMin in: query description: Filter access points whose average signal strength is below this threshold in dBm (e.g. -70). Only applies when sensorId is also provided. required: false schema: type: integer responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/access-points.GetSensorAccessPointsResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' tags: - Access Points /access-points/sensors/{accessPointId}: get: summary: Fetch the specified Sensor Access Point operationId: sensor-access-point security: - oauth2: [] parameters: - name: accessPointId in: path description: Fetch the specific access point referenced by its id required: true schema: type: integer responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/access-points.GetSensorAccessPointResponse' '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' tags: - Access Points patch: operationId: PathAccessPointsSensor-patch-w5x6 summary: Update the alias of the specified Access Point parameters: - name: accessPointId in: path required: true schema: type: integer requestBody: content: application/json: schema: $ref: '#/components/schemas/access-points.SensorAccessPointPatchRequest' required: true responses: '200': description: OK '400': $ref: '#/components/responses/common.400BadRequestResponse' '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] tags: - Access Points delete: operationId: PathAccessPointsSensor-delete-y7z8 summary: Unbind the specified access point from its managing sensor description: Removes the association between the access point and its managing sensor. The access point is not deleted from the database. parameters: - name: accessPointId in: path required: true schema: type: integer responses: '204': description: No Content '404': $ref: '#/components/responses/common.404NotFoundResponse' security: - oauth2: [] tags: - Access Points components: schemas: access-points.GetAgentAccessPointsResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/access-points.AgentAccessPoint' pagination: $ref: '#/components/schemas/common.Pagination' access-points.AgentAccessPointBssidRequest: type: object properties: bssid: type: string band: type: string access-points.GetAgentAccessPointResponse: $ref: '#/components/schemas/access-points.AgentAccessPoint' access-points.SensorAccessPoint: type: object properties: id: type: number name: type: string bssid: type: string description: type: string serviceAreaId: type: number serviceAreaName: type: string network: type: string band: type: number example: 5 managed: type: string managingEyeId: type: number essid: type: string frequency: type: number channelNumber: type: string accessPointState: type: string accessPointStatus: type: string access-points.GetSensorAccessPointsResponse: type: object properties: results: type: array items: $ref: '#/components/schemas/access-points.SensorAccessPoint' pagination: $ref: '#/components/schemas/common.Pagination' access-points.AgentAccessPointRequest: type: object properties: name: type: string controller: type: string locationId: type: string format: uuid bssids: type: array items: $ref: '#/components/schemas/access-points.AgentAccessPointBssidRequest' access-points.PostAgentAccessPointsRequest: type: array items: $ref: '#/components/schemas/access-points.AgentAccessPointRequest' access-points.AgentAccessPoint: type: object properties: id: type: string format: uuid name: type: string controller: type: string overTheAirName: type: string modifiedBy: type: string macAddress: type: string locationId: deprecated: true type: string format: uuid description: 'Deprecated: use serviceAreaId instead.' serviceAreaId: type: string format: uuid bssids: type: array items: $ref: '#/components/schemas/access-points.AgentAccessPointBssid' access-points.AgentAccessPointBssid: type: object properties: id: type: string format: uuid bssid: type: string band: type: string common.Pagination: type: object required: - perPage - page - total - pages properties: perPage: type: integer example: 10 page: type: integer description: The current page number. The first page is 1 minimum: 1 example: 2 total: type: integer example: 45 pages: type: integer example: 5 access-points.GetSensorAccessPointResponse: $ref: '#/components/schemas/access-points.SensorAccessPoint' access-points.SensorAccessPointPatchRequest: type: object properties: accessPointAlias: type: string common.ResponseStatusException: type: object required: - timestamp - status - error - path - requestId properties: timestamp: type: string format: date-time status: type: integer error: type: string message: type: string path: type: string requestId: type: string responses: common.400BadRequestResponse: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/common.ResponseStatusException' common.404NotFoundResponse: description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/common.ResponseStatusException' parameters: common.OrganizationRequestParam: name: organization in: query description: Fetch a specific organization. By default, the organization associated with your JWT token will be used. required: false schema: type: string securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: /oauth2/token scopes: {}