Skip to content

Instantly share code, notes, and snippets.

@reza
Created March 28, 2025 04:06
BigFix OpenAPI Spec
openapi: 3.0.0
info:
title: BigFix REST API
description: REST API for HCL BigFix version 10.0.12.6, providing endpoint management, patch deployment, and security compliance.
version: 10.0.12.6
contact:
name: HCL BigFix Support
url: https://support.hcltechsw.com/csm
license:
name: HCL License
url: https://www.hcltechsw.com/bigfix/license
servers:
- url: https://{hostname}:52311/api
description: BigFix Server REST API endpoint
variables:
hostname:
default: bigfix-server.example.com
description: The hostname of your BigFix server
security:
- basicAuth: []
paths:
# Query Endpoints
/query:
get:
summary: Execute a Session Relevance Query
description: Runs a Session Relevance query to retrieve data from the BigFix server.
parameters:
- in: query
name: relevance
schema:
type: string
required: true
description: The Relevance expression (e.g., "ids of bes computers").
- in: query
name: output
schema:
type: string
enum: [xml, json]
description: Response format (defaults to XML).
responses:
'200':
description: Successful query response
content:
application/xml:
schema:
$ref: '#/components/schemas/QueryResult'
application/json:
schema:
$ref: '#/components/schemas/QueryResult'
'400':
description: Invalid Relevance expression
content:
application/xml:
schema:
$ref: '#/components/schemas/Error'
/clientquery:
post:
summary: Submit a BigFix Client Query
description: Submits a client query to targeted computers.
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/ClientQuery'
responses:
'201':
description: Query submitted
content:
application/xml:
schema:
$ref: '#/components/schemas/ClientQueryResponse'
/clientquery/{id}:
get:
summary: Get Client Query Results
description: Retrieves the results of a submitted client query.
parameters:
- in: path
name: id
schema:
type: integer
required: true
description: Query ID
responses:
'200':
description: Query results
content:
application/xml:
schema:
$ref: '#/components/schemas/ClientQueryResult'
# Site Endpoints
/sites:
get:
summary: List All Sites
description: Retrieves a list of all sites on the BigFix server.
responses:
'200':
description: List of sites
content:
application/xml:
schema:
$ref: '#/components/schemas/SiteList'
/site/{siteType}/{siteName}:
get:
summary: Get Site Details
description: Retrieves details of a specific site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
responses:
'200':
description: Site details
content:
application/xml:
schema:
$ref: '#/components/schemas/Site'
# Fixlet Endpoints
/fixlets/{siteType}/{siteName}:
get:
summary: List Fixlets in a Site
description: Retrieves all Fixlets in a specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
responses:
'200':
description: List of Fixlets
content:
application/xml:
schema:
$ref: '#/components/schemas/FixletList'
post:
summary: Create a Fixlet
description: Creates a new Fixlet in the specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Fixlet'
responses:
'201':
description: Fixlet created
content:
application/xml:
schema:
$ref: '#/components/schemas/Fixlet'
/fixlet/{siteType}/{siteName}/{fixletId}:
get:
summary: Get Fixlet Details
description: Retrieves details of a specific Fixlet.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: fixletId
schema:
type: integer
required: true
responses:
'200':
description: Fixlet details
content:
application/xml:
schema:
$ref: '#/components/schemas/Fixlet'
put:
summary: Update a Fixlet
description: Updates an existing Fixlet.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: fixletId
schema:
type: integer
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Fixlet'
responses:
'200':
description: Fixlet updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Fixlet'
delete:
summary: Delete a Fixlet
description: Deletes a specific Fixlet.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: fixletId
schema:
type: integer
required: true
responses:
'200':
description: Fixlet deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
/fixlet/{siteType}/{siteName}/{fixletId}/computers:
get:
summary: List Relevant Computers for a Fixlet
description: Retrieves a list of computers relevant to a specific Fixlet.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: fixletId
schema:
type: integer
required: true
responses:
'200':
description: List of relevant computers
content:
application/xml:
schema:
$ref: '#/components/schemas/ComputerList'
# Action Endpoints
/actions:
get:
summary: List All Actions
description: Retrieves a list of all actions on the server.
responses:
'200':
description: List of actions
content:
application/xml:
schema:
$ref: '#/components/schemas/ActionList'
post:
summary: Create an Action
description: Submits a new action to the BigFix server.
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Action'
responses:
'201':
description: Action created
content:
application/xml:
schema:
$ref: '#/components/schemas/ActionResponse'
/action/{actionId}:
get:
summary: Get Action Details
description: Retrieves details of a specific action.
parameters:
- in: path
name: actionId
schema:
type: integer
required: true
responses:
'200':
description: Action details
content:
application/xml:
schema:
$ref: '#/components/schemas/ActionResponse'
delete:
summary: Delete an Action
description: Deletes a specific action.
parameters:
- in: path
name: actionId
schema:
type: integer
required: true
responses:
'200':
description: Action deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
/action/{actionId}/status:
get:
summary: Get Action Status
description: Retrieves the status of a specific action.
parameters:
- in: path
name: actionId
schema:
type: integer
required: true
responses:
'200':
description: Action status
content:
application/xml:
schema:
$ref: '#/components/schemas/ActionStatus'
/action/{actionId}/stop:
post:
summary: Stop an Action
description: Stops a running action.
parameters:
- in: path
name: actionId
schema:
type: integer
required: true
responses:
'200':
description: Action stopped
content:
application/xml:
schema:
$ref: '#/components/schemas/ActionResponse'
/action/{actionId}/computers:
get:
summary: List Computers Targeted by an Action
description: Retrieves a list of computers targeted by a specific action.
parameters:
- in: path
name: actionId
schema:
type: integer
required: true
responses:
'200':
description: List of targeted computers
content:
application/xml:
schema:
$ref: '#/components/schemas/ComputerList'
# Computer Endpoints
/computers:
get:
summary: List All Computers
description: Retrieves a list of all managed computers with optional field filtering.
parameters:
- in: query
name: fields
schema:
type: string
description: Filter response fields (e.g., "Property<Name=Computer Name,OS>")
responses:
'200':
description: List of computers
content:
application/xml:
schema:
$ref: '#/components/schemas/ComputerList'
/computer/{computerId}:
get:
summary: Get Computer Details
description: Retrieves details of a specific computer with optional field filtering.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
- in: query
name: fields
schema:
type: string
description: Filter response fields (e.g., "Property<Name=Computer Name,OS>")
responses:
'200':
description: Computer details
content:
application/xml:
schema:
$ref: '#/components/schemas/Computer'
delete:
summary: Delete a Computer
description: Deletes a specific computer record.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
responses:
'200':
description: Computer deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
/computer/{computerId}/fixlets:
get:
summary: List Relevant Fixlets for a Computer
description: Retrieves a list of Fixlets relevant to a specific computer.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
responses:
'200':
description: List of relevant Fixlets
content:
application/xml:
schema:
$ref: '#/components/schemas/FixletList'
/computer/{computerId}/settings:
get:
summary: Get Computer Settings
description: Retrieves settings for a specific computer.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
responses:
'200':
description: Computer settings
content:
application/xml:
schema:
$ref: '#/components/schemas/SettingList'
post:
summary: Update Computer Settings
description: Updates or creates settings for a specific computer.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Setting'
responses:
'200':
description: Settings updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Setting'
/computer/{computerId}/setting/{name}:
get:
summary: Get Specific Computer Setting
description: Retrieves a specific setting value for a computer.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
- in: path
name: name
schema:
type: string
required: true
responses:
'200':
description: Setting value
content:
application/xml:
schema:
$ref: '#/components/schemas/Setting'
put:
summary: Update Specific Computer Setting
description: Updates a specific setting value for a computer.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
- in: path
name: name
schema:
type: string
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Setting'
responses:
'200':
description: Setting updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Setting'
delete:
summary: Delete Specific Computer Setting
description: Deletes a specific setting for a computer.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
- in: path
name: name
schema:
type: string
required: true
responses:
'200':
description: Setting deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Operator Endpoints
/operators:
get:
summary: List All Operators
description: Retrieves a list of all operators on the server.
parameters:
- in: query
name: fields
schema:
type: string
description: Filter response fields (e.g., "Name,Role")
responses:
'200':
description: List of operators
content:
application/xml:
schema:
$ref: '#/components/schemas/OperatorList'
post:
summary: Create an Operator
description: Creates a new operator.
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Operator'
responses:
'201':
description: Operator created
content:
application/xml:
schema:
$ref: '#/components/schemas/Operator'
/operator/{operatorName}:
get:
summary: Get Operator Details
description: Retrieves details of a specific operator.
parameters:
- in: path
name: operatorName
schema:
type: string
required: true
- in: query
name: fields
schema:
type: string
description: Filter response fields (e.g., "Name,Role")
responses:
'200':
description: Operator details
content:
application/xml:
schema:
$ref: '#/components/schemas/Operator'
put:
summary: Update an Operator
description: Updates an existing operator.
parameters:
- in: path
name: operatorName
schema:
type: string
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Operator'
responses:
'200':
description: Operator updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Operator'
delete:
summary: Delete an Operator
description: Deletes a specific operator.
parameters:
- in: path
name: operatorName
schema:
type: string
required: true
responses:
'200':
description: Operator deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Role Endpoints
/roles:
get:
summary: List All Roles
description: Retrieves a list of all roles on the server.
responses:
'200':
description: List of roles
content:
application/xml:
schema:
$ref: '#/components/schemas/RoleList'
post:
summary: Create a Role
description: Creates a new role.
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Role'
responses:
'201':
description: Role created
content:
application/xml:
schema:
$ref: '#/components/schemas/Role'
/role/{roleId}:
get:
summary: Get Role Details
description: Retrieves details of a specific role.
parameters:
- in: path
name: roleId
schema:
type: integer
required: true
responses:
'200':
description: Role details
content:
application/xml:
schema:
$ref: '#/components/schemas/Role'
put:
summary: Update a Role
description: Updates an existing role.
parameters:
- in: path
name: roleId
schema:
type: integer
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Role'
responses:
'200':
description: Role updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Role'
delete:
summary: Delete a Role
description: Deletes a specific role.
parameters:
- in: path
name: roleId
schema:
type: integer
required: true
responses:
'200':
description: Role deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Task Endpoints
/tasks/{siteType}/{siteName}:
get:
summary: List Tasks in a Site
description: Retrieves all tasks in a specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
responses:
'200':
description: List of tasks
content:
application/xml:
schema:
$ref: '#/components/schemas/TaskList'
post:
summary: Create a Task
description: Creates a new task in the specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Task'
responses:
'201':
description: Task created
content:
application/xml:
schema:
$ref: '#/components/schemas/Task'
/task/{siteType}/{siteName}/{taskId}:
get:
summary: Get Task Details
description: Retrieves details of a specific task.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: taskId
schema:
type: integer
required: true
responses:
'200':
description: Task details
content:
application/xml:
schema:
$ref: '#/components/schemas/Task'
put:
summary: Update a Task
description: Updates an existing task.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: taskId
schema:
type: integer
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Task'
responses:
'200':
description: Task updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Task'
delete:
summary: Delete a Task
description: Deletes a specific task.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: taskId
schema:
type: integer
required: true
responses:
'200':
description: Task deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
/task/{siteType}/{siteName}/{taskId}/computers:
get:
summary: List Relevant Computers for a Task
description: Retrieves a list of computers relevant to a specific task.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: taskId
schema:
type: integer
required: true
responses:
'200':
description: List of relevant computers
content:
application/xml:
schema:
$ref: '#/components/schemas/ComputerList'
# Analysis Endpoints
/analyses/{siteType}/{siteName}:
get:
summary: List Analyses in a Site
description: Retrieves all analyses in a specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
responses:
'200':
description: List of analyses
content:
application/xml:
schema:
$ref: '#/components/schemas/AnalysisList'
post:
summary: Create an Analysis
description: Creates a new analysis in the specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Analysis'
responses:
'201':
description: Analysis created
content:
application/xml:
schema:
$ref: '#/components/schemas/Analysis'
/analysis/{siteType}/{siteName}/{analysisId}:
get:
summary: Get Analysis Details
description: Retrieves details of a specific analysis.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: analysisId
schema:
type: integer
required: true
responses:
'200':
description: Analysis details
content:
application/xml:
schema:
$ref: '#/components/schemas/Analysis'
put:
summary: Update an Analysis
description: Updates an existing analysis.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: analysisId
schema:
type: integer
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Analysis'
responses:
'200':
description: Analysis updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Analysis'
delete:
summary: Delete an Analysis
description: Deletes a specific analysis.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: analysisId
schema:
type: integer
required: true
responses:
'200':
description: Analysis deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
/analysis/{siteType}/{siteName}/{analysisId}/activations:
post:
summary: Activate an Analysis
description: Creates a new activation for the current operator.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: analysisId
schema:
type: integer
required: true
responses:
'201':
description: Activation created
content:
application/xml:
schema:
$ref: '#/components/schemas/Activation'
delete:
summary: Delete All Activations
description: Deletes all activations for the specified analysis.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: analysisId
schema:
type: integer
required: true
responses:
'200':
description: Activations deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
/analysis/{siteType}/{siteName}/{analysisId}/activation/{activationId}:
get:
summary: Get Analysis Activation Details
description: Retrieves details of a specific analysis activation.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: analysisId
schema:
type: integer
required: true
- in: path
name: activationId
schema:
type: integer
required: true
responses:
'200':
description: Activation details
content:
application/xml:
schema:
$ref: '#/components/schemas/Activation'
# Baseline Endpoints
/baselines/{siteType}/{siteName}:
get:
summary: List Baselines in a Site
description: Retrieves all baselines in a specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
responses:
'200':
description: List of baselines
content:
application/xml:
schema:
$ref: '#/components/schemas/BaselineList'
post:
summary: Create a Baseline
description: Creates a new baseline in the specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Baseline'
responses:
'201':
description: Baseline created
content:
application/xml:
schema:
$ref: '#/components/schemas/Baseline'
/baseline/{siteType}/{siteName}/{baselineId}:
get:
summary: Get Baseline Details
description: Retrieves details of a specific baseline.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: baselineId
schema:
type: integer
required: true
responses:
'200':
description: Baseline details
content:
application/xml:
schema:
$ref: '#/components/schemas/Baseline'
put:
summary: Update a Baseline
description: Updates an existing baseline.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: baselineId
schema:
type: integer
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Baseline'
responses:
'200':
description: Baseline updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Baseline'
delete:
summary: Delete a Baseline
description: Deletes a specific baseline.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: baselineId
schema:
type: integer
required: true
responses:
'200':
description: Baseline deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Group Endpoints
/groups:
get:
summary: List All Computer Groups
description: Retrieves a list of all computer groups.
responses:
'200':
description: List of groups
content:
application/xml:
schema:
$ref: '#/components/schemas/GroupList'
/group/{groupId}:
get:
summary: Get Group Details
description: Retrieves details of a specific computer group.
parameters:
- in: path
name: groupId
schema:
type: integer
required: true
responses:
'200':
description: Group details
content:
application/xml:
schema:
$ref: '#/components/schemas/Group'
# File (Upload) Endpoints
/files/{siteType}/{siteName}:
get:
summary: List Uploaded Files
description: Retrieves a list of uploaded files in a site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
responses:
'200':
description: List of files
content:
application/xml:
schema:
$ref: '#/components/schemas/FileList'
post:
summary: Upload a File
description: Uploads a file to the specified site.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
responses:
'201':
description: File uploaded
content:
application/xml:
schema:
$ref: '#/components/schemas/File'
/file/{siteType}/{siteName}/{fileId}:
delete:
summary: Delete an Uploaded File
description: Deletes a specific uploaded file.
parameters:
- in: path
name: siteType
schema:
type: string
enum: [custom, operator, master, external]
required: true
- in: path
name: siteName
schema:
type: string
required: true
- in: path
name: fileId
schema:
type: integer
required: true
responses:
'200':
description: File deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Administrative Endpoints
/login:
post:
summary: Authenticate User
description: Authenticates a user and returns a session token (alternative to Basic Auth).
requestBody:
required: true
content:
application/xml:
schema:
type: object
properties:
username:
type: string
password:
type: string
required:
- username
- password
responses:
'200':
description: Authentication successful
content:
application/xml:
schema:
type: object
properties:
token:
type: string
/logout:
post:
summary: Logout User
description: Ends the current session.
responses:
'200':
description: Session ended
content:
application/xml:
schema:
type: object
properties:
message:
type: string
/admin/fields:
get:
summary: List Custom Fields
description: Retrieves a list of custom fields defined in the BigFix server.
responses:
'200':
description: List of custom fields
content:
application/xml:
schema:
$ref: '#/components/schemas/FieldList'
/admin/ldap:
get:
summary: Get LDAP Configuration
description: Retrieves the LDAP configuration of the BigFix server.
responses:
'200':
description: LDAP configuration
content:
application/xml:
schema:
$ref: '#/components/schemas/LDAPConfig'
/admin/operators:
get:
summary: List Admin Operators
description: Retrieves a list of operators (admin view).
responses:
'200':
description: List of operators
content:
application/xml:
schema:
$ref: '#/components/schemas/OperatorList'
post:
summary: Create an Admin Operator
description: Creates a new operator (admin action).
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/Operator'
responses:
'201':
description: Operator created
content:
application/xml:
schema:
$ref: '#/components/schemas/Operator'
/admin/options:
get:
summary: Get Admin Options
description: Retrieves current admin options for the server.
responses:
'200':
description: Admin options
content:
application/xml:
schema:
$ref: '#/components/schemas/AdminOptions'
# Archive Manager Endpoints
/archivemanager:
get:
summary: Get Archive Manager Status
description: Retrieves the status of the archive manager.
responses:
'200':
description: Archive manager status
content:
application/xml:
schema:
$ref: '#/components/schemas/ArchiveStatus'
# Dashboard Variable Endpoints
/dashboardvariable:
get:
summary: List Dashboard Variables
description: Retrieves a list of all dashboard variables.
responses:
'200':
description: List of dashboard variables
content:
application/xml:
schema:
$ref: '#/components/schemas/DashboardVariableList'
post:
summary: Create a Dashboard Variable
description: Creates a new dashboard variable.
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/DashboardVariable'
responses:
'201':
description: Dashboard variable created
content:
application/xml:
schema:
$ref: '#/components/schemas/DashboardVariable'
/dashboardvariable/{id}:
get:
summary: Get Dashboard Variable Details
description: Retrieves details of a specific dashboard variable.
parameters:
- in: path
name: id
schema:
type: integer
required: true
responses:
'200':
description: Dashboard variable details
content:
application/xml:
schema:
$ref: '#/components/schemas/DashboardVariable'
put:
summary: Update a Dashboard Variable
description: Updates an existing dashboard variable.
parameters:
- in: path
name: id
schema:
type: integer
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/DashboardVariable'
responses:
'200':
description: Dashboard variable updated
content:
application/xml:
schema:
$ref: '#/components/schemas/DashboardVariable'
delete:
summary: Delete a Dashboard Variable
description: Deletes a specific dashboard variable.
parameters:
- in: path
name: id
schema:
type: integer
required: true
responses:
'200':
description: Dashboard variable deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Explorer Endpoints
/explorers:
get:
summary: List Explorer Servers
description: Retrieves a list of BigFix Explorer servers.
parameters:
- in: query
name: output
schema:
type: string
enum: [xml, json]
description: Response format (defaults to XML)
responses:
'200':
description: List of Explorer servers
content:
application/xml:
schema:
$ref: '#/components/schemas/ExplorerList'
application/json:
schema:
$ref: '#/components/schemas/ExplorerList'
/explorer/{id}:
put:
summary: Update Explorer Priority
description: Updates the priority of a specific Explorer server.
parameters:
- in: path
name: id
schema:
type: string
required: true
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/ExplorerPriority'
responses:
'200':
description: Priority updated
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Identity Provider Directory Endpoints
/idpdirectories:
get:
summary: List Identity Provider Directories
description: Retrieves a list of identity provider directories.
responses:
'200':
description: List of directories
content:
application/xml:
schema:
$ref: '#/components/schemas/IDPDirectoryList'
post:
summary: Create an Identity Provider Directory
description: Creates a new identity provider directory.
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/IDPDirectory'
responses:
'201':
description: Directory created
content:
application/xml:
schema:
$ref: '#/components/schemas/IDPDirectory'
/idpdirectory/{id}:
delete:
summary: Delete an Identity Provider Directory
description: Deletes a specific identity provider directory.
parameters:
- in: path
name: id
schema:
type: integer
required: true
responses:
'200':
description: Directory deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Import Endpoints
/import:
post:
summary: Import Content
description: Imports content (e.g., Fixlets, tasks) into BigFix.
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/ImportContent'
responses:
'201':
description: Content imported
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Mailbox Endpoints
/mailbox/{computerId}:
get:
summary: List Mailbox Messages
description: Retrieves a list of messages in a computer's mailbox.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
responses:
'200':
description: List of mailbox messages
content:
application/xml:
schema:
$ref: '#/components/schemas/MailboxList'
/mailbox/{computerId}/{messageId}:
delete:
summary: Delete a Mailbox Message
description: Deletes a specific message from a computer's mailbox.
parameters:
- in: path
name: computerId
schema:
type: integer
required: true
- in: path
name: messageId
schema:
type: integer
required: true
responses:
'200':
description: Message deleted
content:
application/xml:
schema:
$ref: '#/components/schemas/Success'
# Property Endpoints
/properties:
get:
summary: List All Properties
description: Retrieves a list of all defined properties.
responses:
'200':
description: List of properties
content:
application/xml:
schema:
$ref: '#/components/schemas/PropertyList'
# Replication Endpoints
/replication:
get:
summary: Get Replication Status
description: Retrieves the replication status of the BigFix server.
responses:
'200':
description: Replication status
content:
application/xml:
schema:
$ref: '#/components/schemas/ReplicationStatus'
# Miscellaneous Endpoints
/help:
get:
summary: List API Resources
description: Retrieves a list of all available API resources.
responses:
'200':
description: List of resources
content:
application/xml:
schema:
$ref: '#/components/schemas/ResourceList'
/serverinfo:
get:
summary: Get Server Information
description: Retrieves information about the BigFix server.
responses:
'200':
description: Server details
content:
application/xml:
schema:
$ref: '#/components/schemas/ServerInfo'
/sam/checksum:
get:
summary: Get Software Catalog Checksum
description: Retrieves the checksum of the software catalog (BigFix Inventory integration).
responses:
'200':
description: Checksum value
content:
application/xml:
schema:
type: object
properties:
checksum:
type: string
# Web Reports Endpoints
/webreports:
get:
summary: List Web Reports Servers
description: Retrieves a list of Web Reports servers.
responses:
'200':
description: List of Web Reports servers
content:
application/xml:
schema:
$ref: '#/components/schemas/WebReportsList'
/webreport/{id}:
get:
summary: Get Web Report Details
description: Retrieves details of a specific Web Reports server.
parameters:
- in: path
name: id
schema:
type: integer
required: true
responses:
'200':
description: Web Report details
content:
application/xml:
schema:
$ref: '#/components/schemas/WebReport'
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: BigFix REST API uses Basic Authentication with username and password.
schemas:
QueryResult:
type: object
xml:
name: BESAPI
properties:
Query:
type: object
properties:
Result:
type: object
properties:
Answer:
type: array
items:
type: string
example:
Query:
Result:
Answer:
- "Windows 10"
- "Ubuntu 20.04"
ClientQuery:
type: object
xml:
name: BESAPI
properties:
ClientQuery:
type: object
properties:
ApplicabilityRelevance:
type: string
QueryText:
type: string
Target:
type: object
properties:
ComputerName:
type: array
items:
type: string
example:
ClientQuery:
ApplicabilityRelevance: "true"
QueryText: "version of operating system"
Target:
ComputerName:
- "Magicbox"
- "Mercury"
ClientQueryResponse:
type: object
xml:
name: BESAPI
properties:
ClientQuery:
type: object
properties:
ID:
type: integer
example:
ClientQuery:
ID: 12
ClientQueryResult:
type: object
xml:
name: BESAPI
properties:
ClientQuery:
type: object
properties:
Result:
type: array
items:
type: string
example:
ClientQuery:
Result:
- "Windows 10"
- "Ubuntu 20.04"
SiteList:
type: object
xml:
name: BESAPI
properties:
Site:
type: array
items:
type: object
properties:
Name:
type: string
Type:
type: string
enum: [custom, operator, master, external]
example:
Site:
- Name: "Patch Management"
Type: "master"
Site:
type: object
xml:
name: BESAPI
properties:
Name:
type: string
Type:
type: string
enum: [custom, operator, master, external]
example:
Name: "Patch Management"
Type: "master"
FixletList:
type: object
xml:
name: BESAPI
properties:
Fixlet:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
Fixlet:
- ID: 1
Name: "Patch for CVE-2023-1234"
Fixlet:
type: object
xml:
name: BES
properties:
ID:
type: integer
Name:
type: string
Description:
type: string
example:
ID: 1
Name: "Patch for CVE-2023-1234"
Description: "Fixes a critical vulnerability."
ActionList:
type: object
xml:
name: BESAPI
properties:
Action:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
Status:
type: string
example:
Action:
- ID: 123
Name: "Deploy Patch"
Status: "Pending"
Action:
type: object
xml:
name: BES
properties:
Action:
type: object
properties:
Name:
type: string
Source:
type: string
ActionScript:
type: object
properties:
Type:
type: string
default: "ActionScript"
MIMEType:
type: string
default: "application/x-Fixlet-Windows-Shell"
Content:
type: string
example:
Action:
Name: "Deploy Patch"
Source: "Admin"
ActionScript:
Type: "ActionScript"
MIMEType: "application/x-Fixlet-Windows-Shell"
Content: "download http://example.com/patch.exe\nwaithidden patch.exe"
ActionResponse:
type: object
xml:
name: BESAPI
properties:
Action:
type: object
properties:
ID:
type: integer
Status:
type: string
example:
Action:
ID: 123
Status: "Pending"
ActionStatus:
type: object
xml:
name: BESAPI
properties:
Status:
type: string
ComputerCount:
type: integer
example:
Status: "Running"
ComputerCount: 50
ComputerList:
type: object
xml:
name: BESAPI
properties:
Computer:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
Computer:
- ID: 1001
Name: "WIN10-PC1"
Computer:
type: object
xml:
name: BESAPI
properties:
ID:
type: integer
Name:
type: string
OS:
type: string
example:
ID: 1001
Name: "WIN10-PC1"
OS: "Windows 10"
SettingList:
type: object
xml:
name: BESAPI
properties:
Setting:
type: array
items:
type: object
properties:
Name:
type: string
Value:
type: string
example:
Setting:
- Name: "CPUUsage"
Value: "Medium"
Setting:
type: object
xml:
name: BESAPI
properties:
Name:
type: string
Value:
type: string
example:
Name: "CPUUsage"
Value: "Medium"
OperatorList:
type: object
xml:
name: BESAPI
properties:
Operator:
type: array
items:
type: object
properties:
Name:
type: string
Role:
type: string
example:
Operator:
- Name: "admin1"
Role: "Master Operator"
Operator:
type: object
xml:
name: BESAPI
properties:
Name:
type: string
Role:
type: string
Password:
type: string
example:
Name: "admin1"
Role: "Master Operator"
Password: "hashedpassword"
RoleList:
type: object
xml:
name: BESAPI
properties:
Role:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
Role:
- ID: 1
Name: "Master Operator"
Role:
type: object
xml:
name: BESAPI
properties:
ID:
type: integer
Name:
type: string
Permissions:
type: object
properties:
CanCreateActions:
type: boolean
example:
ID: 1
Name: "Master Operator"
Permissions:
CanCreateActions: true
TaskList:
type: object
xml:
name: BESAPI
properties:
Task:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
Task:
- ID: 101
Name: "Install Update"
Task:
type: object
xml:
name: BES
properties:
ID:
type: integer
Name:
type: string
Description:
type: string
example:
ID: 101
Name: "Install Update"
Description: "Installs a software update."
AnalysisList:
type: object
xml:
name: BESAPI
properties:
Analysis:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
Analysis:
- ID: 201
Name: "Security Compliance"
Analysis:
type: object
xml:
name: BES
properties:
ID:
type: integer
Name:
type: string
Description:
type: string
example:
ID: 201
Name: "Security Compliance"
Description: "Checks compliance status."
Activation:
type: object
xml:
name: BESAPI
properties:
ID:
type: integer
Status:
type: string
example:
ID: 1
Status: "Active"
BaselineList:
type: object
xml:
name: BESAPI
properties:
Baseline:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
Baseline:
- ID: 301
Name: "Patch Baseline"
Baseline:
type: object
xml:
name: BES
properties:
ID:
type: integer
Name:
type: string
Description:
type: string
example:
ID: 301
Name: "Patch Baseline"
Description: "Groups multiple patches."
GroupList:
type: object
xml:
name: BESAPI
properties:
Group:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
Group:
- ID: 401
Name: "Windows Servers"
Group:
type: object
xml:
name: BESAPI
properties:
ID:
type: integer
Name:
type: string
Members:
type: array
items:
type: integer
example:
ID: 401
Name: "Windows Servers"
Members:
- 1001
- 1002
FileList:
type: object
xml:
name: BESAPI
properties:
File:
type: array
items:
type: object
properties:
Name:
type: string
URL:
type: string
example:
File:
- Name: "patch.exe"
URL: "http://example.com/patch.exe"
File:
type: object
xml:
name: BESAPI
properties:
Name:
type: string
URL:
type: string
example:
Name: "patch.exe"
URL: "http://example.com/patch.exe"
FieldList:
type: object
xml:
name: BESAPI
properties:
Field:
type: array
items:
type: object
properties:
Name:
type: string
Value:
type: string
example:
Field:
- Name: "Department"
Value: "IT"
LDAPConfig:
type: object
xml:
name: BESAPI
properties:
Server:
type: string
Port:
type: integer
example:
Server: "ldap.example.com"
Port: 389
AdminOptions:
type: object
xml:
name: BESAPI
properties:
SystemOptions:
type: object
properties:
MinimumRefreshSeconds:
type: integer
DefaultFixletVisibility:
type: string
example:
SystemOptions:
MinimumRefreshSeconds: 15
DefaultFixletVisibility: "Visible"
ArchiveStatus:
type: object
xml:
name: BESAPI
properties:
Status:
type: string
example:
Status: "Active"
DashboardVariableList:
type: object
xml:
name: BESAPI
properties:
DashboardVariable:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
Value:
type: string
example:
DashboardVariable:
- ID: 1
Name: "RefreshInterval"
Value: "60"
DashboardVariable:
type: object
xml:
name: BESAPI
properties:
ID:
type: integer
Name:
type: string
Value:
type: string
example:
ID: 1
Name: "RefreshInterval"
Value: "60"
ExplorerList:
type: object
xml:
name: BESAPI
properties:
Explorer:
type: array
items:
type: object
properties:
ID:
type: string
Priority:
type: integer
example:
Explorer:
- ID: "ddefefbe1a8b"
Priority: 15
ExplorerPriority:
type: object
xml:
name: BESAPI
properties:
ExplorerPriority:
type: object
properties:
Priority:
type: integer
example:
ExplorerPriority:
Priority: 15
IDPDirectoryList:
type: object
xml:
name: BESAPI
properties:
IdentityProviderDirectory:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
IdentityProviderDirectory:
- ID: 1
Name: "Corporate LDAP"
IDPDirectory:
type: object
xml:
name: BESAPI
properties:
ID:
type: integer
Name:
type: string
Server:
type: string
example:
ID: 1
Name: "Corporate LDAP"
Server: "ldap.example.com"
ImportContent:
type: object
xml:
name: BES
properties:
Content:
type: string
example:
Content: "<Fixlet>...</Fixlet>"
MailboxList:
type: object
xml:
name: BESAPI
properties:
Message:
type: array
items:
type: object
properties:
ID:
type: integer
Content:
type: string
example:
Message:
- ID: 1
Content: "Action completed"
PropertyList:
type: object
xml:
name: BESAPI
properties:
Property:
type: array
items:
type: object
properties:
Name:
type: string
Description:
type: string
example:
Property:
- Name: "OS"
Description: "Operating System"
ReplicationStatus:
type: object
xml:
name: BESAPI
properties:
Status:
type: string
example:
Status: "Synced"
ResourceList:
type: object
xml:
name: BESAPI
properties:
Resource:
type: array
items:
type: string
example:
Resource:
- "/api/query"
- "/api/sites"
ServerInfo:
type: object
xml:
name: BESAPI
properties:
Version:
type: string
Hostname:
type: string
example:
Version: "10.0.12.6"
Hostname: "bigfix-server.example.com"
WebReportsList:
type: object
xml:
name: BESAPI
properties:
WebReport:
type: array
items:
type: object
properties:
ID:
type: integer
Name:
type: string
example:
WebReport:
- ID: 1
Name: "Main Web Reports"
WebReport:
type: object
xml:
name: BESAPI
properties:
ID:
type: integer
Name:
type: string
example:
ID: 1
Name: "Main Web Reports"
Success:
type: object
xml:
name: BESAPI
properties:
Message:
type: string
example:
Message: "Operation completed successfully"
Error:
type: object
xml:
name: BESAPI
properties:
Error:
type: string
example:
Error: "Invalid credentials"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment