Nerdio · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Nerdio Manager Distributor API

12 actions 12 updates servers extends openapi/nerdio-distributor-api-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for Nerdio's API. It is a proposal applied on top of the contract, not a document Nerdio publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-apievangelist-categoryx-apievangelist-consequencecontactx-apievangelist-providerx-apievangelist-harvestedx-apievangelist-sourceservers

Targets 11

$.info
$
$.paths['/api-v{version}/checkhealth'].get
$.paths['/api-v{version}/installs'].get
$.paths['/api-v{version}/register'].post
$.paths['/api-v{version}/suspend'].put
$.paths['/api-v{version}/reactivate'].put
$.paths['/api-v{version}/cancel'].delete
$.paths['/api-v{version}/invoices'].get
$.paths['/api-v{version}/invoices/grouped'].get
$.paths['/api-v{version}/usage'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Nerdio Manager Distributor API
  version: 1.0.0
extends: openapi/nerdio-distributor-api-openapi.json
x-generated: '2026-08-01'
x-method: generated
x-source: openapi/nerdio-distributor-api-openapi.json
x-notes: >-
  Enhancements API Evangelist derives for the harvested Nerdio Distributor API. The
  original spec at https://nmm-distributor-api.nerdio.net/swagger/v1/swagger.json is
  never mutated. Everything added here is grounded in Nerdio's own published
  documentation — the server URL and the APIKey security scheme come from the
  Distributor API Getting Started article, operationIds are named from the operation
  summaries the spec already carries, and the contact email is the one printed in
  info.description.
actions:
- target: $.info
  update:
    contact:
      name: Nerdio Manager for MSP support
      email: nmm.support@getnerdio.com
      url: https://nmmhelp.getnerdio.com/hc/en-us/sections/26125183873677-API
    x-apievangelist-provider: nerdio
    x-apievangelist-harvested: '2026-08-01'
    x-apievangelist-source: https://nmm-distributor-api.nerdio.net/swagger/v1/swagger.json
- target: $
  update:
    servers:
    - url: https://nmm-distributor-api.nerdio.net
      description: >-
        Production host. Documented as "Direct all API calls to the following URL:
        https://nmm-distributor-api.nerdio.net/api-v{version.number}". The original
        document declares no servers[].
- target: $
  update:
    components:
      securitySchemes:
        APIKey:
          type: apiKey
          in: header
          name: APIKey
          description: >-
            API key issued by Nerdio on request to nmm.support@getnerdio.com.
            Mandatory on every endpoint. The original document declares this as a
            required header parameter on each operation rather than as a security
            scheme.
    security:
    - APIKey: []
- target: $.paths['/api-v{version}/checkhealth'].get
  update:
    operationId: checkHealth
    x-apievangelist-category: health
- target: $.paths['/api-v{version}/installs'].get
  update:
    operationId: listInstalls
    x-apievangelist-category: read
- target: $.paths['/api-v{version}/register'].post
  update:
    operationId: registerInstalls
    x-apievangelist-category: write
    x-apievangelist-consequence: >-
      Claims every current and future NMM install in the supplied Azure
      subscription for the calling distributor.
- target: $.paths['/api-v{version}/suspend'].put
  update:
    operationId: suspendInstalls
    x-apievangelist-category: write
    x-apievangelist-consequence: >-
      Blocks the partner MSP from logging in to every install in the subscription.
      End users are documented as unaffected.
- target: $.paths['/api-v{version}/reactivate'].put
  update:
    operationId: reactivateInstalls
    x-apievangelist-category: write
- target: $.paths['/api-v{version}/cancel'].delete
  update:
    operationId: cancelInstalls
    x-apievangelist-category: write
    x-apievangelist-consequence: >-
      Removes the distributor assignment AND suspends the installs.
- target: $.paths['/api-v{version}/invoices'].get
  update:
    operationId: getInvoices
    x-apievangelist-category: read
    x-apievangelist-note: >-
      Documented behaviour — returns HTTP 200 with an empty body when no usage
      exists for the requested period. Period start and end dates are mm/dd/yyyy.
- target: $.paths['/api-v{version}/invoices/grouped'].get
  update:
    operationId: getInvoicesGrouped
    x-apievangelist-category: read
- target: $.paths['/api-v{version}/usage'].get
  update:
    operationId: getUsage
    x-apievangelist-category: read
x-gaps-observed:
- No servers[] in the original document.
- No operationId on any of the nine operations.
- No components.schemas — no request or response bodies are modelled.
- No securitySchemes; the API key is a bare required header parameter, and the "APIKey" parameter object carries no schema.
- No examples in-spec (examples are published separately as a help-center article).