diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 39350bd825521..d77e35bedfcca 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -25911,7 +25911,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the download source + in: path name: sourceId required: true schema: @@ -25991,7 +25992,8 @@ paths: Get an agent binary download source by ID.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-settings-read. operationId: get-fleet-agent-download-sources-sourceid parameters: - - in: path + - description: The ID of the download source + in: path name: sourceId required: true schema: @@ -26182,7 +26184,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the download source + in: path name: sourceId required: true schema: @@ -26478,22 +26481,26 @@ paths: List all agent policies.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-agents-read OR fleet-setup. operationId: get-fleet-agent-policies parameters: - - in: query + - description: Page number + in: query name: page required: false schema: type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: type: number - - in: query + - description: Field to sort results by + in: query name: sortField required: false schema: type: string - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -26501,12 +26508,14 @@ paths: - desc - asc type: string - - in: query + - description: When true, only show policies with upgradeable agents + in: query name: showUpgradeable required: false schema: type: boolean - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: @@ -26530,7 +26539,8 @@ paths: required: false schema: type: boolean - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -27468,7 +27478,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: Whether to add the system integration to the new agent policy + in: query name: sys_monitoring required: false schema: @@ -28637,7 +28648,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -29594,12 +29606,14 @@ paths: Get an agent policy by ID.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-agents-read OR fleet-setup. operationId: get-fleet-agent-policies-agentpolicyid parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -30533,12 +30547,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -31704,7 +31720,8 @@ paths: Get the auto-upgrade status for agents assigned to an agent policy.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agent-policies-agentpolicyid-auto-upgrade-agents-status parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: @@ -31822,12 +31839,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -32764,7 +32783,8 @@ paths: Download an agent policy by ID.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. operationId: get-fleet-agent-policies-agentpolicyid-download parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: @@ -32881,7 +32901,8 @@ paths: Get a full agent policy by ID.

[Required authorization] Route required privileges: fleet-agent-policies-read. operationId: get-fleet-agent-policies-agentpolicyid-full parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: @@ -33504,7 +33525,8 @@ paths: Get a list of outputs associated with agent policy by policy id.

[Required authorization] Route required privileges: fleet-agent-policies-read AND fleet-settings-read. operationId: get-fleet-agent-policies-agentpolicyid-outputs parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: @@ -33669,6 +33691,7 @@ paths: type: object properties: agentPolicyId: + description: The ID of the agent policy type: string force: description: bypass validation checks that can prevent agent policy deletion @@ -33906,12 +33929,14 @@ paths: Get a summary of agent statuses for a given agent policy. operationId: get-fleet-agent-status parameters: - - in: query + - description: Filter by agent policy ID + in: query name: policyId required: false schema: type: string - - in: query + - description: Filter by one or more agent policy IDs + in: query name: policyIds required: false schema: @@ -33919,7 +33944,8 @@ paths: type: string maxItems: 1000 type: array - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: @@ -34032,7 +34058,8 @@ paths: Get the data streams that an agent is actively sending data to.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agent-status-data parameters: - - in: query + - description: Agent IDs to check data for, as an array or comma-separated string + in: query name: agentsIds required: true schema: @@ -34040,17 +34067,20 @@ paths: type: string maxItems: 10000 type: array - - in: query + - description: Filter by integration package name + in: query name: pkgName required: false schema: type: string - - in: query + - description: Filter by integration package version + in: query name: pkgVersion required: false schema: type: string - - in: query + - description: When true, return a preview of the ingested data + in: query name: previewData required: false schema: @@ -35424,58 +35454,68 @@ paths: List agents, with optional filtering and pagination.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents parameters: - - in: query + - description: Page number + in: query name: page required: false schema: type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: default: 20 type: number - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: type: string - - in: query + - description: When true, include agentless agents in the results + in: query name: showAgentless required: false schema: default: true type: boolean - - in: query + - description: When true, include inactive agents in the results + in: query name: showInactive required: false schema: default: false type: boolean - - in: query + - description: When true, include CPU and memory metrics in the response + in: query name: withMetrics required: false schema: default: false type: boolean - - in: query + - description: When true, only return agents that are upgradeable + in: query name: showUpgradeable required: false schema: default: false type: boolean - - in: query + - description: When true, return a summary of agent statuses in the response + in: query name: getStatusSummary required: false schema: default: false type: boolean - - in: query + - description: Field to sort results by + in: query name: sortField required: false schema: type: string - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -35483,22 +35523,26 @@ paths: - asc - desc type: string - - in: query + - description: JSON-encoded array of sort values for `search_after` pagination + in: query name: searchAfter required: false schema: type: string - - in: query + - description: When true, opens a new point-in-time for pagination + in: query name: openPit required: false schema: type: boolean - - in: query + - description: Point-in-time ID for pagination + in: query name: pitId required: false schema: type: string - - in: query + - description: Duration to keep the point-in-time alive, for example, `1m` + in: query name: pitKeepAlive required: false schema: @@ -36057,7 +36101,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -36140,12 +36185,14 @@ paths: Get an agent by ID.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-agentid parameters: - - in: path + - description: The agent ID + in: path name: agentId required: true schema: type: string - - in: query + - description: When true, include CPU and memory metrics in the response + in: query name: withMetrics required: false schema: @@ -36601,7 +36648,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -37074,7 +37122,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -37323,7 +37372,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -37568,7 +37618,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -37656,7 +37707,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -37837,7 +37889,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -37904,7 +37957,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -37991,7 +38045,8 @@ paths: Get a list of files uploaded by a specific agent.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-agentid-uploads parameters: - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -38100,29 +38155,34 @@ paths: Get the current status of recent agent actions.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-action-status parameters: - - in: query + - description: Page number + in: query name: page required: false schema: default: 0 type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: default: 20 type: number - - in: query + - description: Return actions created before this date + in: query name: date required: false schema: type: string - - in: query + - description: Return only the latest N actions + in: query name: latest required: false schema: type: number - - in: query + - description: Number of error details to include per action + in: query name: errorSize required: false schema: @@ -38309,7 +38369,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the action to cancel + in: path name: actionId required: true schema: @@ -39411,7 +39472,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the uploaded file + in: path name: fileId required: true schema: @@ -39485,12 +39547,14 @@ paths: Get a file uploaded by an agent.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-files-fileid-filename parameters: - - in: path + - description: The ID of the uploaded file + in: path name: fileId required: true schema: type: string - - in: path + - description: The name of the uploaded file + in: path name: fileName required: true schema: @@ -39757,12 +39821,14 @@ paths: Get a list of all tags used across enrolled agents.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-tags parameters: - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: type: string - - in: query + - description: When true, include tags from inactive agents + in: query name: showInactive required: false schema: @@ -39839,7 +39905,8 @@ paths: Check whether the current user has the required permissions to use Fleet. Optionally verifies Fleet Server setup privileges. operationId: get-fleet-check-permissions parameters: - - in: query + - description: When true, check Fleet Server setup privileges in addition to standard Fleet privileges + in: query name: fleetServerSetup required: false schema: @@ -40917,19 +40984,22 @@ paths: List all enrollment API keys.

[Required authorization] Route required privileges: fleet-agents-all OR fleet-setup. operationId: get-fleet-enrollment-api-keys parameters: - - in: query + - description: Page number + in: query name: page required: false schema: default: 1 type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: default: 20 type: number - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: @@ -41236,7 +41306,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the enrollment API key + in: path name: keyId required: true schema: @@ -41318,7 +41389,8 @@ paths: Get an enrollment API key by ID.

