openapi: 3.2.0 info: title: Sumo Logic Budget Management API description: '# Getting Started Welcome to the Sumo Logic API reference.' version: 1.0.0 x-logo: url: ./sumologic_logo.png servers: - url: https://api.au.sumologic.com/api/ description: AU deployment API server - url: https://api.ca.sumologic.com/api/ description: CA deployment API server - url: https://api.de.sumologic.com/api/ description: DE deployment API server - url: https://api.eu.sumologic.com/api/ description: EU deployment API server - url: https://api.fed.sumologic.com/api/ description: FED deployment API server - url: https://api.jp.sumologic.com/api/ description: JP deployment API server - url: https://api.kr.sumologic.com/api/ description: KR deployment API server - url: https://api.in.sumologic.com/api/ description: IN deployment API server - url: https://api.sumologic.com/api/ description: US1 deployment API server - url: https://api.us2.sumologic.com/api/ description: US2 deployment API server security: - basicAuth: [] tags: - name: budget management description: Budget Management API. x-displayName: Budget Management paths: /v1/budgets: get: tags: - budget management summary: Get Budgets description: Get budgets operationId: getBudgets parameters: - name: limit in: query description: Limit the number of budgets returned in the response. The number of budgets returned may be less than the `limit`. required: false schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 100 - name: token in: query description: Continuation token to get the next page of results. A page object with the next continuation token is returned in the response body. Subsequent GET requests should specify the continuation token to get the next page of results. required: false schema: type: string responses: '200': description: Budgets assigned to the org. content: application/json: schema: $ref: '#/components/schemas/ScanBudgetList' default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - budget management summary: Creates A Budget Definition description: Create a budget definition operationId: createBudget parameters: [] requestBody: description: Information about the new budget. content: application/json: schema: $ref: '#/components/schemas/ScanBudgetDefinition' required: true responses: '200': description: The created budget. content: application/json: schema: $ref: '#/components/schemas/ScanBudget' default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/budgets/{budgetId}: get: tags: - budget management summary: Get Budget description: Get budget operationId: getBudget parameters: - name: budgetId in: path description: The id of the budget. required: true schema: type: string responses: '200': description: The requested budget. content: application/json: schema: $ref: '#/components/schemas/ScanBudget' default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' put: tags: - budget management summary: Update Budget description: Update budget operationId: updateBudget parameters: - name: budgetId in: path description: The id of the budget. required: true schema: type: string requestBody: description: Updated budget. content: application/json: schema: $ref: '#/components/schemas/ScanBudgetDefinition' required: true responses: '200': description: The updated budget. content: application/json: schema: $ref: '#/components/schemas/ScanBudget' default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - budget management summary: Delete Budget description: Delete budget operationId: deleteBudget parameters: - name: budgetId in: path description: The id of the budget. required: true schema: type: string responses: '204': description: The budget was successfully deleted. default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/budgets/usage: get: tags: - budget management summary: Get Budget Usages description: Get budget usages operationId: getBudgetUsages parameters: - name: limit in: query description: Limit the number of budget usages returned in the response. The number of budget usages returned may be less than the `limit`. required: false schema: maximum: 1000 minimum: 1 type: integer format: int32 default: 100 - name: token in: query description: Continuation token to get the next page of results. A page object with the next continuation token is returned in the response body. Subsequent GET requests should specify the continuation token to get the next page of results. required: false schema: type: string responses: '200': description: Scan budget usages. content: application/json: schema: $ref: '#/components/schemas/ScanBudgetUsageList' default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1/budgets/{budgetId}/usage: get: tags: - budget management summary: Get Budget Usage description: Get budget usage operationId: getBudgetUsage parameters: - name: budgetId in: path description: The id of the budget. required: true schema: type: string responses: '200': description: The requested budget usage. content: application/json: schema: $ref: '#/components/schemas/ScanBudgetUsage' default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ScanBudgetDefinition: required: - action - applicableOn - budgetType - capacity - groupBy - name - scope - unit - window type: object properties: name: type: string description: Name of the budget. capacity: type: integer description: Capacity of the budget. format: int64 unit: pattern: ^(GB|MB|TB|KB)$ type: string description: Unit of the budget. example: GB budgetType: $ref: '#/components/schemas/BudgetType' scope: $ref: '#/components/schemas/ScanBudgetScope' window: pattern: ^(Query|Daily|Weekly|Monthly)$ type: string description: Window of the budget. Use Daily/Weekly/Monthly for creating a time based budget (beta) example: Query applicableOn: pattern: ^(PerEntity|Sum)$ type: string description: Grouping of the budget. example: PerEntity groupBy: pattern: ^(User)$ type: string description: Grouping Entity of the budget. example: User action: pattern: ^(StopForeGroundScan|Warn)$ type: string description: Action to be taken if the budget is breached example: Warn status: pattern: ^(active|inactive)$ type: string description: Signifies the state of the budget. (Active/Inactive) example: active ErrorResponse: required: - errors - id type: object properties: id: type: string description: An identifier for the error; this is unique to the specific API request. example: IUUQI-DGH5I-TJ045 errors: type: array description: A list of one or more causes of the error. example: - code: auth:password_too_short message: Your password was too short. - code: auth:password_character_classes message: Your password did not contain any non-alphanumeric characters items: $ref: '#/components/schemas/ErrorDescription' BudgetType: pattern: ^(ScanBudget)$ type: string description: Type of the budget. example: ScanBudget ScanBudgetList: required: - data type: object properties: data: type: array description: List of scan budgets. items: $ref: '#/components/schemas/ScanBudget' next: type: string description: Next continuation token. ErrorDescription: required: - code - message type: object properties: code: type: string description: An error code describing the type of error. example: auth:password_too_short message: type: string description: A short English-language description of the error. example: Your password was too short. detail: type: string description: An optional fuller English-language description of the error. example: Your password was 5 characters long, the minimum length is 12 characters. See http://example.com/password for more information. meta: type: object description: An optional list of metadata about the error. example: minLength: 12 actualLength: 5 ScanBudgetUsageList: required: - data type: object properties: data: type: array description: List of budget usages items: $ref: '#/components/schemas/ScanBudgetUsage' next: type: string description: Next continuation token. ScanBudgetUsage: required: - budgetId - usage - usagePercentage type: object properties: budgetId: type: string description: Budget id. usage: type: integer description: Budget usage (in bytes). format: int64 usagePercentage: type: integer description: Budget usage percentage. format: int64 ScanBudget: allOf: - $ref: '#/components/schemas/ScanBudgetDefinition' - required: - createdAt - createdBy - id - modifiedAt - modifiedBy - orgId - resetDateOfMonth - resetDayOfWeek - resetTime - resetTimeZone type: object properties: id: type: string description: Id of the budget. orgId: type: string description: Org Id of the org for the budget. resetTime: maxLength: 5 minLength: 5 type: string description: Reset time of the time based scan budget in HH:MM format example: 1410 default: 00:00 resetTimeZone: type: string description: Time zone of the reset time for the time based scan budget. Follow the format in the [IANA Time Zone Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). example: America/Los_Angeles default: Etc/UTC resetDayOfWeek: pattern: ^(MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY|SUNDAY)$ type: string description: The day of the week when the budget resets, applicable for time based budgets with a Weekly window. Must be a valid day of the week. default: MONDAY resetDateOfMonth: maximum: 28 minimum: 1 type: integer description: The date of the month when the budget resets, applicable for time based budgets with a Monthly window. Must be a valid day of the month (1-28). format: int32 default: 1 createdAt: type: string description: Date & time when budget was created. format: date-time createdBy: type: string description: Id of the user who created the budget. modifiedAt: type: string description: Date & time when budget was last modified. format: date-time modifiedBy: type: string description: Id of the user who last modified the budget. ScanBudgetScope: required: - excludedRoles - excludedUsers - includedRoles - includedUsers type: object properties: includedUsers: type: array description: List of userIds included in the budget. example: - 00000000000001DF - 00000000000002D2 items: type: string excludedUsers: type: array description: List of userIds excluded in the budget. example: - 00000000000001DF - 00000000000002D2 items: type: string includedRoles: type: array description: List of roleIds included in the budget. example: - 00000000000001DF - 00000000000002D2 items: type: string excludedRoles: type: array description: List of roleIds excluded in the budget. example: - 00000000000001DF - 00000000000002D2 items: type: string securitySchemes: basicAuth: type: http scheme: basic x-tagGroups: - name: Archive Management tags: - archiveManagement - name: Health Events tags: - healthEvents - name: Infrequent Data Tier tags: - logSearchesEstimatedUsage - name: Ingest Budgets Management V2 tags: - ingestBudgetManagementV2 - name: Library Management tags: - appManagement - appManagementV2 - contentManagement - dashboardManagement - folderManagement - lookupManagement - contentPermissions - logSearchesManagement - parsersLibraryManagement - name: Metrics tags: - metricsSearchesManagement - transformationRuleManagement - metricsQuery - metricsSearchesManagementV2 - name: Security Management tags: - accessKeyManagement - oauthManagement - accountManagement - passwordPolicy - policiesManagement - samlConfigurationManagement - serviceAllowlistManagement - serviceAccountManagement - scimUserManagement - name: Organizations Management tags: - orgsManagement - name: Settings Management tags: - connectionManagement - dynamicParsingRuleManagement - extractionRuleManagement - fieldManagementV1 - partitionManagement - scheduledViewManagement - logsDataForwardingManagement - dataDeletionRules - name: Tokens Management tags: - tokensLibraryManagement - name: Tracing tags: - traces - spanAnalytics - serviceMap - name: Users and Roles Management tags: - roleManagement - roleManagementV2 - userManagement - name: Threat Intel Ingest Management tags: - threatIntelIngest - threatIntelIngestProducer - name: OpenTelemetry Collector Management tags: - otCollectorManagementExternal - name: Source Template Management tags: - sourceTemplateManagementExternal - name: Schema Base Management tags: - schemaBaseManagement - name: Event Analytics Management tags: - eventAnalytics - name: Budget Management tags: - budgetManagement - name: Macro Management tags: - macroManagement - name: Muting Schedules Management tags: - mutingSchedulesLibraryManagement - name: SLO Management tags: - slosLibraryManagement - name: Monitor Management tags: - monitorsLibraryManagement