Malwarebytes · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the ThreatDown OneView API
10 actions
10 updates
update
extends
../openapi/_original/malwarebytes-threatdown-oneview-openapi.json
Derived by API Evangelist
Built from the contracts Malwarebytes publishes. Malwarebytes did not publish this file.
What the actions change
contactx-spec-urlx-harvestedx-harvested-byx-license-statusx-sibling-apix-rate-limitx-error-envelope
Targets 2
$.info
$.components.securitySchemes.client_credentials
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the ThreatDown OneView API
version: 1.0.0
x-generated: '2026-08-04'
x-method: generated
x-source: openapi/malwarebytes-threatdown-oneview-openapi.json
x-note: >-
Additive OpenAPI Overlay 1.0.0 capturing API Evangelist's enrichment of the harvested
ThreatDown OneView definition. It never mutates the original file. OneView is the
multi-tenant MSP projection of the same platform as Nebula, so it inherits the same
error, pagination and rate-limit gaps, and adds a deprecated subscription surface.
extends: ../openapi/_original/malwarebytes-threatdown-oneview-openapi.json
actions:
- target: $.info
description: Record provenance and the canonical spec location.
update:
contact:
name: ThreatDown Support
url: https://support.threatdown.com/hc/en-us/p/oneview
x-spec-url: https://cloud.malwarebytes.com/api/v2/oneview/docs
x-harvested: '2026-08-04'
x-harvested-by: API Evangelist
x-license-status: >-
No licence or terms-of-service is declared in the definition. API use is governed by
https://www.threatdown.com/legal/terms-of-service/.
x-sibling-api: openapi/malwarebytes-threatdown-nebula-openapi.json
- target: $.info
description: Surface the rate limit stated in prose but absent from the machine-readable definition.
update:
x-rate-limit:
default: 360
unit: requests
interval: minute
scope: per OAuth2 application
algorithm: leaky bucket
exceeded_status: 429
headers_documented: false
artifact: rate-limits/malwarebytes-rate-limits.yml
- target: $.info
description: >-
Record the error envelope observed live. The definition declares no 4xx or 5xx
response on any of its 401 operations.
update:
x-error-envelope:
media_type: application/json
rfc9457: false
shape:
statusCode: integer
error: string
message: string
artifact: errors/malwarebytes-problem-types.yml
- target: $.info
description: Record the multi-tenant addressing model that distinguishes OneView from Nebula.
update:
x-tenancy:
model: multi-tenant MSP
tenant_param: account_id
tenant_param_in: path
used_on_operations: 141
hierarchy_field: parent_account_id
delegation_header: on-behalf-of
delegation_used_on_operations: 7
site_entity: >-
A Site is the MSP-managed customer. It gains an account_id once a Subscription is
attached, and that account_id is then used for all endpoint-security operations.
artifact: data-model/malwarebytes-data-model.yml
- target: $.info
description: >-
Flag the deprecated subscription surface. The operations carry `deprecated: true` but
no Sunset header, removal date, or replacement pointer.
update:
x-deprecations:
count: 6
sunset_header: false
removal_date: null
replacement_documented: false
operations:
- api.v2.oneview.create.subscription.id
- api.v2.oneview.delete.subscription.id
- api.v2.oneview.get.subscription.id
- api.v2.oneview.update.subscription.id
- api.v2.oneview.get.subscription.all
- api.v2.oneview.get.master.subscription.id
artifact: lifecycle/malwarebytes-lifecycle.yml
- target: $.info
description: Record the cursor pagination contract and its inconsistencies.
update:
x-pagination:
style: cursor
request: [next_cursor, page_size]
response: [next_cursor, total_count]
inconsistency: >-
A small number of operations still take `per_page` instead of `page_size`, and
sorting uses sort_field/sort_direction here where Nebula uses sort_by/sort_order.
artifact: conventions/malwarebytes-conventions.yml
- target: $.info
description: Record that no request-idempotency mechanism exists.
update:
x-idempotency:
supported: false
header: null
note: >-
Site creation, user provisioning and job issuance are all non-idempotent. In a
multi-tenant MSP context a retried Site creation can produce a duplicate customer.
- target: $.info
description: Attach the webhook event catalog.
update:
x-event-catalog:
artifact: asyncapi/malwarebytes-threatdown-webhooks.yml
event_count: 18
signature_header: X-MWB-Signature
subscription_path: /oneview/v1/accounts/{account_id}/webhooks/subscriptions
asyncapi_published: false
- target: $.components.securitySchemes.client_credentials
description: Make the token endpoint absolute and record the two-gate authorization model.
update:
x-token-url-absolute: https://api.threatdown.com/oneview/oauth2/token
x-declared-token-url: /oneview/oauth2/token
x-actual-operation: api.oneview.oauth2.token
x-authorization-model:
gates:
- name: oauth2 scope
values: [read, write, execute]
- name: user permission
distinct_values: 84
failure_status: 403
x-scope-description-defect: >-
The `read` scope description reads "Read data of your Nebula account" in the OneView
definition — copied from Nebula and never adapted to Sites. Report upstream.
- target: $.info
description: Record the structural review findings for this definition.
update:
x-api-evangelist-review:
strengths:
- 401 operations, each with a unique operationId, summary and description
- Per-operation scope plus granular permission declared
- Deprecated operations honestly flagged in the definition
defects:
- No 4xx or 5xx response declared on any operation.
- components.schemas is empty; all schemas inlined, producing a 19.6 MB document.
- >-
The `authorization` header is declared as a plain required parameter on 400 of 401
operations in addition to the securityScheme.
- Scope descriptions still reference Nebula rather than OneView.
- >-
Six deprecated operations carry no Sunset header, no removal date and no
replacement pointer.
- No response examples anywhere in the definition.
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/malwarebytes-threatdown-oneview-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.