openapi: 3.2.0 info: license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html description: LogicMonitor is a SaaS-based performance monitoring platform that provides full visibility into complex, hybrid infrastructures, offering granular performance monitoring and actionable data and insights. title: LogicMonitor REST Log Partitions API version: 3.0.0 servers: - url: /santaba/rest tags: - name: LogPartitions paths: /log/partitions/{id}/{action}: post: summary: Perform an action on a specified log partition security: - LMv1: [] x-minimum-permissions: Logs & Traces -> Partitions: Manage Logs & Traces -> Logs: Manage Resources: Manage operationId: partitionAction responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/LogPartition' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: integer format: int32 - in: path name: action required: true schema: type: string tags: - LogPartitions /log/partitions: post: summary: Create a new log partition security: - LMv1: [] x-minimum-permissions: Logs & Traces -> Partitions: Manage Logs & Traces -> Logs: Manage Resources: Manage operationId: createLogPartition responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/LogPartition' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - LogPartitions requestBody: content: application/json: schema: $ref: '#/components/schemas/LogPartition' get: summary: Retrieve a list of all log partitions security: - LMv1: [] x-minimum-permissions: Logs & Traces -> Partitions: View Logs & Traces -> Logs: View Resources: View operationId: getAllLogPartitions responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Pagination' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - LogPartitions /log/partitions/{id}: patch: summary: Update an existing log partition security: - LMv1: [] x-minimum-permissions: Logs & Traces -> Partitions: Manage Logs & Traces -> Logs: Manage Resources: Manage operationId: patchLogPartition responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/LogPartition' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: string tags: - LogPartitions requestBody: content: application/json: schema: $ref: '#/components/schemas/LogPartition' get: summary: Retrieve details of a specific log partition security: - LMv1: [] x-minimum-permissions: Logs & Traces -> Partitions: View Logs & Traces -> Logs: View Resources: Manage operationId: getPartitionById responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/LogPartition' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: integer format: int32 tags: - LogPartitions delete: summary: Delete a log partition by ID security: - LMv1: [] x-minimum-permissions: Logs & Traces -> Partitions: Manage Logs & Traces -> Logs: Manage Resources: Manage operationId: deleteLogPartitionById responses: '200': description: Successful operation content: application/json: schema: type: object default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: integer format: int32 tags: - LogPartitions put: summary: Update an existing log partition security: - LMv1: [] x-minimum-permissions: Logs & Traces -> Partitions: Manage Logs & Traces -> Logs: Manage Resources: Manage operationId: updateLogPartition responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/LogPartition' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: string tags: - LogPartitions requestBody: content: application/json: schema: $ref: '#/components/schemas/LogPartition' /log/partitions/retentions: get: summary: Retrieve the list of log retentions security: - LMv1: [] x-minimum-permissions: Logs & Traces -> Partitions: Manage Logs & Traces -> Logs: Manage Resources: Manage operationId: getRetentionList responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Pagination' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - LogPartitions components: schemas: LogPartitionContract: description: Future contract type: object properties: fromEpoch: format: int64 description: Contract start time in epoch seconds readOnly: true type: integer example: 1640995200 contractIntervalHours: format: int32 description: 'Contract interval in hours: 0 = monthly (1st of next month), 24 = daily, 168 = weekly (next Monday), or custom hours' type: integer example: 0 toEpoch: format: int64 description: Contract end time in epoch seconds readOnly: true type: integer example: 1672531200 limitReachedAt: format: int64 description: Timestamp when usage limit was reached readOnly: true type: integer usageLimit: description: Usage limit type: string example: 100GB autoRestartOnRenewal: description: Auto restart ingestion on renewal type: boolean example: true id: format: int32 description: Contract Id readOnly: true type: integer example: 1 state: description: Contract state (active, future, expired) readOnly: true type: string example: active sku: description: Subscription SKU type: string example: LOG_BASIC retention: format: int32 description: Retention period in days type: integer example: 30 stopIngestionOnLimit: description: Stop ingestion when limit exceeded type: boolean example: true Pagination: type: object properties: total: format: int32 type: integer searchId: type: string isMin: type: boolean items: type: array items: type: object LogPartition: type: object required: - active - name properties: parent: format: int32 description: Parent Partition Id type: integer example: 2 userPermission: description: Partition user permission readOnly: true type: string criteria: description: Partition Criteria type: string example: example description: description: Partition description type: string example: Example Description active: description: Partition active state type: boolean pausedAt: format: int64 description: Epoch time when partition was paused readOnly: true type: integer priority: format: int32 description: Partition Priority type: integer example: 100 activeContract: description: Active contract readOnly: false $ref: '#/components/schemas/LogPartitionContract' name: description: Partition Name type: string example: partition previousContract: description: Previous (expired) contract readOnly: true $ref: '#/components/schemas/LogPartitionContract' id: description: Partition Id readOnly: true type: string example: '1' fullname: description: Partition Fullname readOnly: true type: string example: Example Partition futureContract: description: Future contract readOnly: false $ref: '#/components/schemas/LogPartitionContract' tenant: description: Tenant Name type: string example: tenant ErrorResponse: type: object properties: errorMessage: description: The error message readOnly: true type: string errorCode: format: int32 description: The error code readOnly: true type: integer errorDetail: description: The error detail readOnly: true type: object securitySchemes: LMv1: in: header name: Authorization type: apiKey externalDocs: description: LogicMonitor Support Docs url: https://www.logicmonitor.com/support/rest-api-developers-guide/