ThreatLocker Organizations
organizationsList, search, and provision ThreatLocker client containers. Retrieve installation auth keys, rotate keys, and get org IDs to scope policies, applications, and computers.
Instructions
Query ThreatLocker organizations.
Organizations are the top-level containers in ThreatLocker. MSPs have a parent organization with child organizations for each client. Enterprises may have organizations per business unit or location.
Common workflows:
List child organizations: action=list_children
Search for a client org: action=list_children, searchText="client name"
List all nested children (full tree): action=list_children, includeAllChildren=true
Get installation auth key: action=get_auth_key
Get orgs available for moving computers: action=get_for_move_computers
Provision a client org: action=timezones (pick an id) → action=create_child, displayName="...", timezoneId="..." → get_auth_key → deploy
Rotate the org auth key: action=rotate_auth_key (DESTRUCTIVE — invalidates the old key and breaks existing deploy scripts)
The organizationId is needed for many API calls (policies, applications, etc.) to scope the request to a specific organization.
Pitfalls:
get_auth_key returns the install/auth key used to deploy agents and to resolve groups via computer_groups get_by_install_key.
Permissions: View Organizations, Edit Organizations, Super Admin - Child. Pagination: list_children is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: organizationId, name, displayName, dateAdded, computerCount.
Related tools: computers (computers in org), computer_groups (groups in org), policies (policies in org)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | create_child: RMM identifier used in deploy scripts (defaults to displayName). A mismatch creates duplicates. | |
| action | Yes | list_children=list child orgs, get_auth_key=installation key for current org, get_for_move_computers=orgs available for computer relocation, timezones=list valid timezone ids (for create_child), create_child=create a child organization, rotate_auth_key=generate a NEW org auth key (DESTRUCTIVE: breaks existing deploy scripts) | |
| domains | No | create_child: org domains (e.g. ["client.com"]). | |
| options | No | create_child: org option names (inherits from parent if omitted). | |
| orderBy | No | Field to order by | |
| pageSize | No | Results per page (default: 25, max: 500) | |
| pageNumber | No | Page number (default: 1) | |
| searchText | No | Filter by name (for list_children) | |
| timezoneId | No | create_child: timezone id from action=timezones (required). Use the exact id value, not the display name. | |
| displayName | No | create_child: human-readable org name (required). | |
| isAscending | No | Sort ascending (default: true) | |
| fetchAllPages | No | Fetch all pages automatically (max 10 pages). Default: false (single page). | |
| itarCompliant | No | create_child: restrict access/management to inside the USA (default false). | |
| proxyUrlEntry | No | create_child: proxy URL; requires useProxyServer=true. | |
| timeoutOnLogin | No | create_child: login timeout in minutes. | |
| useProxyServer | No | create_child: enable proxy configuration (default false). | |
| response_format | No | Output format: markdown (default, human-readable) or json (structured) | markdown |
| proxyServerOption | No | create_child: proxy protocol ("http://"/"https://"); requires useProxyServer=true. | |
| includeAllChildren | No | Include nested children (default: false) | |
| elevationDefaultHours | No | create_child: default elevation expiry hours (0=no expiration). | |
| hasDisabledEmailNotifications | No | create_child: disable user emails except password resets (default false). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Response data — shape varies by action | |
| error | No | ||
| success | Yes | ||
| pagination | No |