Huntress Reseller API

Operations for Reseller-level API credentials. These are mostly the same endpoints available in the rest of the API. However, the account ID is included in the URL, so that you can specify which account's resources you want to access.

Operations 46

GET /v1/reseller/invoices List Reseller Invoices #
GET /v1/reseller/invoices/{id} Get Reseller Invoice #
GET /v1/reseller/invoices/{id}/account_usage_line_items List Account Usage Line Items #
GET /v1/reseller/invoices/{id}/organization_usage_line_items List Organization Usage Line Items #
GET /v1/reseller/subscriptions List Reseller Subscriptions #
POST /v1/reseller/subscriptions Create Reseller Subscription #
GET /v1/reseller/subscriptions/{id} Get Reseller Subscription #
PATCH /v1/reseller/subscriptions/{id} Update Reseller Subscription #
POST /v1/reseller/subscriptions/{id}/upgrade Upgrade Reseller Subscription #
GET /v1/accounts List Accounts #
POST /v1/accounts Create Account #
GET /v1/accounts/{account_id} Get Specific Account #
PATCH /v1/accounts/{account_id} Update Account #
DELETE /v1/accounts/{account_id} Permanently Disable an Account #
GET /v1/accounts/{account_id}/agents List Agents #
GET /v1/accounts/{account_id}/agents/{id} Get Agent #
PATCH /v1/accounts/{account_id}/agents/{id} Update Agent #
DELETE /v1/accounts/{account_id}/agents/{id} Uninstall Agent #
POST /v1/accounts/{account_id}/agents/{id}/isolation Isolate Agent #
DELETE /v1/accounts/{account_id}/agents/{id}/isolation Release Agent Isolation #
GET /v1/accounts/{account_id}/external_ports List External Ports #
GET /v1/accounts/{account_id}/external_ports/{id} Get External Port #
GET /v1/accounts/{account_id}/invoices List Account Invoices #
GET /v1/accounts/{account_id}/invoices/{id} Get Account Invoice #
GET /v1/accounts/{account_id}/incident_reports List Incident Reports #
GET /v1/accounts/{account_id}/incident_reports/{id} Get Incident Report #
POST /v1/accounts/{account_id}/incident_reports/{id}/resolution Create an Incident Report Resolution #
GET /v1/accounts/{account_id}/memberships List Memberships #
POST /v1/accounts/{account_id}/memberships Create a Membership #
GET /v1/accounts/{account_id}/memberships/{id} Get Membership #
DELETE /v1/accounts/{account_id}/memberships/{id} Delete Membership #
PATCH /v1/accounts/{account_id}/memberships/{id} Update a User's membership #
GET /v1/accounts/{account_id}/organizations List Organizations #
POST /v1/accounts/{account_id}/organizations Create an Organization #
GET /v1/accounts/{account_id}/organizations/{id} Get Organization #
PATCH /v1/accounts/{account_id}/organizations/{id} Update an Organization #
DELETE /v1/accounts/{account_id}/organizations/{id} Delete an Organization #
GET /v1/accounts/{account_id}/incident_reports/{incident_report_id}/remediations List Remediations #
GET /v1/accounts/{account_id}/incident_reports/{incident_report_id}/remediations/{remediation_id} Get Remediation #
POST /v1/accounts/{account_id}/incident_reports/{incident_report_id}/remediations/bulk_approval Bulk Approve Remediations #
POST /v1/accounts/{account_id}/incident_reports/{incident_report_id}/remediations/bulk_rejection Bulk Reject Remediations #
GET /v1/accounts/{account_id}/reports List Summary Reports #
GET /v1/accounts/{account_id}/reports/{id} Get Summary Report #
GET /v1/accounts/{account_id}/signals List Signals #
GET /v1/accounts/{account_id}/signals/{id} Get Signal #
GET /v1/actor Get Actor #

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/huntress-reseller-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

huntress-reseller-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Huntress API Reference Reseller API
  description: '© Huntress - All rights reserved


    Introduction


    Webhook event payloads are available via the dropdown menu above the search bar on this page.'
  version: 1.0.0
servers:
- url: https://api.huntress.io
security:
- basic:
  - basic_auth