[Required authorization] Route required privileges: fleet-agents-all OR fleet-setup. operationId: get-fleet-enrollment-api-keys-keyid parameters: - - in: path + - description: The ID of the enrollment API key + in: path name: keyId required: true schema: @@ -41571,12 +41643,14 @@ paths: Get a list of integration categories.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-categories parameters: - - in: query + - description: When true, include prerelease packages in the results + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, include categories that only contain policy templates + in: query name: include_policy_templates required: false schema: @@ -41865,7 +41939,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: @@ -41950,7 +42025,8 @@ paths: Get a list of data streams created by installed integration packages.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-data-streams parameters: - - in: query + - description: Filter by data stream type + in: query name: type required: false schema: @@ -41961,12 +42037,14 @@ paths: - synthetics - profiling type: string - - in: query + - description: Filter data streams by dataset name + in: query name: datasetQuery required: false schema: type: string - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -41975,7 +42053,8 @@ paths: - asc - desc type: string - - in: query + - description: When true, only return data streams that are not associated with a package + in: query name: uncategorisedOnly required: false schema: @@ -42061,22 +42140,26 @@ paths: Get a list of integration packages available in the registry.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-packages parameters: - - in: query + - description: Filter packages by category + in: query name: category required: false schema: type: string - - in: query + - description: When true, include prerelease packages in the results + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, exclude the install status from the response + in: query name: excludeInstallStatus required: false schema: type: boolean - - in: query + - description: When true, include the number of package policies per package + in: query name: withPackagePoliciesCount required: false schema: @@ -42630,13 +42713,15 @@ paths: schema: example: 'true' type: string - - in: query + - description: When true, ignore mapping update errors during installation + in: query name: ignoreMappingUpdateErrors required: false schema: default: false type: boolean - - in: query + - description: When true, skip data stream rollover after installation + in: query name: skipDataStreamRollover required: false schema: @@ -42650,6 +42735,10 @@ paths: description: Upload a .zip or .tar.gz package archive (max 100MB) value: application/gzip; application/zip: + examples: + postInstallByUploadRequestExample: + description: Upload a .zip or .tar.gz package archive (max 100MB) + value: schema: format: binary type: string @@ -42657,6 +42746,15 @@ paths: '200': content: application/gzip; application/zip: + examples: + postInstallByUploadExample: + description: Package successfully installed from upload + value: + _meta: + install_source: upload + items: + - id: my-custom-package-logs-default + type: index_template schema: additionalProperties: false type: object @@ -42748,6 +42846,13 @@ paths: '400': content: application/gzip; application/zip: + examples: + genericErrorResponseExample: + description: Example of a generic error response + value: + error: Bad Request + message: An error message describing what went wrong + statusCode: 400 schema: additionalProperties: false description: Generic Error @@ -42800,7 +42905,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: When true, allow installing prerelease versions + in: query name: prerelease required: false schema: @@ -43648,12 +43754,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: query + - description: When true, delete the package even if it has active package policies + in: query name: force required: false schema: @@ -43781,27 +43889,32 @@ paths: Get information about a package by name, returning the latest installed or available version. operationId: get-fleet-epm-packages-pkgname parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: query + - description: When true, returns the package even if the signature cannot be verified + in: query name: ignoreUnverified required: false schema: type: boolean - - in: query + - description: When true, include prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, return the full package info including assets + in: query name: full required: false schema: type: boolean - - in: query + - description: When true, include package metadata such as whether it has package policies + in: query name: withMetadata required: false schema: @@ -44426,23 +44539,27 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: query + - description: When true, allow installing prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, ignore mapping update errors during installation + in: query name: ignoreMappingUpdateErrors required: false schema: default: false type: boolean - - in: query + - description: When true, skip data stream rollover after installation + in: query name: skipDataStreamRollover required: false schema: @@ -44618,7 +44735,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: @@ -45243,17 +45361,20 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: When true, delete the package even if it has active package policies + in: query name: force required: false schema: @@ -45381,32 +45502,38 @@ paths: Get information about a specific version of a package. operationId: get-fleet-epm-packages-pkgname-pkgversion parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: When true, returns the package even if the signature cannot be verified + in: query name: ignoreUnverified required: false schema: type: boolean - - in: query + - description: When true, include prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, return the full package info including assets + in: query name: full required: false schema: type: boolean - - in: query + - description: When true, include package metadata such as whether it has package policies + in: query name: withMetadata required: false schema: @@ -46031,28 +46158,33 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: When true, allow installing prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, ignore mapping update errors during installation + in: query name: ignoreMappingUpdateErrors required: false schema: default: false type: boolean - - in: query + - description: When true, skip data stream rollover after installation + in: query name: skipDataStreamRollover required: false schema: @@ -46228,12 +46360,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: @@ -46851,17 +46985,20 @@ paths: Get the contents of a specific file from a package.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-packages-pkgname-pkgversion-filepath parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: path + - description: File path within the package + in: path name: filePath required: true schema: @@ -46930,17 +47067,20 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: The ID of the package policy + in: query name: packagePolicyId required: true schema: @@ -47117,12 +47257,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: @@ -47200,12 +47342,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: @@ -47305,12 +47449,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: @@ -47403,17 +47549,20 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: When true, allow prerelease versions + in: query name: prerelease required: false schema: @@ -47698,7 +47847,8 @@ paths: Get usage statistics for a specific package, such as the number of agent policies using it.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-packages-pkgname-stats parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: @@ -47778,7 +47928,8 @@ paths: Get a list of all currently installed integration packages.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-packages-installed parameters: - - in: query + - description: Filter by data stream type + in: query name: dataStreamType required: false schema: @@ -47789,17 +47940,20 @@ paths: - synthetics - profiling type: string - - in: query + - description: When true, only return packages with active data streams + in: query name: showOnlyActiveDataStreams required: false schema: type: boolean - - in: query + - description: Filter packages by name + in: query name: nameQuery required: false schema: type: string - - in: query + - description: Sort values from the previous page for `search_after` pagination + in: query name: searchAfter required: false schema: @@ -47809,13 +47963,15 @@ paths: - type: number maxItems: 10 type: array - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: default: 15 type: number - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -48037,17 +48193,20 @@ paths: Get an inputs template for a package, used to pre-populate package policy forms.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-templates-pkgname-pkgversion-inputs parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: 'Output format for the inputs template: json, yml, or yaml' + in: query name: format required: false schema: @@ -48057,12 +48216,14 @@ paths: - yml - yaml type: string - - in: query + - description: When true, allow prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, return inputs even if the package signature cannot be verified + in: query name: ignoreUnverified required: false schema: @@ -48784,7 +48945,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the Fleet Server host + in: path name: itemId required: true schema: @@ -48864,7 +49026,8 @@ paths: Get a Fleet Server host by ID.

[Required authorization] Route required privileges: fleet-settings-read. operationId: get-fleet-fleet-server-hosts-itemid parameters: - - in: path + - description: The ID of the Fleet Server host + in: path name: itemId required: true schema: @@ -49060,7 +49223,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the Fleet Server host + in: path name: itemId required: true schema: @@ -49485,17 +49649,20 @@ paths: Get the Kubernetes manifest for deploying Elastic Agent.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. operationId: get-fleet-kubernetes parameters: - - in: query + - description: If true, returns the manifest as a downloadable file + in: query name: download required: false schema: type: boolean - - in: query + - description: Fleet Server host URL to include in the manifest + in: query name: fleetServer required: false schema: type: string - - in: query + - description: Enrollment token to include in the manifest + in: query name: enrolToken required: false schema: @@ -49565,17 +49732,20 @@ paths: Download the Kubernetes manifest for deploying Elastic Agent.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. operationId: get-fleet-kubernetes-download parameters: - - in: query + - description: If true, returns the manifest as a downloadable file + in: query name: download required: false schema: type: boolean - - in: query + - description: Fleet Server host URL to include in the manifest + in: query name: fleetServer required: false schema: type: string - - in: query + - description: Enrollment token to include in the manifest + in: query name: enrolToken required: false schema: @@ -49746,7 +49916,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: Set to true to confirm you understand the risks of rotating the key pair + in: query name: acknowledge required: false schema: @@ -50045,7 +50216,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -50143,7 +50315,8 @@ paths: Get output by ID.

[Required authorization] Route required privileges: fleet-settings-read OR fleet-agent-policies-read. operationId: get-fleet-outputs-outputid parameters: - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -50241,7 +50414,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -50349,7 +50523,8 @@ paths: Get the latest health status of an output by ID.

[Required authorization] Route required privileges: fleet-settings-read. operationId: get-fleet-outputs-outputid-health parameters: - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -50430,22 +50605,26 @@ paths: List all package policies. operationId: get-fleet-package-policies parameters: - - in: query + - description: Page number + in: query name: page required: false schema: type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: type: number - - in: query + - description: Field to sort results by + in: query name: sortField required: false schema: type: string - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -50453,17 +50632,20 @@ paths: - desc - asc type: string - - in: query + - description: When true, only show policies with available upgrades + in: query name: showUpgradeable required: false schema: type: boolean - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -50471,7 +50653,8 @@ paths: - simplified - legacy type: string - - in: query + - description: When true, include the agent count per package policy + in: query name: withAgentCount required: false schema: @@ -51101,7 +51284,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -52339,7 +52523,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -53004,12 +53189,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the package policy + in: path name: packagePolicyId required: true schema: type: string - - in: query + - description: When true, delete the package policy even if it is managed + in: query name: force required: false schema: @@ -53078,12 +53265,14 @@ paths: Get a package policy by ID. operationId: get-fleet-package-policies-packagepolicyid parameters: - - in: path + - description: The ID of the package policy + in: path name: packagePolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -53720,12 +53909,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the package policy + in: path name: packagePolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -56651,7 +56842,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the proxy + in: path name: itemId required: true schema: @@ -56731,7 +56923,8 @@ paths: Get a proxy by ID.

[Required authorization] Route required privileges: fleet-settings-read. operationId: get-fleet-proxies-itemid parameters: - - in: path + - description: The ID of the proxy + in: path name: itemId required: true schema: @@ -56854,7 +57047,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the proxy + in: path name: itemId required: true schema: @@ -57720,7 +57914,8 @@ paths: schema: maxLength: 50 type: string - - in: query + - description: Partial match filtering for uninstall token values + in: query name: search required: false schema: @@ -57733,7 +57928,8 @@ paths: schema: minimum: 5 type: number - - in: query + - description: Page number + in: query name: page required: false schema: @@ -57851,7 +58047,8 @@ paths: Get one decrypted uninstall token by its ID.

[Required authorization] Route required privileges: fleet-agents-all. operationId: get-fleet-uninstall-tokens-uninstalltokenid parameters: - - in: path + - description: The ID of the uninstall token + in: path name: uninstallTokenId required: true schema: diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index efe54a3ca1d64..231f07ec753fb 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -29040,7 +29040,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the download source + in: path name: sourceId required: true schema: @@ -29120,7 +29121,8 @@ paths: Get an agent binary download source by ID.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-settings-read. operationId: get-fleet-agent-download-sources-sourceid parameters: - - in: path + - description: The ID of the download source + in: path name: sourceId required: true schema: @@ -29311,7 +29313,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the download source + in: path name: sourceId required: true schema: @@ -29607,22 +29610,26 @@ paths: List all agent policies.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-agents-read OR fleet-setup. operationId: get-fleet-agent-policies parameters: - - in: query + - description: Page number + in: query name: page required: false schema: type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: type: number - - in: query + - description: Field to sort results by + in: query name: sortField required: false schema: type: string - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -29630,12 +29637,14 @@ paths: - desc - asc type: string - - in: query + - description: When true, only show policies with upgradeable agents + in: query name: showUpgradeable required: false schema: type: boolean - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: @@ -29659,7 +29668,8 @@ paths: required: false schema: type: boolean - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -30597,7 +30607,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: Whether to add the system integration to the new agent policy + in: query name: sys_monitoring required: false schema: @@ -31766,7 +31777,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -32723,12 +32735,14 @@ paths: Get an agent policy by ID.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-agents-read OR fleet-setup. operationId: get-fleet-agent-policies-agentpolicyid parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -33662,12 +33676,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -34833,7 +34849,8 @@ paths: Get the auto-upgrade status for agents assigned to an agent policy.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agent-policies-agentpolicyid-auto-upgrade-agents-status parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: @@ -34951,12 +34968,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -35893,7 +35912,8 @@ paths: Download an agent policy by ID.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. operationId: get-fleet-agent-policies-agentpolicyid-download parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: @@ -36010,7 +36030,8 @@ paths: Get a full agent policy by ID.

