openapi: 3.1.0 info: title: Cradlepoint NetCloud Manager API v2 Accounts Routers API description: "RESTful API to the Cradlepoint NetCloud Manager (NCM) platform. Lets\nclient applications perform programmatically many of the same operations\navailable in the NCM user interface: enumerate accounts, manage routers\nand groups, configure them, listen to alerts, ingest device telemetry,\ntrack location history, and administer users and subscriptions.\n\nAuthentication uses two header pairs sent on every request:\n * X-CP-API-ID / X-CP-API-KEY — Cradlepoint API keys (account-level,\n used for API-usage tracking, available from the Getting Started page\n of developer.cradlepoint.com).\n * X-ECM-API-ID / X-ECM-API-KEY — NetCloud (ECM) API keys generated by\n an NCM administrator from the Tools tab in NCM. These keys carry the\n NCM role assignment (Administrator, Full Access User, Read Only User,\n Diagnostic User) and authorize what the request can do.\n" version: '2.0' contact: name: Ericsson Enterprise Wireless / Cradlepoint Support url: https://customer.cradlepoint.com/ termsOfService: https://cradlepoint.com/about-us/legal/ servers: - url: https://www.cradlepointecm.com/api/v2 description: NetCloud Manager Production security: - CradlepointApiKey: [] NetCloudApiKey: [] tags: - name: Routers description: Router (edge device) management paths: /routers/: get: summary: List Routers description: List routers visible to the authenticated NCM keys. operationId: listRouters tags: - Routers parameters: - name: state in: query schema: type: string enum: - online - offline - unknown - name: group in: query schema: type: string - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' responses: '200': description: Paginated list of routers. content: application/json: schema: $ref: '#/components/schemas/RouterList' /routers/{id}/: get: summary: Get A Router description: Retrieve a single router by ID. operationId: getRouter tags: - Routers parameters: - $ref: '#/components/parameters/IdPath' responses: '200': description: Router content: application/json: schema: $ref: '#/components/schemas/Router' patch: summary: Update A Router description: Update editable router fields such as `name`, `description`, `group`. operationId: updateRouter tags: - Routers parameters: - $ref: '#/components/parameters/IdPath' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Router' responses: '200': description: Updated router content: application/json: schema: $ref: '#/components/schemas/Router' components: parameters: Limit: name: limit in: query description: Maximum number of records to return per page. schema: type: integer default: 20 maximum: 500 Offset: name: offset in: query description: Number of records to skip for pagination. schema: type: integer default: 0 IdPath: name: id in: path required: true schema: type: string schemas: Router: type: object properties: id: type: string account: type: string group: type: string nullable: true name: type: string description: type: string mac: type: string serial_number: type: string product: type: string actual_firmware: type: string state: type: string enum: - online - offline - unknown last_seen_at: type: string format: date-time created_at: type: string format: date-time Meta: type: object properties: limit: type: integer offset: type: integer total_count: type: integer next: type: string nullable: true previous: type: string nullable: true RouterList: type: object properties: data: type: array items: $ref: '#/components/schemas/Router' meta: $ref: '#/components/schemas/Meta' securitySchemes: CradlepointApiKey: type: apiKey in: header name: X-CP-API-ID description: Cradlepoint account API ID (paired with X-CP-API-KEY). NetCloudApiKey: type: apiKey in: header name: X-ECM-API-ID description: NCM tenant API ID (paired with X-ECM-API-KEY), carries the NCM role.