tags:
- name: Reseller
  description: Operations for Reseller-level API credentials. These are mostly the same endpoints available in the rest of the API. However, the account ID is included in the URL, so that you can specify which account's resources you want to access.
paths:
  /v1/reseller/invoices:
    get:
      summary: List Reseller Invoices
      description: 'Shows Invoices associated with the current reseller.


        **Note:** To see the details of a given invoice, you will

        probably want to also fetch the associated Account Usage Line Items and

        Organization Usage Line Items.


        **Note:** This endpoint will also return a `pagination` key on the root

        level. Please refer to the pagination

        section within our docs for

        more information.'
      parameters:
      - in: query
        name: limit
        description: Max number of resources returned in a paged collection. Defaults to 10, with a minimum of 1 and maximum 500.
        required: false
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 500
          minimum: 1
      - in: query
        name: page_token
        description: Token used to request the next page in paginated results. Defaults to 'null'
        required: false
        schema:
          type: string
      - in: query
        name: status
        description: Filter by status. One of open, paid, failed, partial_refund, full_refund, draft, voided, processing
        required: false
        schema:
          type: string
          enum:
          - open
          - paid
          - failed
          - partial_refund
          - full_refund
          - draft
          - voided
          - processing
      responses:
        '200':
          description: List Reseller Invoices
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoices:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                - invoices
                - pagination
        '400':
          description: Invalid query parameters
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
      tags:
      - Reseller
      operationId: getV1ResellerInvoices
  /v1/reseller/invoices/{id}:
    get:
      summary: Get Reseller Invoice
      description: 'Shows a specific Reseller Invoice associated with the current

        reseller.


        Note: To see the details of this invoice, you will probably

        want to also fetch the associated Account Usage Line Items and

        Organization Usage Line Items.'
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Get Reseller Invoice
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoice:
                    $ref: '#/components/schemas/Invoice'
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
        '404':
          description: Invoice not found
      tags:
      - Reseller
      operationId: getV1ResellerInvoicesId
  /v1/reseller/invoices/{id}/account_usage_line_items:
    get:
      summary: List Account Usage Line Items
      description: 'Shows a list of Account Usage Line Items.


        This list provides a detailed breakdown of product usage per account from a given invoice.


        **Note:** This endpoint will also return a `pagination` key on the root level.

        Please refer to the pagination section within our docs for more information.'
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      - in: query
        name: limit
        description: Max number of resources returned in a paged collection. Defaults to 10, with a minimum of 1 and maximum 500.
        required: false
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 500
          minimum: 1
      - in: query
        name: page_token
        description: Token used to request the next page in paginated results. Defaults to 'null'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List Account Usage Line Items
          content:
            application/json:
              schema:
                type: object
                properties:
                  account_usage_line_items:
                    type: array
                    items:
                      $ref: '#/components/schemas/AccountUsageLineItem'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                - account_usage_line_items
                - pagination
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsageLineItem'
      tags:
      - Reseller
      operationId: getV1ResellerInvoicesIdAccountUsageLineItems
  /v1/reseller/invoices/{id}/organization_usage_line_items:
    get:
      summary: List Organization Usage Line Items
      description: 'Shows a list of Organization Usage Line Items.


        This list provides a detailed breakdown of product usage per organization from a given invoice.


        **Note:** This endpoint will also return a `pagination` key on the root level.

        Please refer to the pagination section within our docs for more information.'
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      - in: query
        name: limit
        description: Max number of resources returned in a paged collection. Defaults to 10, with a minimum of 1 and maximum 500.
        required: false
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 500
          minimum: 1
      - in: query
        name: page_token
        description: Token used to request the next page in paginated results. Defaults to 'null'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List Organization Usage Line Items
          content:
            application/json:
              schema:
                type: object
                properties:
                  organization_usage_line_items:
                    type: array
                    items:
                      $ref: '#/components/schemas/OrganizationUsageLineItem'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                - organization_usage_line_items
                - pagination
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationUsageLineItem'
      tags:
      - Reseller
      operationId: getV1ResellerInvoicesIdOrganizationUsageLineItems
  /v1/reseller/subscriptions:
    get:
      summary: List Reseller Subscriptions
      description: 'Shows subscriptions associated with the current reseller''s managed accounts.


        **Note:** This endpoint will also return a `pagination` key on the root

        level. Please refer to the pagination

        section within our docs for

        more information.'
      parameters:
      - in: query
        name: limit
        description: Max number of resources returned in a paged collection. Defaults to 10, with a minimum of 1 and maximum 500.
        required: false
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 500
          minimum: 1
      - in: query
        name: page_token
        description: Token used to request the next page in paginated results. Defaults to 'null'
        required: false
        schema:
          type: string
      - in: query
        name: sort_field
        description: Field to sort by. Defaults to 'id'.
        required: false
        schema:
          type: string
          enum:
          - id
          - status
          - minimum
          - created_at
          - updated_at
          default: id
      - in: query
        name: sort_direction
        description: Sort direction. Defaults to 'desc'.
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - in: query
        name: product
        description: Filter by product type
        required: false
        schema:
          type: string
          enum:
          - edr
          - ispm
          - itdr
          - sat
          - siem
      - in: query
        name: status
        description: Filter by status
        required: false
        schema:
          type: string
          enum:
          - draft
          - approved
          - accepted
          - active
          - completed
      responses:
        '200':
          description: List Reseller Subscriptions
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscriptions:
                    type: array
                    items:
                      $ref: '#/components/schemas/Subscription'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                - subscriptions
                - pagination
        '400':
          description: Invalid query parameters
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
      tags:
      - Reseller
      operationId: getV1ResellerSubscriptions
    post:
      summary: Create Reseller Subscription
      description: 'Creates a subscription for a product on a reseller-managed account.


        **Note:** This endpoint only allows the creation of subscriptions that

        use the default terms, conditions, and pricing. Please contact your

        account admin for any terms that are not covered by our standard API.'
      responses:
        '201':
          description: Create Reseller Subscription
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscription:
                    $ref: '#/components/schemas/Subscription'
        '400':
          description: Invalid parameters
        '404':
          description: Record not found (likely the account)
        '422':
          description: Could not create subscription
      tags:
      - Reseller
      operationId: SubscriptionCreationParameters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionCreationParameters'
        required: true
  /v1/reseller/subscriptions/{id}:
    get:
      summary: Get Reseller Subscription
      description: Shows details on a single subscription associated with the current reseller's managed accounts.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Get Reseller Subscription
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscription:
                    $ref: '#/components/schemas/Subscription'
        '400':
          description: Something about the request is malformed.
        '404':
          description: Record not found.
      tags:
      - Reseller
      operationId: getV1ResellerSubscriptionsId
    patch:
      summary: Update Reseller Subscription
      description: 'Updates a subscription associated with the current reseller''s managed accounts.


        For **approved** subscriptions: updates minimum, billing_interval, and purchase_order.


        For **active** subscriptions: toggles `auto_renew` and/or adds units via `additional_units` (with optional `purchase_order`).'
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Update Reseller Subscription
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscription:
                    $ref: '#/components/schemas/Subscription'
        '400':
          description: Something about the request is malformed.
        '404':
          description: Record not found.
        '409':
          description: Subscription is not in a valid status for this update.
        '422':
          description: Could not update subscription.
      tags:
      - Reseller
      operationId: SubscriptionUpdateParameters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionUpdateParameters'
        required: true
  /v1/reseller/subscriptions/{id}/upgrade:
    post:
      summary: Upgrade Reseller Subscription
      description: 'Upgrades an active subscription by creating a new subscription with a

        higher minimum and/or price tier, replacing the existing one.


        This is modeled as a sub-resource because the operation creates a new

        subscription record rather than modifying the existing one in place.'
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '201':
          description: Upgrade Reseller Subscription
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscription:
                    $ref: '#/components/schemas/Subscription'
        '400':
          description: Something about the request is malformed.
        '404':
          description: Record not found.
        '422':
          description: Could not upgrade subscription.
      tags:
      - Reseller
      operationId: SubscriptionUpgradeParameters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionUpgradeParameters'
        required: true
  /v1/accounts:
    get:
      summary: List Accounts
      description: 'Shows all accounts associated with your API credentials.


        **Note:** This endpoint will also return a `pagination` key on the root level.

        Please refer to the pagination section within our docs for more information.'
      parameters:
      - in: query
        name: limit
        description: Max number of resources returned in a paged collection. Defaults to 10, with a minimum of 1 and maximum 500.
        required: false
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 500
          minimum: 1
      - in: query
        name: page_token
        description: Token used to request the next page in paginated results. Defaults to 'null'
        required: false
        schema:
          type: string
      - in: query
        name: sort_field
        description: Field to sort by. Defaults to 'id'.
        required: false
        schema:
          type: string
          enum:
          - id
          - name
          - subdomain
          - created_at
          - updated_at
          default: id
      - in: query
        name: sort_direction
        description: Sort direction. Defaults to 'desc'.
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - in: query
        name: status
        description: Filter by status.
        required: false
        schema:
          type: string
          enum:
          - enabled
          - disabled
      - in: query
        name: name
        description: Filter by account name.
        required: false
        schema:
          type: string
      - in: query
        name: subdomain
        description: Filter by subdomain.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List Accounts
          content:
            application/json:
              schema:
                type: object
                properties:
                  accounts:
                    type: array
                    items:
                      $ref: '#/components/schemas/Account'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                - accounts
                - pagination
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
      tags:
      - Reseller
      operationId: getV1Accounts
    post:
      summary: Create Account
      description: Create a new account under the reseller associated with the supplied API credential.
      responses:
        '201':
          description: Create Account
          content:
            application/json:
              schema:
                type: object
                properties:
                  account:
                    $ref: '#/components/schemas/Account'
        '400':
          description: Invalid account creation parameters
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '409':
          description: Something about the state of this reseller prevents this account from being created
        '422':
          description: Could not create account
      tags:
      - Reseller
      operationId: AccountCreationParameters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountCreationParameters'
        required: true
  /v1/accounts/{account_id}:
    get:
      summary: Get Specific Account
      description: Shows the details of a specific account which your API credentials grant access to.
      parameters:
      - in: path
        name: account_id
        description: Account ID for an account associated with your API credentials
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Get Specific Account
          content:
            application/json:
              schema:
                type: object
                properties:
                  account:
                    $ref: '#/components/schemas/Account'
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
      tags:
      - Reseller
      operationId: getV1AccountsAccountId
    patch:
      summary: Update Account
      description: Updates the details of a specific account.
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Update Account
          content:
            application/json:
              schema:
                type: object
                properties:
                  account:
                    $ref: '#/components/schemas/Account'
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '422':
          description: Invalid parameters or unable to update model
      tags:
      - Reseller
      operationId: AccountUpdateParameters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountUpdateParameters'
        required: true
    delete:
      summary: Permanently Disable an Account
      description: 'Marks the account as disabled and will be deleted after 10 days from initial request.


        **Please Note:** This is irreversible and will uninstall all of the agents for this account, as well as completing other similar operations.

        Contact support if this was done unintentionally.'
      parameters:
      - in: path
        name: account_id
        description: Account ID for deletion.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '202':
          description: Permanently Disable an Account
          content:
            application/json:
              schema:
                type: object
                properties:
                  account:
                    $ref: '#/components/schemas/Account'
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '422':
          description: Account failed to be disabled.
      tags:
      - Reseller
      operationId: deleteV1AccountsAccountId
  /v1/accounts/{account_id}/agents:
    get:
      summary: List Agents
      description: 'Shows Agents associated with your account.


        **Note:** This endpoint will also return a `pagination` key on the root level.

        Please refer to the pagination section within our docs for more information.'
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          type: integer
          format: int32
      - in: query
        name: limit
        description: Max number of resources returned in a paged collection. Defaults to 10, with a minimum of 1 and maximum 500.
        required: false
        schema:
          type: integer
          format: int32
          default: 10
          maximum: 500
          minimum: 1
      - in: query
        name: page_token
        description: Token used to request the next page in paginated results. Defaults to 'null'
        required: false
        schema:
          type: string
      - in: query
        name: sort_field
        description: Field to sort by. Defaults to 'id'.
        required: false
        schema:
          type: string
          enum:
          - id
          - created_at
          - updated_at
          default: id
      - in: query
        name: sort_direction
        description: Sort direction. Defaults to 'desc'.
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - in: query
        name: organization_id
        description: Filter by organization ID within Huntress account
        required: false
        schema:
          type: integer
          format: int32
      - in: query
        name: platform
        description: Filter by platform. One of windows, darwin, linux
        required: false
        schema:
          type: string
          enum:
          - windows
          - darwin
          - linux
      - in: query
        name: hostname
        description: Filter by hostname.
        required: false
        schema:
          type: string
      - in: query
        name: os
        description: Filter by operating system.
        required: false
        schema:
          type: string
      - in: query
        name: version
        description: Filter by agent version.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List Agents
          content:
            application/json:
              schema:
                type: object
                properties:
                  agents:
                    type: array
                    items:
                      $ref: '#/components/schemas/Agent'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                - agents
                - pagination
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
      tags:
      - Reseller
      operationId: getV1AccountsAccountIdAgents
  /v1/accounts/{account_id}/agents/{id}:
    get:
      summary: Get Agent
      description: Shows details on a single Agent associated with your account.
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Get Agent
          content:
            application/json:
              schema:
                type: object
                properties:
                  agent:
                    $ref: '#/components/schemas/Agent'
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
      tags:
      - Reseller
      operationId: getV1AccountsAccountIdAgentsId
    patch:
      summary: Update Agent
      description: 'Updates the editable attributes of a single Agent.


        **Note that the default account API key is read-only, so you''ll need to create a

        user-based API key with the appropriate permissions to access this endpoint.**'
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Update Agent
          content:
            application/json:
              schema:
                type: object
                properties:
                  agent:
                    $ref: '#/components/schemas/Agent'
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
        '404':
          description: Agent not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
        '409':
          description: Agent does not support tamper protection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
      tags:
      - Reseller
      operationId: UpdateAgent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAgent'
        required: true
    delete:
      summary: Uninstall Agent
      description: 'Schedules a remote uninstall of a single Agent, removing the Huntress agent

        from the host. Uninstall is asynchronous: the host is tasked to uninstall on

        its next callback, and the Agent is immediately removed from your account, so

        subsequent requests for it return 404.


        This endpoint requires an API key with permission to uninstall agents.

        **Note that the default account API key is read-only, so you''ll need to create a

        user-based API key with the appropriate permissions to access this endpoint.**'
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '204':
          description: Agent scheduled for uninstall.
        '403':
          description: There was an issue with your API credential or permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
        '404':
          description: Agent not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
      tags:
      - Reseller
      operationId: UninstallAgent
  /v1/accounts/{account_id}/agents/{id}/isolation:
    post:
      summary: Isolate Agent
      description: 'Schedules host isolation for a single Agent, cutting the host off from the

        network while leaving Huntress connectivity intact. Isolation is asynchronous:

        a successful request returns the Agent with a `firewall_status` of

        "Pending Isolation" until the endpoint confirms isolation.


        This endpoint requires an API key with permission to isolate agents.

        **Note that the default account API key is read-only, so you''ll need to create a

        user-based API key with the appropriate permissions to access this endpoint.**'
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '201':
          description: Isolate Agent
          content:
            application/json:
              schema:
                type: object
                properties:
                  agent:
                    $ref: '#/components/schemas/Agent'
        '403':
          description: There was an issue with your API credential or permissions.
        '404':
          description: Agent not found.
        '409':
          description: Agent does not support host isolation, or isolation could not be scheduled.
      tags:
      - Reseller
      operationId: IsolateAgent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IsolateAgent'
        required: true
    delete:
      summary: Release Agent Isolation
      description: 'Schedules release of host isolation for a single Agent, restoring the host''s

        network connectivity. Release is asynchronous: a successful request returns the

        Agent with a `firewall_status` of "Pending Release" until the endpoint confirms

        the host is back online.


        This endpoint requires an API key with permission to release agents.

        **Note that the default account API key is read-only, so you''ll need to create a

        user-based API key with the appropriate permissions to access this endpoint.**'
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          type: integer
          format: int32
      - in: path
        name: id
        required: true
        schema:
          type: integer
       

# --- truncated at 32 KB (152 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/huntress/refs/heads/main/openapi/huntress-reseller-api-openapi.yml