7SIGNAL Access Points API

The Access Points API from 7SIGNAL — 4 operation(s) for access points.

Operations 10

GET /access-points/agents List the Agent Access Points #
POST /access-points/agents Creates one or many Agent Access Points #
GET /access-points/agents/{accessPointId} Fetch the specified Access Point #
PUT /access-points/agents/{accessPointId} Replace the specified Access Point with the details in the payload #
PATCH /access-points/agents/{accessPointId} Update the specified Access Point with the details in the payload, name being… #
DELETE /access-points/agents/{accessPointId} Delete the Access Point specified by the UUID #
GET /access-points/sensors List the Sensor Access Points #
GET /access-points/sensors/{accessPointId} Fetch the specified Sensor Access Point #
PATCH /access-points/sensors/{accessPointId} Update the alias of the specified Access Point #
DELETE /access-points/sensors/{accessPointId} Unbind the specified access point from its managing sensor #

Documentation

Specifications

Other Resources

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/7signalsolutions-access-points-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

7signalsolutions-access-points-api-openapi.yml Raw ↑
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.AgentAccessPointBssid:
      type: object
      properties:
        id:
          type: string
          format: uuid
        bssid:
          type: string
        band:
          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
    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.GetSensorAccessPointsResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/access-points.SensorAccessPoint'
        pagination:
          $ref: '#/components/schemas/common.Pagination'
    access-points.GetAgentAccessPointsResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/access-points.AgentAccessPoint'
        pagination:
          $ref: '#/components/schemas/common.Pagination'
    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.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.SensorAccessPointPatchRequest:
      type: object
      properties:
        accessPointAlias:
          type: string
    access-points.GetSensorAccessPointResponse:
      $ref: '#/components/schemas/access-points.SensorAccessPoint'
    access-points.PostAgentAccessPointsRequest:
      type: array
      items:
        $ref: '#/components/schemas/access-points.AgentAccessPointRequest'
    access-points.GetAgentAccessPointResponse:
      $ref: '#/components/schemas/access-points.AgentAccessPoint'
    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.AgentAccessPointBssidRequest:
      type: object
      properties:
        bssid:
          type: string
        band:
          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: {}