[Required authorization] Route required privileges: fleet-agent-policies-read. operationId: get-fleet-agent-policies-agentpolicyid-full parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: @@ -36633,7 +36654,8 @@ paths: Get a list of outputs associated with agent policy by policy id.

[Required authorization] Route required privileges: fleet-agent-policies-read AND fleet-settings-read. operationId: get-fleet-agent-policies-agentpolicyid-outputs parameters: - - in: path + - description: The ID of the agent policy + in: path name: agentPolicyId required: true schema: @@ -36798,6 +36820,7 @@ paths: type: object properties: agentPolicyId: + description: The ID of the agent policy type: string force: description: bypass validation checks that can prevent agent policy deletion @@ -37035,12 +37058,14 @@ paths: Get a summary of agent statuses for a given agent policy. operationId: get-fleet-agent-status parameters: - - in: query + - description: Filter by agent policy ID + in: query name: policyId required: false schema: type: string - - in: query + - description: Filter by one or more agent policy IDs + in: query name: policyIds required: false schema: @@ -37048,7 +37073,8 @@ paths: type: string maxItems: 1000 type: array - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: @@ -37161,7 +37187,8 @@ paths: Get the data streams that an agent is actively sending data to.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agent-status-data parameters: - - in: query + - description: Agent IDs to check data for, as an array or comma-separated string + in: query name: agentsIds required: true schema: @@ -37169,17 +37196,20 @@ paths: type: string maxItems: 10000 type: array - - in: query + - description: Filter by integration package name + in: query name: pkgName required: false schema: type: string - - in: query + - description: Filter by integration package version + in: query name: pkgVersion required: false schema: type: string - - in: query + - description: When true, return a preview of the ingested data + in: query name: previewData required: false schema: @@ -38553,58 +38583,68 @@ paths: List agents, with optional filtering and pagination.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents parameters: - - in: query + - description: Page number + in: query name: page required: false schema: type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: default: 20 type: number - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: type: string - - in: query + - description: When true, include agentless agents in the results + in: query name: showAgentless required: false schema: default: true type: boolean - - in: query + - description: When true, include inactive agents in the results + in: query name: showInactive required: false schema: default: false type: boolean - - in: query + - description: When true, include CPU and memory metrics in the response + in: query name: withMetrics required: false schema: default: false type: boolean - - in: query + - description: When true, only return agents that are upgradeable + in: query name: showUpgradeable required: false schema: default: false type: boolean - - in: query + - description: When true, return a summary of agent statuses in the response + in: query name: getStatusSummary required: false schema: default: false type: boolean - - in: query + - description: Field to sort results by + in: query name: sortField required: false schema: type: string - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -38612,22 +38652,26 @@ paths: - asc - desc type: string - - in: query + - description: JSON-encoded array of sort values for `search_after` pagination + in: query name: searchAfter required: false schema: type: string - - in: query + - description: When true, opens a new point-in-time for pagination + in: query name: openPit required: false schema: type: boolean - - in: query + - description: Point-in-time ID for pagination + in: query name: pitId required: false schema: type: string - - in: query + - description: Duration to keep the point-in-time alive, for example, `1m` + in: query name: pitKeepAlive required: false schema: @@ -39186,7 +39230,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -39269,12 +39314,14 @@ paths: Get an agent by ID.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-agentid parameters: - - in: path + - description: The agent ID + in: path name: agentId required: true schema: type: string - - in: query + - description: When true, include CPU and memory metrics in the response + in: query name: withMetrics required: false schema: @@ -39730,7 +39777,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -40203,7 +40251,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -40452,7 +40501,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -40697,7 +40747,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -40785,7 +40836,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -40966,7 +41018,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -41033,7 +41086,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -41120,7 +41174,8 @@ paths: Get a list of files uploaded by a specific agent.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-agentid-uploads parameters: - - in: path + - description: The agent ID + in: path name: agentId required: true schema: @@ -41229,29 +41284,34 @@ paths: Get the current status of recent agent actions.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-action-status parameters: - - in: query + - description: Page number + in: query name: page required: false schema: default: 0 type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: default: 20 type: number - - in: query + - description: Return actions created before this date + in: query name: date required: false schema: type: string - - in: query + - description: Return only the latest N actions + in: query name: latest required: false schema: type: number - - in: query + - description: Number of error details to include per action + in: query name: errorSize required: false schema: @@ -41438,7 +41498,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the action to cancel + in: path name: actionId required: true schema: @@ -42540,7 +42601,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the uploaded file + in: path name: fileId required: true schema: @@ -42614,12 +42676,14 @@ paths: Get a file uploaded by an agent.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-files-fileid-filename parameters: - - in: path + - description: The ID of the uploaded file + in: path name: fileId required: true schema: type: string - - in: path + - description: The name of the uploaded file + in: path name: fileName required: true schema: @@ -42886,12 +42950,14 @@ paths: Get a list of all tags used across enrolled agents.

[Required authorization] Route required privileges: fleet-agents-read. operationId: get-fleet-agents-tags parameters: - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: type: string - - in: query + - description: When true, include tags from inactive agents + in: query name: showInactive required: false schema: @@ -42968,7 +43034,8 @@ paths: Check whether the current user has the required permissions to use Fleet. Optionally verifies Fleet Server setup privileges. operationId: get-fleet-check-permissions parameters: - - in: query + - description: When true, check Fleet Server setup privileges in addition to standard Fleet privileges + in: query name: fleetServerSetup required: false schema: @@ -44046,19 +44113,22 @@ paths: List all enrollment API keys.

[Required authorization] Route required privileges: fleet-agents-all OR fleet-setup. operationId: get-fleet-enrollment-api-keys parameters: - - in: query + - description: Page number + in: query name: page required: false schema: default: 1 type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: default: 20 type: number - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: @@ -44365,7 +44435,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the enrollment API key + in: path name: keyId required: true schema: @@ -44447,7 +44518,8 @@ paths: Get an enrollment API key by ID.

[Required authorization] Route required privileges: fleet-agents-all OR fleet-setup. operationId: get-fleet-enrollment-api-keys-keyid parameters: - - in: path + - description: The ID of the enrollment API key + in: path name: keyId required: true schema: @@ -44700,12 +44772,14 @@ paths: Get a list of integration categories.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-categories parameters: - - in: query + - description: When true, include prerelease packages in the results + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, include categories that only contain policy templates + in: query name: include_policy_templates required: false schema: @@ -44994,7 +45068,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: @@ -45079,7 +45154,8 @@ paths: Get a list of data streams created by installed integration packages.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-data-streams parameters: - - in: query + - description: Filter by data stream type + in: query name: type required: false schema: @@ -45090,12 +45166,14 @@ paths: - synthetics - profiling type: string - - in: query + - description: Filter data streams by dataset name + in: query name: datasetQuery required: false schema: type: string - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -45104,7 +45182,8 @@ paths: - asc - desc type: string - - in: query + - description: When true, only return data streams that are not associated with a package + in: query name: uncategorisedOnly required: false schema: @@ -45190,22 +45269,26 @@ paths: Get a list of integration packages available in the registry.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-packages parameters: - - in: query + - description: Filter packages by category + in: query name: category required: false schema: type: string - - in: query + - description: When true, include prerelease packages in the results + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, exclude the install status from the response + in: query name: excludeInstallStatus required: false schema: type: boolean - - in: query + - description: When true, include the number of package policies per package + in: query name: withPackagePoliciesCount required: false schema: @@ -45759,13 +45842,15 @@ paths: schema: example: 'true' type: string - - in: query + - description: When true, ignore mapping update errors during installation + in: query name: ignoreMappingUpdateErrors required: false schema: default: false type: boolean - - in: query + - description: When true, skip data stream rollover after installation + in: query name: skipDataStreamRollover required: false schema: @@ -45779,6 +45864,10 @@ paths: description: Upload a .zip or .tar.gz package archive (max 100MB) value: application/gzip; application/zip: + examples: + postInstallByUploadRequestExample: + description: Upload a .zip or .tar.gz package archive (max 100MB) + value: schema: format: binary type: string @@ -45786,6 +45875,15 @@ paths: '200': content: application/gzip; application/zip: + examples: + postInstallByUploadExample: + description: Package successfully installed from upload + value: + _meta: + install_source: upload + items: + - id: my-custom-package-logs-default + type: index_template schema: additionalProperties: false type: object @@ -45877,6 +45975,13 @@ paths: '400': content: application/gzip; application/zip: + examples: + genericErrorResponseExample: + description: Example of a generic error response + value: + error: Bad Request + message: An error message describing what went wrong + statusCode: 400 schema: additionalProperties: false description: Generic Error @@ -45929,7 +46034,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: When true, allow installing prerelease versions + in: query name: prerelease required: false schema: @@ -46777,12 +46883,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: query + - description: When true, delete the package even if it has active package policies + in: query name: force required: false schema: @@ -46910,27 +47018,32 @@ paths: Get information about a package by name, returning the latest installed or available version. operationId: get-fleet-epm-packages-pkgname parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: query + - description: When true, returns the package even if the signature cannot be verified + in: query name: ignoreUnverified required: false schema: type: boolean - - in: query + - description: When true, include prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, return the full package info including assets + in: query name: full required: false schema: type: boolean - - in: query + - description: When true, include package metadata such as whether it has package policies + in: query name: withMetadata required: false schema: @@ -47555,23 +47668,27 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: query + - description: When true, allow installing prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, ignore mapping update errors during installation + in: query name: ignoreMappingUpdateErrors required: false schema: default: false type: boolean - - in: query + - description: When true, skip data stream rollover after installation + in: query name: skipDataStreamRollover required: false schema: @@ -47747,7 +47864,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: @@ -48372,17 +48490,20 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: When true, delete the package even if it has active package policies + in: query name: force required: false schema: @@ -48510,32 +48631,38 @@ paths: Get information about a specific version of a package. operationId: get-fleet-epm-packages-pkgname-pkgversion parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: When true, returns the package even if the signature cannot be verified + in: query name: ignoreUnverified required: false schema: type: boolean - - in: query + - description: When true, include prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, return the full package info including assets + in: query name: full required: false schema: type: boolean - - in: query + - description: When true, include package metadata such as whether it has package policies + in: query name: withMetadata required: false schema: @@ -49160,28 +49287,33 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: When true, allow installing prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, ignore mapping update errors during installation + in: query name: ignoreMappingUpdateErrors required: false schema: default: false type: boolean - - in: query + - description: When true, skip data stream rollover after installation + in: query name: skipDataStreamRollover required: false schema: @@ -49357,12 +49489,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: @@ -49980,17 +50114,20 @@ paths: Get the contents of a specific file from a package.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-packages-pkgname-pkgversion-filepath parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: path + - description: File path within the package + in: path name: filePath required: true schema: @@ -50059,17 +50196,20 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: The ID of the package policy + in: query name: packagePolicyId required: true schema: @@ -50246,12 +50386,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: @@ -50329,12 +50471,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: @@ -50434,12 +50578,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: @@ -50532,17 +50678,20 @@ paths: schema: example: 'true' type: string - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: When true, allow prerelease versions + in: query name: prerelease required: false schema: @@ -50827,7 +50976,8 @@ paths: Get usage statistics for a specific package, such as the number of agent policies using it.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-packages-pkgname-stats parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: @@ -50907,7 +51057,8 @@ paths: Get a list of all currently installed integration packages.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-packages-installed parameters: - - in: query + - description: Filter by data stream type + in: query name: dataStreamType required: false schema: @@ -50918,17 +51069,20 @@ paths: - synthetics - profiling type: string - - in: query + - description: When true, only return packages with active data streams + in: query name: showOnlyActiveDataStreams required: false schema: type: boolean - - in: query + - description: Filter packages by name + in: query name: nameQuery required: false schema: type: string - - in: query + - description: Sort values from the previous page for `search_after` pagination + in: query name: searchAfter required: false schema: @@ -50938,13 +51092,15 @@ paths: - type: number maxItems: 10 type: array - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: default: 15 type: number - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -51166,17 +51322,20 @@ paths: Get an inputs template for a package, used to pre-populate package policy forms.

