Malwarebytes Authentication API

The Authentication API from Malwarebytes — 2 operation(s) for authentication.

Operations 2

POST /oauth2/token Get an access token #
POST /oneview/oauth2/token Get an access token #

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/malwarebytes:malwarebytes-authentication-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

malwarebytes-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Malwarebytes Authentication API
  version: 1.0.0
  x-logo:
    altText: ThreatDown logo
    url: https://assets.threatdown.com/hermes/ThreatDown_Horizontal_Navy.png
    backgroundColor: '#FFFFFF'
  description: 'Operations tagged Authentication across 2 of this provider''s published API definitions: malwarebytes-threatdown-nebula-openapi.json, malwarebytes-threatdown-oneview-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.threatdown.com
tags:
- name: Authentication
paths:
  /oauth2/token:
    post:
      description: 'Use this endpoint to retrieve an authentication token that allows you to send authenticated requests to all the API endpoints. First, you need to get a valid `client_id`, `client_secret` pair to retrieve an authentication token. See notes below for obtaining a credential pair**. Once you have obtained the `access_token`, by adhering to the following specification, you must include it for all the requests to the public APIs along with the `Authorization` header:


        ```

        Authorization: Bearer

        ```


        ## Request


        ### Headers


        Add the following headers to your request. | Name | Description | Type | Required | Default |

        |------|-------------|-------|-----------|----------|

        | Authorization | base64 encoded credential pair* as basic authorization `Basic base64(:)`| string | yes | '''' |

        | Content-Type | Set to ''application/x-www-form-urlencoded'' | string | yes | '''' |


        *You need to concatenate `client_id` and `client_secret` and encode in base64. Refer to the following Javascript example to get the correct header''s value:


        **In the browser**:

        ```

        `Basic ${window.btoa(`${clientId}:${clientSecret}`)}`

        ```


        **NodeJS**:

        ```

        `Basic ${Buffer.from(`${clientId}:${clientSecret}`).toString(''base64'')}`

        ```


        ### Body

        Send the following body with the request. | Name | Description | Type | Required | Default |

        |------|-------------|-------|-----------|----------|

        | scope | The scope of the token. Can be ```read write execute``` or any subset of those space-separated scopes | string | yes | '''' |

        | grant\_type | The grant\_type. Set it to `client_credentials` | string | yes | '''' |


        **\*\*Note**: To obtain a client ID/client secret pair, open the Nebula

        console, go to Settings -> APIs & Integrations. On that

        page, click the "Add" button and submit the form. Use the resulting client

        ID/client secret pair in your base64 string. ## Response


        If your request successfully processed, our server will respond with a 200 status code and send a JSON body, which will include:


        | Name | Description | Type | Can be blank |

        |------|-------------|-------|-----------|

        | access_token | The access token. You need this token to access all other API endpoints | string | no |

        | expires_in | Expiry time in seconds of the access\_token | number | no |

        | scope | The scope. Can be `read write execute` or a subset of those. Space separate the scope you want to request | string | no |

        | token_type | The type of the token | string | no |


        You can use the `access_token` to send requests to all the other HTTP endpoints. # Notes


        You can send a raw HTTP request to retrieve the `access_token` following the specification above, but we strongly recommend to using one of the existing `oauth2` libraries. Libraries will usually handle refreshing the `access_token`, and generally implements best practices for that authentication protocol.'
      summary: Get an access token
      status:
        outage:
        - oauth2
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                title: PostDetectionsSearchRes200
                properties:
                  access_token:
                    type: string
                    title: Access token to be used to authenticate in API requests
                  expires_in:
                    type: number
                    title: Time in seconds before the token expires
                  scope:
                    type: string
                    title: The granted scope for this access token
                  token_type:
                    type: string
                    title: The type of the token
                  refresh_token:
                    type: string
                    title: With grant type authorization code refresh token gets also returned.
                  id_token:
                    type: string
                    title: With grant type authorization code id token gets also returned.
      tags:
      - Authentication
      operationId: api.oauth2.token
    servers:
    - url: https://api.threatdown.com
  /oneview/oauth2/token:
    post:
      description: 'First, you need to get a valid `client_id`, `client_secret` pair to retrieve an authentication token. See notes below for obtaining a credential pair*. Once you have obtained the `access_token`, by adhering to the following specification, you must include it for all the requests to the public APIs along with the `Authorization` header:


        ```

        Authorization: Bearer

        ```


        ## Request


        ### Headers


        Add the following headers to your request. | Name | Description | Type | Required | Default |

        |------|-------------|-------|-----------|----------|

        | Authorization | base64 encoded credential pair* as basic authorization `Basic base64(:)`| string | yes | '''' |

        | Content-Type | Set to ''application/x-www-form-urlencoded'' | string | yes | '''' |


        *You need to concatenate `client_id` and `client_secret` and encode in base64. Refer to the following Javascript example to get the correct header''s value:


        **In the browser**:


        ```

        `Basic ${window.btoa(`${clientId}:${clientSecret}`)}`

        ```


        **NodeJS**:


        ```

        `Basic ${Buffer.from(`${clientId}:${clientSecret}`).toString(''base64'')}`

        ```


        ### Body


        Send the following body with the request. | Name | Description | Type | Required | Default |

        |------|-------------|-------|-----------|----------|

        | scope | The scope of the token. Can be ```read write execute create:accounts``` or any subset of those space-separated scopes | string | yes | '''' |

        | grant\_type | The grant\_type. Set it to `client_credentials` | string | yes | '''' |


        ## Response


        If your request successfully processed, our server will respond with a 200 status code and send a JSON body, which will include:


        | Name | Description | Type | Can be blank |

        |------|-------------|-------|-----------|

        | access_token | The access token. You need this token to access all other API endpoints | string | no |

        | expires_in | Expiry time in seconds of the access\_token | number | no |

        | scope | The scope. Can be `read write execute create:accounts` or a subset of those. Space separate the scope you want to request | string | no |

        | token_type | The type of the token | string | no |


        You can use the `access_token` to send requests to all the other HTTP endpoints. # Notes

        You can send a raw HTTP request to retrieve the `access_token` following the specification above, but we strongly recommend to using one of the existing `oauth2` libraries. Libraries will usually handle refreshing the `access_token`, and generally implements best practices for that authentication protocol.'
      summary: Get an access token
      status:
        outage:
        - oauth2
      responses:
        '200':
          description: response schema
          content:
            application/json:
              schema:
                type: object
                title: PostDetectionsSearchRes200
                properties:
                  access_token:
                    type: string
                    title: Access token to be used to authenticate in API requests
                  expires_in:
                    type: number
                    title: Time in seconds before the token expires
                  scope:
                    type: string
                    title: The granted scope for this access token
                  token_type:
                    type: string
                    title: The type of the token
      tags:
      - Authentication
      operationId: api.oneview.oauth2.token
    servers:
    - url: https://api.threatdown.com
components:
  securitySchemes:
    client_credentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /token
          scopes:
            read: Read data of your Nebula account
            write: Write data, such as groups, policies, exclusions. Create Webhook subscriptions
            execute: Issue jobs on your endpoints, like Scan, Reboot or Isolate.
    user_permissions:
      type: http
      scheme: bearer
x-refined-from:
- malwarebytes-threatdown-nebula-openapi.json
- malwarebytes-threatdown-oneview-openapi.json