ThreatLocker System Audit API

The SystemAudit API from ThreatLocker — 3 operation(s) for systemaudit.

Operations 3

POST /portalapi/SystemAudit/SystemAuditGetForHealthCenter Retrieves System Audit data for the Health Center, specifically focused on login attempts.
GET /portalapi/SystemAudit/SystemAuditGetLoginAttemptFiltersForHealthCenter Retrieves unique emails and IP addresses from system audit data for login attempts filter.
POST /portalapi/SystemAudit/SystemAuditGetByParameters Retrieves System Audit records based on specified parameters.

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/threatlocker-systemaudit-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

threatlocker-systemaudit-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Threatlocker System Audit API
  version: v1.0.0
  description: 'Operations tagged SystemAudit across 2 of this provider''s published API definitions: threatlocker-portal-openapi-original.json, threatlocker-systemaudit-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://portalapi.threatlocker.com/portalapi/
  description: Base URL declared by the provider in apis.yml (roadmap#122).
security:
- Authorization: []
  ManagedOrganizationId: []
  OverrideManagedOrganizationId: []
tags:
- name: SystemAudit
paths:
  /portalapi/SystemAudit/SystemAuditGetForHealthCenter:
    post:
      tags:
      - SystemAudit
      summary: Retrieves System Audit data for the Health Center, specifically focused on login attempts.
      description: "This endpoint retrieves a paginated list of audit records related to user login attempts, \nfiltered by date range, search text, and whether the login was successful or denied.\nIt can also filter by latitude and longitude if provided in the correct format within the search text.\n\n\n\n**Search Text Usage:**\n\n*   **Standard Text Search:** You can enter countries, regions, or cities to search within the audit records.\n*   **Latitude/Longitude Search:** To search by geographical location, use the format \"lat:[latitude]&long:[longitude]\". \n    - For example, \"lat:34.0522&long:-118.2437\" will search for audit records near Los Angeles.\n\n\n\n**Sample request:**\n            \n    POST /SystemAuditGetForHealthCenter\n    {\n       \"days\": 30,\n       \"isLoggedIn\": false,\n       \"pageSize\": 25,\n       \"pageNumber\": 1,\n       \"searchText\": \"lat:40.7128&long:-74.0060\"\n    }\n    \n    POST /SystemAuditGetForHealthCenter\n    {\n        \"days\": 30,\n        \"isLoggedIn\": false,\n        \"pageSize\": 25,\n        \"pageNumber\": 1,\n        \"searchText\": \"United States\"\n    }\n    \n    POST /SystemAuditGetForHealthCenter\n    {\n        \"days\": 30,\n        \"isLoggedIn\": false,\n        \"pageSize\": 25,\n        \"pageNumber\": 1,\n        \"emailAddress\": \"test.user@email.com\"\n    }\n    \n    POST /SystemAuditGetForHealthCenter\n    {\n        \"days\": 30,\n        \"isLoggedIn\": false,\n        \"pageSize\": 25,\n        \"pageNumber\": 1,\n        \"ipAddresses\": \"123.123.123.123\"\n    }"
      requestBody:
        description: Parameters for filtering audit data.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SystemAuditHealthCenterParams'
          text/json:
            schema:
              $ref: '#/components/schemas/SystemAuditHealthCenterParams'
          application/*+json:
            schema:
              $ref: '#/components/schemas/SystemAuditHealthCenterParams'
      responses:
        '200':
          description: Successfully retrieved the Health Center audit data.
        '400':
          description: The request was malformed or invalid.
        '401':
          description: The user does not have the required permissions.
        '403':
          description: The user is not authorized to perform this action.
        '500':
          description: An unexpected error occurred on the server.
  /portalapi/SystemAudit/SystemAuditGetLoginAttemptFiltersForHealthCenter:
    get:
      tags:
      - SystemAudit
      summary: Retrieves unique emails and IP addresses from system audit data for login attempts filter.
      description: "\n\n             **Sample request:**\n                 \n                 GET /SystemAuditGetLoginAttemptFiltersForHealthCenter\n                 {\n                     \"days\": 30,\n                     \"isLoggedIn\": false,\n                     \"pageSize\": 25,\n                     \"pageNumber\": 1,\n                     \"emailAddress\": \"test.user@email.com\"\n                 }\n                 \n                 GET /SystemAuditGetLoginAttemptFiltersForHealthCenter\n                 {\n                     \"days\": 30,\n                     \"isLoggedIn\": false,\n                     \"pageSize\": 25,\n                     \"pageNumber\": 1,\n                     \"ipAddresses\": \"123.123.123.123\"\n                 }"
      parameters:
      - name: Days
        in: query
        schema:
          type: integer
          format: int32
          default: 30
      - name: SearchText
        in: query
        schema:
          type: string
          default: ''
      - name: IsLoggedIn
        in: query
        schema:
          type: boolean
          default: false
      - name: EmailAddress
        in: query
        schema:
          type: string
      - name: IPAddresses
        in: query
        schema:
          type: string
      - name: AfterKeys
        in: query
        schema:
          type: object
          additionalProperties:
            type:
            - array
            - 'null'
            items: {}
      - name: PageSize
        in: query
        schema:
          type: integer
          format: int32
          default: 10
      - name: PageNumber
        in: query
        schema:
          type: integer
          format: int32
          default: 1
      responses:
        '200':
          description: Successfully retrieved the Health Center login attempt filters.
        '400':
          description: The request was malformed or invalid.
        '401':
          description: The user does not have the required permissions.
        '403':
          description: The user is not authorized to perform this action.
        '500':
          description: An unexpected error occurred on the server.
  /portalapi/SystemAudit/SystemAuditGetByParameters:
    post:
      tags:
      - SystemAudit
      summary: Retrieves System Audit records based on specified parameters.
      description: "This endpoint retrieves a paginated list of System Audit records, allowing filtering by various parameters such as username, action, IP address, effective action, details, date range, and organization.\n\n\n\n**Filtering and Search:**\n\n\n*   **Wildcard Search:** The `Details`, `IPAddress`, `EffectiveAction`, and `Username` fields support wildcard searches.\n    - If the search text contains an asterisk (`*`), it will be replaced with a percent sign (`%`) for the SQL LIKE operator.\n    - If the search text does not contain an asterisk (`*`), a percent sign (`%`) will be added to both the beginning and end of the search text by default (searching for \"test\" will become \"%test%\"). This means it will search for any records that *contain* the search text.\n*   **Date Range:** Use `StartDate` and `EndDate` to filter records within a specific date range.\n*   **Organization:** By default, the endpoint retrieves records for the current organization. Set `ViewChildOrganizations` to `true` to include child organizations in the search. If the user is logged into the Master Organization, it is not necessary to use `ViewChildOrganizations`.\n\n\n\n**Sample Request:**\n            \n    POST /portalApi/SystemAuditGetByParameters\n    {\n       \"username\": \"*test*\", OR \"username\": \"test\",\n       \"action\": \"Read\",\n       \"ipAddress\": \"*\",\n       \"effectiveAction\": \"Permitted\",\n       \"details\": \"Viewed*\",\n       \"startDate\": \"2023-01-01T00:00:00Z\",\n       \"endDate\": \"2024-01-27T23:59:59Z\",\n       \"pageSize\": 25,\n       \"pageNumber\": 1,\n       \"viewChildOrganizations\": false,\n       \"objectId\": \"00000000-0000-0000-0000-000000000000\"\n    }\n**This request would search for:**\n- Usernames that contain \"test\" anywhere.\n- Any IP address.\n- Details that start with \"Viewed\"."
      requestBody:
        description: Parameters for filtering System Audit records.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SystemAuditParametersDto'
          text/json:
            schema:
              $ref: '#/components/schemas/SystemAuditParametersDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/SystemAuditParametersDto'
      responses:
        '200':
          description: Successfully retrieved the System Audit records.
        '400':
          description: The request was malformed or invalid.
        '401':
          description: The user is not authenticated or does not have permission to view System Audit records.
        '403':
          description: The user is not authorized to perform this action.
        '500':
          description: An unexpected error occurred on the server.
components:
  schemas:
    SystemAuditParametersDto:
      type: object
      properties:
        emailAddress:
          type:
          - string
          - 'null'
          default: ''
        action:
          type:
          - string
          - 'null'
          default: ''
        ipAddress:
          type:
          - string
          - 'null'
          default: ''
        effectiveAction:
          type:
          - string
          - 'null'
          default: ''
        details:
          type:
          - string
          - 'null'
          default: ''
        searchText:
          type:
          - string
          - 'null'
        ipAddresses:
          type:
          - array
          - 'null'
          items:
            type: string
        objectTypeIds:
          type:
          - array
          - 'null'
          items:
            type: integer
            format: int32
        startDate:
          type:
          - string
          - 'null'
          format: date-time
        endDate:
          type:
          - string
          - 'null'
          format: date-time
        pageSize:
          type: integer
          format: int32
          default: 25
        pageNumber:
          type: integer
          format: int32
          default: 1
        viewChildOrganizations:
          type: boolean
          default: false
        objectId:
          type: string
          format: uuid
          default: 00000000-0000-0000-0000-000000000000
        actions:
          type:
          - array
          - 'null'
          items:
            type: string
        indexName:
          type:
          - string
          - 'null'
          readOnly: true
        afterKeys:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - array
            - 'null'
            items: {}
        skipPaging:
          type: boolean
        function:
          type:
          - string
          - 'null'
          default: ''
        page:
          type:
          - string
          - 'null'
          default: ''
        emailAddresses:
          type:
          - array
          - 'null'
          items:
            type: string
      additionalProperties: false
    SystemAuditHealthCenterParams:
      type: object
      properties:
        days:
          type: integer
          format: int32
          default: 30
        searchText:
          type:
          - string
          - 'null'
          default: ''
        isLoggedIn:
          type: boolean
          default: false
        emailAddress:
          type:
          - string
          - 'null'
        ipAddresses:
          type:
          - string
          - 'null'
        afterKeys:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - array
            - 'null'
            items: {}
        pageSize:
          type: integer
          format: int32
          default: 10
        pageNumber:
          type: integer
          format: int32
          default: 1
      additionalProperties: false
  securitySchemes:
    Authorization:
      type: apiKey
      description: Please insert Standard Authorization header.
      name: Authorization
      in: header
    ManagedOrganizationId:
      type: apiKey
      description: Please insert Managed Organization Id.
      name: ManagedOrganizationId
      in: header
    OverrideManagedOrganizationId:
      type: apiKey
      description: Please insert Managed Organization Id.
      name: OverrideManagedOrganizationId
      in: header
x-refined-from:
- threatlocker-portal-openapi-original.json
- threatlocker-systemaudit-api-openapi.yml