[Required authorization] Route required privileges: integrations-read OR fleet-setup OR fleet-all. operationId: get-fleet-epm-templates-pkgname-pkgversion-inputs parameters: - - in: path + - description: Package name + in: path name: pkgName required: true schema: type: string - - in: path + - description: Package version + in: path name: pkgVersion required: true schema: type: string - - in: query + - description: 'Output format for the inputs template: json, yml, or yaml' + in: query name: format required: false schema: @@ -51186,12 +51345,14 @@ paths: - yml - yaml type: string - - in: query + - description: When true, allow prerelease versions + in: query name: prerelease required: false schema: type: boolean - - in: query + - description: When true, return inputs even if the package signature cannot be verified + in: query name: ignoreUnverified required: false schema: @@ -51913,7 +52074,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the Fleet Server host + in: path name: itemId required: true schema: @@ -51993,7 +52155,8 @@ paths: Get a Fleet Server host by ID.

[Required authorization] Route required privileges: fleet-settings-read. operationId: get-fleet-fleet-server-hosts-itemid parameters: - - in: path + - description: The ID of the Fleet Server host + in: path name: itemId required: true schema: @@ -52189,7 +52352,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the Fleet Server host + in: path name: itemId required: true schema: @@ -52614,17 +52778,20 @@ paths: Get the Kubernetes manifest for deploying Elastic Agent.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. operationId: get-fleet-kubernetes parameters: - - in: query + - description: If true, returns the manifest as a downloadable file + in: query name: download required: false schema: type: boolean - - in: query + - description: Fleet Server host URL to include in the manifest + in: query name: fleetServer required: false schema: type: string - - in: query + - description: Enrollment token to include in the manifest + in: query name: enrolToken required: false schema: @@ -52694,17 +52861,20 @@ paths: Download the Kubernetes manifest for deploying Elastic Agent.

[Required authorization] Route required privileges: fleet-agent-policies-read OR fleet-setup. operationId: get-fleet-kubernetes-download parameters: - - in: query + - description: If true, returns the manifest as a downloadable file + in: query name: download required: false schema: type: boolean - - in: query + - description: Fleet Server host URL to include in the manifest + in: query name: fleetServer required: false schema: type: string - - in: query + - description: Enrollment token to include in the manifest + in: query name: enrolToken required: false schema: @@ -52875,7 +53045,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: Set to true to confirm you understand the risks of rotating the key pair + in: query name: acknowledge required: false schema: @@ -53174,7 +53345,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -53272,7 +53444,8 @@ paths: Get output by ID.

[Required authorization] Route required privileges: fleet-settings-read OR fleet-agent-policies-read. operationId: get-fleet-outputs-outputid parameters: - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -53370,7 +53543,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -53478,7 +53652,8 @@ paths: Get the latest health status of an output by ID.

[Required authorization] Route required privileges: fleet-settings-read. operationId: get-fleet-outputs-outputid-health parameters: - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -53559,22 +53734,26 @@ paths: List all package policies. operationId: get-fleet-package-policies parameters: - - in: query + - description: Page number + in: query name: page required: false schema: type: number - - in: query + - description: Number of results per page + in: query name: perPage required: false schema: type: number - - in: query + - description: Field to sort results by + in: query name: sortField required: false schema: type: string - - in: query + - description: Sort order, ascending or descending + in: query name: sortOrder required: false schema: @@ -53582,17 +53761,20 @@ paths: - desc - asc type: string - - in: query + - description: When true, only show policies with available upgrades + in: query name: showUpgradeable required: false schema: type: boolean - - in: query + - description: A KQL query string to filter results + in: query name: kuery required: false schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -53600,7 +53782,8 @@ paths: - simplified - legacy type: string - - in: query + - description: When true, include the agent count per package policy + in: query name: withAgentCount required: false schema: @@ -54230,7 +54413,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -55468,7 +55652,8 @@ paths: schema: example: 'true' type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -56133,12 +56318,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the package policy + in: path name: packagePolicyId required: true schema: type: string - - in: query + - description: When true, delete the package policy even if it is managed + in: query name: force required: false schema: @@ -56207,12 +56394,14 @@ paths: Get a package policy by ID. operationId: get-fleet-package-policies-packagepolicyid parameters: - - in: path + - description: The ID of the package policy + in: path name: packagePolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -56849,12 +57038,14 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the package policy + in: path name: packagePolicyId required: true schema: type: string - - in: query + - description: 'Format for the response: simplified or legacy' + in: query name: format required: false schema: @@ -59780,7 +59971,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the proxy + in: path name: itemId required: true schema: @@ -59860,7 +60052,8 @@ paths: Get a proxy by ID.

[Required authorization] Route required privileges: fleet-settings-read. operationId: get-fleet-proxies-itemid parameters: - - in: path + - description: The ID of the proxy + in: path name: itemId required: true schema: @@ -59983,7 +60176,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: The ID of the proxy + in: path name: itemId required: true schema: @@ -60138,7 +60332,8 @@ paths: Get the synchronization status of remote integrations for a specific output by its ID.

[Required authorization] Route required privileges: fleet-settings-read AND integrations-read. operationId: get-fleet-remote-synced-integrations-outputid-remote-status parameters: - - in: path + - description: The ID of the output + in: path name: outputId required: true schema: @@ -61207,7 +61402,8 @@ paths: schema: maxLength: 50 type: string - - in: query + - description: Partial match filtering for uninstall token values + in: query name: search required: false schema: @@ -61220,7 +61416,8 @@ paths: schema: minimum: 5 type: number - - in: query + - description: Page number + in: query name: page required: false schema: @@ -61338,7 +61535,8 @@ paths: Get one decrypted uninstall token by its ID.

[Required authorization] Route required privileges: fleet-agents-all. operationId: get-fleet-uninstall-tokens-uninstalltokenid parameters: - - in: path + - description: The ID of the uninstall token + in: path name: uninstallTokenId required: true schema: diff --git a/src/platform/packages/private/kbn-validate-oas/src/oas_error_baseline.json b/src/platform/packages/private/kbn-validate-oas/src/oas_error_baseline.json index b3b613b0efff8..b9b8fb681eb2d 100644 --- a/src/platform/packages/private/kbn-validate-oas/src/oas_error_baseline.json +++ b/src/platform/packages/private/kbn-validate-oas/src/oas_error_baseline.json @@ -1,4 +1,4 @@ { - "./oas_docs/output/kibana.yaml": 448, - "./oas_docs/output/kibana.serverless.yaml": 426 + "./oas_docs/output/kibana.yaml": 268, + "./oas_docs/output/kibana.serverless.yaml": 247 } \ No newline at end of file diff --git a/x-pack/platform/plugins/shared/fleet/server/routes/epm/examples/post_install_package_by_upload.yaml b/x-pack/platform/plugins/shared/fleet/server/routes/epm/examples/post_install_package_by_upload.yaml index b1fb52aeea9b5..0a5037e20ce6d 100644 --- a/x-pack/platform/plugins/shared/fleet/server/routes/epm/examples/post_install_package_by_upload.yaml +++ b/x-pack/platform/plugins/shared/fleet/server/routes/epm/examples/post_install_package_by_upload.yaml @@ -5,6 +5,11 @@ requestBody: postInstallByUploadRequestExample: description: 'Upload a .zip or .tar.gz package archive (max 100MB)' value: '' + application/gzip; application/zip: + examples: + postInstallByUploadRequestExample: + description: 'Upload a .zip or .tar.gz package archive (max 100MB)' + value: '' responses: 200: description: 'Successful response' @@ -19,6 +24,16 @@ responses: type: 'index_template' _meta: install_source: 'upload' + application/gzip; application/zip: + examples: + postInstallByUploadExample: + description: 'Package successfully installed from upload' + value: + items: + - id: 'my-custom-package-logs-default' + type: 'index_template' + _meta: + install_source: 'upload' 400: description: 'Bad Request' content: @@ -30,3 +45,11 @@ responses: statusCode: 400 error: 'Bad Request' message: 'An error message describing what went wrong' + application/gzip; application/zip: + examples: + genericErrorResponseExample: + description: 'Example of a generic error response' + value: + statusCode: 400 + error: 'Bad Request' + message: 'An error message describing what went wrong' diff --git a/x-pack/platform/plugins/shared/fleet/server/types/models/custom_integrations.ts b/x-pack/platform/plugins/shared/fleet/server/types/models/custom_integrations.ts index c96748237d725..c9c987e83b3d7 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/models/custom_integrations.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/models/custom_integrations.ts @@ -15,6 +15,6 @@ const CustomIntegrationFieldsSchema = schema.object({ export const CustomIntegrationRequestSchema = { body: CustomIntegrationFieldsSchema, params: schema.object({ - pkgName: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/agent.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/agent.ts index 057012bef9d84..5375445b32791 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/agent.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/agent.ts @@ -34,10 +34,14 @@ const ActionIdOrMessageSchema = schema.oneOf([ export const GetAgentsRequestSchema = { query: schema.object( { - page: schema.maybe(schema.number()), - perPage: schema.number({ defaultValue: 20 }), + page: schema.maybe(schema.number({ meta: { description: 'Page number' } })), + perPage: schema.number({ + defaultValue: 20, + meta: { description: 'Number of results per page' }, + }), kuery: schema.maybe( schema.string({ + meta: { description: 'A KQL query string to filter results' }, validate: (value: string) => { const validationObj = validateKuery(value, [AGENTS_PREFIX], AGENT_MAPPINGS, true); if (validationObj?.error) { @@ -46,17 +50,50 @@ export const GetAgentsRequestSchema = { }, }) ), - showAgentless: schema.boolean({ defaultValue: true }), - showInactive: schema.boolean({ defaultValue: false }), - withMetrics: schema.boolean({ defaultValue: false }), - showUpgradeable: schema.boolean({ defaultValue: false }), - getStatusSummary: schema.boolean({ defaultValue: false }), - sortField: schema.maybe(schema.string()), - sortOrder: schema.maybe(schema.oneOf([schema.literal('asc'), schema.literal('desc')])), - searchAfter: schema.maybe(schema.string()), - openPit: schema.maybe(schema.boolean()), - pitId: schema.maybe(schema.string()), - pitKeepAlive: schema.maybe(schema.string()), + showAgentless: schema.boolean({ + defaultValue: true, + meta: { description: 'When true, include agentless agents in the results' }, + }), + showInactive: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, include inactive agents in the results' }, + }), + withMetrics: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, include CPU and memory metrics in the response' }, + }), + showUpgradeable: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, only return agents that are upgradeable' }, + }), + getStatusSummary: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, return a summary of agent statuses in the response' }, + }), + sortField: schema.maybe(schema.string({ meta: { description: 'Field to sort results by' } })), + sortOrder: schema.maybe( + schema.oneOf([schema.literal('asc'), schema.literal('desc')], { + meta: { description: 'Sort order, ascending or descending' }, + }) + ), + searchAfter: schema.maybe( + schema.string({ + meta: { description: 'JSON-encoded array of sort values for `search_after` pagination' }, + }) + ), + openPit: schema.maybe( + schema.boolean({ + meta: { description: 'When true, opens a new point-in-time for pagination' }, + }) + ), + pitId: schema.maybe( + schema.string({ meta: { description: 'Point-in-time ID for pagination' } }) + ), + pitKeepAlive: schema.maybe( + schema.string({ + meta: { description: 'Duration to keep the point-in-time alive, for example, `1m`' }, + }) + ), }, { validate: (request) => { @@ -354,10 +391,13 @@ export const GetAgentResponseSchema = schema.object({ export const GetOneAgentRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), query: schema.object({ - withMetrics: schema.boolean({ defaultValue: false }), + withMetrics: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, include CPU and memory metrics in the response' }, + }), }), }; @@ -378,7 +418,7 @@ export const PostNewAgentActionRequestSchema = { action: NewAgentActionSchema, }), params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), }; @@ -403,7 +443,7 @@ export const PostNewAgentActionResponseSchema = schema.object({ export const PostCancelActionRequestSchema = { params: schema.object({ - actionId: schema.string(), + actionId: schema.string({ meta: { description: 'The ID of the action to cancel' } }), }), }; @@ -419,7 +459,7 @@ export const PostRetrieveAgentsByActionsResponseSchema = schema.object({ export const PostAgentUnenrollRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), body: schema.nullable( schema.object({ @@ -479,7 +519,7 @@ function validateVersion(s: string) { export const PostAgentUpgradeRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), body: schema.object({ source_uri: schema.maybe(schema.string()), @@ -515,7 +555,7 @@ export const PostBulkAgentUpgradeRequestSchema = { export const PostAgentReassignRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), body: schema.object({ policy_id: schema.string(), @@ -524,7 +564,7 @@ export const PostAgentReassignRequestSchema = { export const PostRequestDiagnosticsActionRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), body: schema.nullable( schema.object({ @@ -551,7 +591,7 @@ export const PostBulkRequestDiagnosticsActionRequestSchema = { export const ListAgentUploadsRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), }; @@ -579,14 +619,14 @@ export const ListAgentUploadsResponseSchema = schema.object({ export const GetAgentUploadFileRequestSchema = { params: schema.object({ - fileId: schema.string(), - fileName: schema.string(), + fileId: schema.string({ meta: { description: 'The ID of the uploaded file' } }), + fileName: schema.string({ meta: { description: 'The name of the uploaded file' } }), }), }; export const DeleteAgentUploadFileRequestSchema = { params: schema.object({ - fileId: schema.string(), + fileId: schema.string({ meta: { description: 'The ID of the uploaded file' } }), }), }; @@ -606,7 +646,7 @@ export const PostBulkAgentReassignRequestSchema = { export const DeleteAgentRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), }; @@ -616,7 +656,7 @@ export const DeleteAgentResponseSchema = schema.object({ export const UpdateAgentRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), body: schema.object({ user_provided_metadata: schema.maybe(schema.recordOf(schema.string(), schema.any())), @@ -626,7 +666,7 @@ export const UpdateAgentRequestSchema = { export const MigrateSingleAgentRequestSchema = { params: schema.object({ - agentId: schema.string(), + agentId: schema.string({ meta: { description: 'The agent ID' } }), }), body: schema.object({ uri: schema.uri(), @@ -663,12 +703,15 @@ export const PostBulkActionResponseSchema = ActionIdSchema; export const GetAgentStatusRequestSchema = { query: schema.object({ - policyId: schema.maybe(schema.string()), + policyId: schema.maybe(schema.string({ meta: { description: 'Filter by agent policy ID' } })), policyIds: schema.maybe( - schema.oneOf([schema.arrayOf(schema.string(), { maxSize: 1000 }), schema.string()]) + schema.oneOf([schema.arrayOf(schema.string(), { maxSize: 1000 }), schema.string()], { + meta: { description: 'Filter by one or more agent policy IDs' }, + }) ), kuery: schema.maybe( schema.string({ + meta: { description: 'A KQL query string to filter results' }, validate: (value: string) => { const validationObj = validateKuery(value, [AGENTS_PREFIX], AGENT_MAPPINGS, true); if (validationObj?.error) { @@ -699,10 +742,22 @@ export const GetAgentStatusResponseSchema = schema.object({ export const GetAgentDataRequestSchema = { query: schema.object({ - agentsIds: schema.oneOf([schema.arrayOf(schema.string(), { maxSize: 10000 }), schema.string()]), - pkgName: schema.maybe(schema.string()), - pkgVersion: schema.maybe(schema.string()), - previewData: schema.boolean({ defaultValue: false }), + agentsIds: schema.oneOf( + [schema.arrayOf(schema.string(), { maxSize: 10000 }), schema.string()], + { + meta: { description: 'Agent IDs to check data for, as an array or comma-separated string' }, + } + ), + pkgName: schema.maybe( + schema.string({ meta: { description: 'Filter by integration package name' } }) + ), + pkgVersion: schema.maybe( + schema.string({ meta: { description: 'Filter by integration package version' } }) + ), + previewData: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, return a preview of the ingested data' }, + }), }), }; @@ -721,10 +776,14 @@ export const GetAgentDataResponseSchema = schema.object({ export const GetActionStatusRequestSchema = { query: schema.object({ - page: schema.number({ defaultValue: 0 }), - perPage: schema.number({ defaultValue: 20 }), + page: schema.number({ defaultValue: 0, meta: { description: 'Page number' } }), + perPage: schema.number({ + defaultValue: 20, + meta: { description: 'Number of results per page' }, + }), date: schema.maybe( schema.string({ + meta: { description: 'Return actions created before this date' }, validate: (v: string) => { if (!moment(v).isValid()) { return 'not a valid date'; @@ -732,8 +791,13 @@ export const GetActionStatusRequestSchema = { }, }) ), - latest: schema.maybe(schema.number()), - errorSize: schema.number({ defaultValue: 5 }), + latest: schema.maybe( + schema.number({ meta: { description: 'Return only the latest N actions' } }) + ), + errorSize: schema.number({ + defaultValue: 5, + meta: { description: 'Number of error details to include per action' }, + }), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/agent_policy.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/agent_policy.ts index 613922bc5f311..b2bbdd892c39f 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/agent_policy.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/agent_policy.ts @@ -23,13 +23,24 @@ import { CreatePackagePolicyRequestSchema } from './package_policy'; export const GetAgentPoliciesRequestSchema = { query: schema.object( { - page: schema.maybe(schema.number({ defaultValue: 1 })), - perPage: schema.maybe(schema.number({ defaultValue: 20 })), - sortField: schema.maybe(schema.string()), - sortOrder: schema.maybe(schema.oneOf([schema.literal('desc'), schema.literal('asc')])), - showUpgradeable: schema.maybe(schema.boolean()), + page: schema.maybe(schema.number({ defaultValue: 1, meta: { description: 'Page number' } })), + perPage: schema.maybe( + schema.number({ defaultValue: 20, meta: { description: 'Number of results per page' } }) + ), + sortField: schema.maybe(schema.string({ meta: { description: 'Field to sort results by' } })), + sortOrder: schema.maybe( + schema.oneOf([schema.literal('desc'), schema.literal('asc')], { + meta: { description: 'Sort order, ascending or descending' }, + }) + ), + showUpgradeable: schema.maybe( + schema.boolean({ + meta: { description: 'When true, only show policies with upgradeable agents' }, + }) + ), kuery: schema.maybe( schema.string({ + meta: { description: 'A KQL query string to filter results' }, validate: (value: string) => { const validationObj = validateKuery( value, @@ -59,7 +70,12 @@ export const GetAgentPoliciesRequestSchema = { }) ), format: schema.maybe( - schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)]) + schema.oneOf( + [schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)], + { + meta: { description: 'Format for the response: simplified or legacy' }, + } + ) ), }, { @@ -86,7 +102,9 @@ export const BulkGetAgentPoliciesRequestSchema = { }), query: schema.object({ format: schema.maybe( - schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)]) + schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)], { + meta: { description: 'Format for the response: simplified or legacy' }, + }) ), }), }; @@ -97,25 +115,31 @@ export const BulkGetAgentPoliciesResponseSchema = schema.object({ export const GetOneAgentPolicyRequestSchema = { params: schema.object({ - agentPolicyId: schema.string(), + agentPolicyId: schema.string({ meta: { description: 'The ID of the agent policy' } }), }), query: schema.object({ format: schema.maybe( - schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)]) + schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)], { + meta: { description: 'Format for the response: simplified or legacy' }, + }) ), }), }; export const GetAutoUpgradeAgentsStatusRequestSchema = { params: schema.object({ - agentPolicyId: schema.string(), + agentPolicyId: schema.string({ meta: { description: 'The ID of the agent policy' } }), }), }; export const CreateAgentPolicyRequestSchema = { body: NewAgentPolicySchema, query: schema.object({ - sys_monitoring: schema.maybe(schema.boolean()), + sys_monitoring: schema.maybe( + schema.boolean({ + meta: { description: 'Whether to add the system integration to the new agent policy' }, + }) + ), }), }; @@ -147,7 +171,7 @@ export const CopyAgentPolicyRequestSchema = { export const DeleteAgentPolicyRequestSchema = { body: schema.object({ - agentPolicyId: schema.string(), + agentPolicyId: schema.string({ meta: { description: 'The ID of the agent policy' } }), force: schema.maybe( schema.boolean({ meta: { description: 'bypass validation checks that can prevent agent policy deletion' }, @@ -163,7 +187,7 @@ export const DeleteAgentPolicyResponseSchema = schema.object({ export const GetFullAgentPolicyRequestSchema = { params: schema.object({ - agentPolicyId: schema.string(), + agentPolicyId: schema.string({ meta: { description: 'The ID of the agent policy' } }), }), query: schema.object({ download: schema.maybe( @@ -200,9 +224,21 @@ export const DownloadFullAgentPolicyResponseSchema = schema.string(); export const GetK8sManifestRequestSchema = { query: schema.object({ - download: schema.maybe(schema.boolean()), - fleetServer: schema.maybe(schema.string()), - enrolToken: schema.maybe(schema.string()), + download: schema.maybe( + schema.boolean({ + meta: { description: 'If true, returns the manifest as a downloadable file' }, + }) + ), + fleetServer: schema.maybe( + schema.string({ + meta: { description: 'Fleet Server host URL to include in the manifest' }, + }) + ), + enrolToken: schema.maybe( + schema.string({ + meta: { description: 'Enrollment token to include in the manifest' }, + }) + ), }), }; @@ -212,7 +248,7 @@ export const GetK8sManifestResponseScheme = schema.object({ export const GetAgentPolicyOutputsRequestSchema = { params: schema.object({ - agentPolicyId: schema.string(), + agentPolicyId: schema.string({ meta: { description: 'The ID of the agent policy' } }), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/check_permissions.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/check_permissions.ts index 9905e72335ee3..eeb367648bed1 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/check_permissions.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/check_permissions.ts @@ -9,7 +9,14 @@ import { schema } from '@kbn/config-schema'; export const CheckPermissionsRequestSchema = { query: schema.object({ - fleetServerSetup: schema.maybe(schema.boolean()), + fleetServerSetup: schema.maybe( + schema.boolean({ + meta: { + description: + 'When true, check Fleet Server setup privileges in addition to standard Fleet privileges', + }, + }) + ), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/download_sources.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/download_sources.ts index 6770e15d863ff..088db49d924a9 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/download_sources.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/download_sources.ts @@ -11,7 +11,7 @@ import { DownloadSourceSchema } from '../models'; export const GetOneDownloadSourcesRequestSchema = { params: schema.object({ - sourceId: schema.string(), + sourceId: schema.string({ meta: { description: 'The ID of the download source' } }), }), }; @@ -23,14 +23,14 @@ export const PostDownloadSourcesRequestSchema = { export const PutDownloadSourcesRequestSchema = { params: schema.object({ - sourceId: schema.string(), + sourceId: schema.string({ meta: { description: 'The ID of the download source' } }), }), body: DownloadSourceSchema, }; export const DeleteDownloadSourcesRequestSchema = { params: schema.object({ - sourceId: schema.string(), + sourceId: schema.string({ meta: { description: 'The ID of the download source' } }), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/enrollment_api_key.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/enrollment_api_key.ts index 3b911713aa23a..85f3441a2e276 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/enrollment_api_key.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/enrollment_api_key.ts @@ -16,10 +16,14 @@ import { EnrollmentAPIKeySchema } from '../models'; export const GetEnrollmentAPIKeysRequestSchema = { query: schema.object({ - page: schema.number({ defaultValue: 1 }), - perPage: schema.number({ defaultValue: 20 }), + page: schema.number({ defaultValue: 1, meta: { description: 'Page number' } }), + perPage: schema.number({ + defaultValue: 20, + meta: { description: 'Number of results per page' }, + }), kuery: schema.maybe( schema.string({ + meta: { description: 'A KQL query string to filter results' }, validate: (value: string) => { const validationObj = validateKuery( value, @@ -38,7 +42,7 @@ export const GetEnrollmentAPIKeysRequestSchema = { export const GetOneEnrollmentAPIKeyRequestSchema = { params: schema.object({ - keyId: schema.string(), + keyId: schema.string({ meta: { description: 'The ID of the enrollment API key' } }), }), }; @@ -48,7 +52,7 @@ export const EnrollmentAPIKeyResponseSchema = schema.object({ export const DeleteEnrollmentAPIKeyRequestSchema = { params: schema.object({ - keyId: schema.string(), + keyId: schema.string({ meta: { description: 'The ID of the enrollment API key' } }), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/epm.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/epm.ts index ed3d358a4c13f..2d04f0933151b 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/epm.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/epm.ts @@ -15,8 +15,16 @@ import { OtelCollectorConfigSchema } from '../models'; export const GetCategoriesRequestSchema = { query: schema.object({ - prerelease: schema.maybe(schema.boolean()), - include_policy_templates: schema.maybe(schema.boolean()), + prerelease: schema.maybe( + schema.boolean({ + meta: { description: 'When true, include prerelease packages in the results' }, + }) + ), + include_policy_templates: schema.maybe( + schema.boolean({ + meta: { description: 'When true, include categories that only contain policy templates' }, + }) + ), }), }; @@ -34,10 +42,24 @@ export const GetCategoriesResponseSchema = schema.object({ export const GetPackagesRequestSchema = { query: schema.object({ - category: schema.maybe(schema.string()), - prerelease: schema.maybe(schema.boolean()), - excludeInstallStatus: schema.maybe(schema.boolean({ defaultValue: false })), - withPackagePoliciesCount: schema.maybe(schema.boolean({ defaultValue: false })), + category: schema.maybe(schema.string({ meta: { description: 'Filter packages by category' } })), + prerelease: schema.maybe( + schema.boolean({ + meta: { description: 'When true, include prerelease packages in the results' }, + }) + ), + excludeInstallStatus: schema.maybe( + schema.boolean({ + defaultValue: false, + meta: { description: 'When true, exclude the install status from the response' }, + }) + ), + withPackagePoliciesCount: schema.maybe( + schema.boolean({ + defaultValue: false, + meta: { description: 'When true, include the number of package policies per package' }, + }) + ), }), }; @@ -518,22 +540,36 @@ export const RollbackPackageResponseSchema = schema.object({ export const GetInstalledPackagesRequestSchema = { query: schema.object({ dataStreamType: schema.maybe( - schema.oneOf([ - schema.literal('logs'), - schema.literal('metrics'), - schema.literal('traces'), - schema.literal('synthetics'), - schema.literal('profiling'), - ]) + schema.oneOf( + [ + schema.literal('logs'), + schema.literal('metrics'), + schema.literal('traces'), + schema.literal('synthetics'), + schema.literal('profiling'), + ], + { meta: { description: 'Filter by data stream type' } } + ) + ), + showOnlyActiveDataStreams: schema.maybe( + schema.boolean({ + meta: { description: 'When true, only return packages with active data streams' }, + }) ), - showOnlyActiveDataStreams: schema.maybe(schema.boolean()), - nameQuery: schema.maybe(schema.string()), + nameQuery: schema.maybe(schema.string({ meta: { description: 'Filter packages by name' } })), searchAfter: schema.maybe( - schema.arrayOf(schema.oneOf([schema.string(), schema.number()]), { maxSize: 10 }) + schema.arrayOf(schema.oneOf([schema.string(), schema.number()]), { + maxSize: 10, + meta: { description: 'Sort values from the previous page for `search_after` pagination' }, + }) ), - perPage: schema.number({ defaultValue: 15 }), + perPage: schema.number({ + defaultValue: 15, + meta: { description: 'Number of results per page' }, + }), sortOrder: schema.oneOf([schema.literal('asc'), schema.literal('desc')], { defaultValue: 'asc', + meta: { description: 'Sort order, ascending or descending' }, }), }), }; @@ -541,50 +577,82 @@ export const GetInstalledPackagesRequestSchema = { export const GetDataStreamsRequestSchema = { query: schema.object({ type: schema.maybe( - schema.oneOf([ - schema.literal('logs'), - schema.literal('metrics'), - schema.literal('traces'), - schema.literal('synthetics'), - schema.literal('profiling'), - ]) + schema.oneOf( + [ + schema.literal('logs'), + schema.literal('metrics'), + schema.literal('traces'), + schema.literal('synthetics'), + schema.literal('profiling'), + ], + { meta: { description: 'Filter by data stream type' } } + ) + ), + datasetQuery: schema.maybe( + schema.string({ meta: { description: 'Filter data streams by dataset name' } }) ), - datasetQuery: schema.maybe(schema.string()), sortOrder: schema.oneOf([schema.literal('asc'), schema.literal('desc')], { defaultValue: 'asc', + meta: { description: 'Sort order, ascending or descending' }, + }), + uncategorisedOnly: schema.boolean({ + defaultValue: false, + meta: { + description: 'When true, only return data streams that are not associated with a package', + }, }), - uncategorisedOnly: schema.boolean({ defaultValue: false }), }), }; export const GetLimitedPackagesRequestSchema = { query: schema.object({ - prerelease: schema.maybe(schema.boolean()), + prerelease: schema.maybe( + schema.boolean({ + meta: { description: 'When true, include prerelease packages in the results' }, + }) + ), }), }; export const GetFileRequestSchema = { params: schema.object({ - pkgName: schema.string(), - pkgVersion: schema.string(), - filePath: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), + pkgVersion: schema.string({ meta: { description: 'Package version' } }), + filePath: schema.string({ meta: { description: 'File path within the package' } }), }), }; const PackageRequestParamsSchema = schema.object({ - pkgName: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), }); const PackageVersionRequestParamsSchema = schema.object({ - pkgName: schema.string(), - pkgVersion: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), + pkgVersion: schema.string({ meta: { description: 'Package version' } }), }); const GetInfoQuerySchema = schema.object({ - ignoreUnverified: schema.maybe(schema.boolean()), - prerelease: schema.maybe(schema.boolean()), - full: schema.maybe(schema.boolean()), - withMetadata: schema.boolean({ defaultValue: false }), + ignoreUnverified: schema.maybe( + schema.boolean({ + meta: { + description: 'When true, returns the package even if the signature cannot be verified', + }, + }) + ), + prerelease: schema.maybe( + schema.boolean({ meta: { description: 'When true, include prerelease versions' } }) + ), + full: schema.maybe( + schema.boolean({ + meta: { description: 'When true, return the full package info including assets' }, + }) + ), + withMetadata: schema.boolean({ + defaultValue: false, + meta: { + description: 'When true, include package metadata such as whether it has package policies', + }, + }), }); export const GetInfoRequestSchema = { @@ -598,7 +666,7 @@ export const GetInfoWithoutVersionRequestSchema = { }; export const GetKnowledgeBaseRequestSchema = { params: schema.object({ - pkgName: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), }), }; @@ -644,7 +712,7 @@ export const ReviewUpgradeResponseSchema = schema.object({ export const GetStatsRequestSchema = { params: schema.object({ - pkgName: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), }), }; @@ -669,9 +737,17 @@ export const GetDependenciesResponseSchema = schema.object({ export const InstallPackageFromRegistryRequestSchema = { params: PackageVersionRequestParamsSchema, query: schema.object({ - prerelease: schema.maybe(schema.boolean()), - ignoreMappingUpdateErrors: schema.boolean({ defaultValue: false }), - skipDataStreamRollover: schema.boolean({ defaultValue: false }), + prerelease: schema.maybe( + schema.boolean({ meta: { description: 'When true, allow installing prerelease versions' } }) + ), + ignoreMappingUpdateErrors: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, ignore mapping update errors during installation' }, + }), + skipDataStreamRollover: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, skip data stream rollover after installation' }, + }), skipDependencyCheck: schema.boolean({ defaultValue: false, meta: { @@ -695,11 +771,13 @@ export const InstallPackageFromRegistryWithoutVersionRequestSchema = { export const ReauthorizeTransformRequestSchema = { params: schema.object({ - pkgName: schema.string(), - pkgVersion: schema.maybe(schema.string()), + pkgName: schema.string({ meta: { description: 'Package name' } }), + pkgVersion: schema.maybe(schema.string({ meta: { description: 'Package version' } })), }), query: schema.object({ - prerelease: schema.maybe(schema.boolean()), + prerelease: schema.maybe( + schema.boolean({ meta: { description: 'When true, allow prerelease versions' } }) + ), }), body: schema.object({ transforms: schema.arrayOf(schema.object({ transformId: schema.string() }), { maxSize: 1000 }), @@ -708,7 +786,9 @@ export const ReauthorizeTransformRequestSchema = { export const BulkInstallPackagesFromRegistryRequestSchema = { query: schema.object({ - prerelease: schema.maybe(schema.boolean()), + prerelease: schema.maybe( + schema.boolean({ meta: { description: 'When true, allow installing prerelease versions' } }) + ), }), body: schema.object({ packages: schema.arrayOf( @@ -781,8 +861,14 @@ export const BulkRollbackPackagesRequestSchema = { export const InstallPackageByUploadRequestSchema = { query: schema.object({ - ignoreMappingUpdateErrors: schema.boolean({ defaultValue: false }), - skipDataStreamRollover: schema.boolean({ defaultValue: false }), + ignoreMappingUpdateErrors: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, ignore mapping update errors during installation' }, + }), + skipDataStreamRollover: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, skip data stream rollover after installation' }, + }), }), body: schema.buffer(), }; @@ -810,7 +896,13 @@ export const CreateCustomIntegrationRequestSchema = { export const DeletePackageRequestSchema = { params: PackageVersionRequestParamsSchema, query: schema.object({ - force: schema.maybe(schema.boolean()), + force: schema.maybe( + schema.boolean({ + meta: { + description: 'When true, delete the package even if it has active package policies', + }, + }) + ), }), }; @@ -821,8 +913,8 @@ export const DeletePackageWithoutVersionRequestSchema = { export const InstallKibanaAssetsRequestSchema = { params: schema.object({ - pkgName: schema.string(), - pkgVersion: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), + pkgVersion: schema.string({ meta: { description: 'Package version' } }), }), body: schema.nullable( schema.object({ @@ -843,8 +935,8 @@ export const InstallKibanaAssetsRequestSchema = { export const InstallRuleAssetsRequestSchema = { params: schema.object({ - pkgName: schema.string(), - pkgVersion: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), + pkgVersion: schema.string({ meta: { description: 'Package version' } }), }), body: schema.nullable( schema.object({ @@ -855,32 +947,41 @@ export const InstallRuleAssetsRequestSchema = { export const DeleteKibanaAssetsRequestSchema = { params: schema.object({ - pkgName: schema.string(), - pkgVersion: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), + pkgVersion: schema.string({ meta: { description: 'Package version' } }), }), }; export const DeletePackageDatastreamAssetsRequestSchema = { params: schema.object({ - pkgName: schema.string(), - pkgVersion: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), + pkgVersion: schema.string({ meta: { description: 'Package version' } }), }), query: schema.object({ - packagePolicyId: schema.string(), + packagePolicyId: schema.string({ meta: { description: 'The ID of the package policy' } }), }), }; export const GetInputsRequestSchema = { params: schema.object({ - pkgName: schema.string(), - pkgVersion: schema.string(), + pkgName: schema.string({ meta: { description: 'Package name' } }), + pkgVersion: schema.string({ meta: { description: 'Package version' } }), }), query: schema.object({ format: schema.oneOf([schema.literal('json'), schema.literal('yml'), schema.literal('yaml')], { defaultValue: 'json', + meta: { description: 'Output format for the inputs template: json, yml, or yaml' }, }), - prerelease: schema.maybe(schema.boolean()), - ignoreUnverified: schema.maybe(schema.boolean()), + prerelease: schema.maybe( + schema.boolean({ meta: { description: 'When true, allow prerelease versions' } }) + ), + ignoreUnverified: schema.maybe( + schema.boolean({ + meta: { + description: 'When true, return inputs even if the package signature cannot be verified', + }, + }) + ), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/fleet_proxies.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/fleet_proxies.ts index da0ad0eed6f8d..9d3c4a5b15624 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/fleet_proxies.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/fleet_proxies.ts @@ -46,7 +46,9 @@ export const FleetProxyResponseSchema = schema.object({ }); export const PutFleetProxyRequestSchema = { - params: schema.object({ itemId: schema.string() }), + params: schema.object({ + itemId: schema.string({ meta: { description: 'The ID of the proxy' } }), + }), body: schema.object({ name: schema.maybe(schema.string()), url: schema.maybe(schema.string({ validate: validateUrl })), @@ -58,5 +60,7 @@ export const PutFleetProxyRequestSchema = { }; export const GetOneFleetProxyRequestSchema = { - params: schema.object({ itemId: schema.string() }), + params: schema.object({ + itemId: schema.string({ meta: { description: 'The ID of the proxy' } }), + }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/fleet_server_policy_config.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/fleet_server_policy_config.ts index dc3264db8309c..d6fb98f5f7476 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/fleet_server_policy_config.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/fleet_server_policy_config.ts @@ -81,11 +81,15 @@ export const PostFleetServerHostRequestSchema = { }; export const GetOneFleetServerHostRequestSchema = { - params: schema.object({ itemId: schema.string() }), + params: schema.object({ + itemId: schema.string({ meta: { description: 'The ID of the Fleet Server host' } }), + }), }; export const PutFleetServerHostRequestSchema = { - params: schema.object({ itemId: schema.string() }), + params: schema.object({ + itemId: schema.string({ meta: { description: 'The ID of the Fleet Server host' } }), + }), body: FleetServerHostBaseSchema, }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/message_signing_service.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/message_signing_service.ts index e643fd0505618..bd40f4951068f 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/message_signing_service.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/message_signing_service.ts @@ -15,6 +15,9 @@ export const RotateKeyPairSchema = { { acknowledge: schema.boolean({ defaultValue: false, + meta: { + description: 'Set to true to confirm you understand the risks of rotating the key pair', + }, }), }, { diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/output.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/output.ts index 54c7763978d67..53fe85314af23 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/output.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/output.ts @@ -12,13 +12,13 @@ import { ListResponseSchema } from '../../routes/schema/utils'; export const GetOneOutputRequestSchema = { params: schema.object({ - outputId: schema.string(), + outputId: schema.string({ meta: { description: 'The ID of the output' } }), }), }; export const DeleteOutputRequestSchema = { params: schema.object({ - outputId: schema.string(), + outputId: schema.string({ meta: { description: 'The ID of the output' } }), }), }; @@ -44,14 +44,14 @@ export const PostOutputRequestSchema = { export const PutOutputRequestSchema = { params: schema.object({ - outputId: schema.string(), + outputId: schema.string({ meta: { description: 'The ID of the output' } }), }), body: UpdateOutputSchema, }; export const GetLatestOutputHealthRequestSchema = { params: schema.object({ - outputId: schema.string(), + outputId: schema.string({ meta: { description: 'The ID of the output' } }), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/package_policy.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/package_policy.ts index 6f5c78e98dee8..0cce483f75ce8 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/package_policy.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/package_policy.ts @@ -31,13 +31,24 @@ import { BulkRequestBodySchema } from './common'; export const GetPackagePoliciesRequestSchema = { query: schema.object({ - page: schema.maybe(schema.number({ defaultValue: 1 })), - perPage: schema.maybe(schema.number({ defaultValue: 20 })), - sortField: schema.maybe(schema.string()), - sortOrder: schema.maybe(schema.oneOf([schema.literal('desc'), schema.literal('asc')])), - showUpgradeable: schema.maybe(schema.boolean()), + page: schema.maybe(schema.number({ defaultValue: 1, meta: { description: 'Page number' } })), + perPage: schema.maybe( + schema.number({ defaultValue: 20, meta: { description: 'Number of results per page' } }) + ), + sortField: schema.maybe(schema.string({ meta: { description: 'Field to sort results by' } })), + sortOrder: schema.maybe( + schema.oneOf([schema.literal('desc'), schema.literal('asc')], { + meta: { description: 'Sort order, ascending or descending' }, + }) + ), + showUpgradeable: schema.maybe( + schema.boolean({ + meta: { description: 'When true, only show policies with available upgrades' }, + }) + ), kuery: schema.maybe( schema.string({ + meta: { description: 'A KQL query string to filter results' }, validate: (value: string) => { const validationObj = validateKuery( value, @@ -52,9 +63,15 @@ export const GetPackagePoliciesRequestSchema = { }) ), format: schema.maybe( - schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)]) + schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)], { + meta: { description: 'Format for the response: simplified or legacy' }, + }) + ), + withAgentCount: schema.maybe( + schema.boolean({ + meta: { description: 'When true, include the agent count per package policy' }, + }) ), - withAgentCount: schema.maybe(schema.boolean()), }), }; @@ -62,7 +79,9 @@ export const BulkGetPackagePoliciesRequestSchema = { body: BulkRequestBodySchema, query: schema.object({ format: schema.maybe( - schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)]) + schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)], { + meta: { description: 'Format for the response: simplified or legacy' }, + }) ), }), }; @@ -73,11 +92,13 @@ export const BulkGetPackagePoliciesResponseBodySchema = schema.object({ export const GetOnePackagePolicyRequestSchema = { params: schema.object({ - packagePolicyId: schema.string(), + packagePolicyId: schema.string({ meta: { description: 'The ID of the package policy' } }), }), query: schema.object({ format: schema.maybe( - schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)]) + schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)], { + meta: { description: 'Format for the response: simplified or legacy' }, + }) ), }), }; @@ -93,7 +114,9 @@ export const CreatePackagePolicyRequestSchema = { ), query: schema.object({ format: schema.maybe( - schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)]) + schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)], { + meta: { description: 'Format for the response: simplified or legacy' }, + }) ), }), }; @@ -110,7 +133,9 @@ export const UpdatePackagePolicyRequestSchema = { ]), query: schema.object({ format: schema.maybe( - schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)]) + schema.oneOf([schema.literal(inputsFormat.Simplified), schema.literal(inputsFormat.Legacy)], { + meta: { description: 'Format for the response: simplified or legacy' }, + }) ), }), }; @@ -144,10 +169,14 @@ export const DeletePackagePoliciesResponseBodySchema = schema.arrayOf( export const DeleteOnePackagePolicyRequestSchema = { params: schema.object({ - packagePolicyId: schema.string(), + packagePolicyId: schema.string({ meta: { description: 'The ID of the package policy' } }), }), query: schema.object({ - force: schema.maybe(schema.boolean()), + force: schema.maybe( + schema.boolean({ + meta: { description: 'When true, delete the package policy even if it is managed' }, + }) + ), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/remote_synced_integrations.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/remote_synced_integrations.ts index 8d72c1fef1789..ed3feb7e189a6 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/remote_synced_integrations.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/remote_synced_integrations.ts @@ -8,6 +8,6 @@ import { schema } from '@kbn/config-schema'; export const GetRemoteSyncedIntegrationsInfoRequestSchema = { params: schema.object({ - outputId: schema.string(), + outputId: schema.string({ meta: { description: 'The ID of the output' } }), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/tags.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/tags.ts index d0a4a00050c92..51c92fc08b2d7 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/tags.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/tags.ts @@ -15,6 +15,7 @@ export const GetTagsRequestSchema = { query: schema.object({ kuery: schema.maybe( schema.string({ + meta: { description: 'A KQL query string to filter results' }, validate: (value: string) => { const validationObj = validateKuery(value, [AGENTS_PREFIX], AGENT_MAPPINGS, true); if (validationObj?.error) { @@ -23,7 +24,10 @@ export const GetTagsRequestSchema = { }, }) ), - showInactive: schema.boolean({ defaultValue: false }), + showInactive: schema.boolean({ + defaultValue: false, + meta: { description: 'When true, include tags from inactive agents' }, + }), }), }; diff --git a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/uninstall_token.ts b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/uninstall_token.ts index 4b8e46a53788e..dba6d0f57fcb6 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/uninstall_token.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/rest_spec/uninstall_token.ts @@ -16,7 +16,12 @@ export const GetUninstallTokensMetadataRequestSchema = { meta: { description: 'Partial match filtering for policy IDs' }, }) ), - search: schema.maybe(schema.string({ maxLength: 50 })), + search: schema.maybe( + schema.string({ + maxLength: 50, + meta: { description: 'Partial match filtering for uninstall token values' }, + }) + ), perPage: schema.maybe( schema.number({ defaultValue: 20, @@ -24,7 +29,9 @@ export const GetUninstallTokensMetadataRequestSchema = { meta: { description: 'The number of items to return' }, }) ), - page: schema.maybe(schema.number({ defaultValue: 1, min: 1 })), + page: schema.maybe( + schema.number({ defaultValue: 1, min: 1, meta: { description: 'Page number' } }) + ), }), }; @@ -42,7 +49,7 @@ export const GetUninstallTokensMetadataResponseSchema = ListResponseSchema( export const GetUninstallTokenRequestSchema = { params: schema.object({ - uninstallTokenId: schema.string(), + uninstallTokenId: schema.string({ meta: { description: 'The ID of the uninstall token' } }), }), };