> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.sevalla.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List usage alert configs

> Retrieve all usage alert configs for the company, including the company-wide config and any project-scoped configs. Pass project_id to filter to a single project.



## OpenAPI

````yaml https://api.sevalla.com/v3/openapi.json get /usage-alerts
openapi: 3.1.0
info:
  title: Sevalla API docs
  version: 1.0.0
servers:
  - url: https://api.sevalla.com/v3
security:
  - bearerAuth: []
paths:
  /usage-alerts:
    get:
      tags:
        - Usage Alerts
      summary: List usage alert configs
      description: >-
        Retrieve all usage alert configs for the company, including the
        company-wide config and any project-scoped configs. Pass project_id to
        filter to a single project.
      operationId: listUsageAlertConfigsV3
      parameters:
        - schema:
            default: 25
            example: 25
            type: integer
            minimum: 1
            maximum: 100
          in: query
          name: limit
          required: false
          description: Maximum number of items per page
        - schema:
            default: 0
            example: 0
            type: integer
            minimum: 0
            maximum: 10000
          in: query
          name: offset
          required: false
          description: Number of items to skip
        - schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          in: query
          name: project_id
          required: false
          description: >-
            Filter to the config scoped to a specific project. Omit to list all
            configs for the company.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          description: Unique identifier for the usage alert config
                          example: fb5e5168-4281-4bec-94c5-0d1584e9e657
                        company_id:
                          type: string
                          minLength: 1
                          description: Identifier of the company this config belongs to
                          example: fb5e5168-4281-4bec-94c5-0d1584e9e657
                        project_id:
                          anyOf:
                            - type: string
                              format: uuid
                              pattern: >-
                                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                            - type: 'null'
                          description: >-
                            Identifier of the project this config is scoped to.
                            When null, the config applies to total company spend
                            across all projects.
                          example: null
                        limit_usd:
                          type: number
                          minimum: 0.01
                          description: >-
                            Spending limit in USD that triggers fire as
                            percentages of. Must be greater than zero.
                          example: 100
                        emails:
                          minItems: 1
                          type: array
                          items:
                            type: string
                            format: email
                            pattern: >-
                              ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                          description: Email recipients notified when a trigger fires
                          example:
                            - billing@example.com
                        triggers:
                          minItems: 1
                          maxItems: 10
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                description: Unique identifier for the trigger
                                example: fb5e5168-4281-4bec-94c5-0d1584e9e657
                              percentage:
                                type: integer
                                minimum: 1
                                maximum: 100
                                description: >-
                                  Threshold expressed as a percentage of the
                                  spending limit. Fires once per billing period.
                                example: 80
                              last_fired_at:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  - type: 'null'
                                description: >-
                                  Timestamp when this trigger last fired, in ISO
                                  8601 format. Null if it has not fired yet.
                                example: null
                            required:
                              - id
                              - percentage
                              - last_fired_at
                            additionalProperties: false
                            description: >-
                              A threshold percentage that fires a notification
                              when reached
                          description: >-
                            Threshold percentages of the limit. The highest
                            matching trigger fires once per billing period. Up
                            to 10 triggers per config.
                        created_at:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          description: >-
                            Timestamp when the config was created, in ISO 8601
                            format
                          example: '2025-01-30T00:00:00.000Z'
                        updated_at:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          description: >-
                            Timestamp when the config was last modified, in ISO
                            8601 format
                          example: '2025-01-30T00:00:00.000Z'
                      required:
                        - id
                        - company_id
                        - project_id
                        - limit_usd
                        - emails
                        - triggers
                        - created_at
                        - updated_at
                      additionalProperties: false
                    description: List of items
                  total:
                    type: integer
                    minimum: 0
                    maximum: 10000
                    description: Total number of items matching the query
                    example: 42
                  offset:
                    type: integer
                    minimum: 0
                    maximum: 10000
                    description: Current pagination offset
                    example: 0
                  limit:
                    type: integer
                    minimum: 1
                    maximum: 100
                    description: Current pagination limit
                    example: 25
                required:
                  - data
                  - total
                  - offset
                  - limit
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                    example: Bad request
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code
                    example: 400
                  data:
                    type: object
                    properties:
                      code:
                        description: Error tracking code for support reference
                        example: err-abc-123
                        type: string
                      message:
                        description: Additional error details or instructions
                        example: >-
                          If you need assistance, please contact support and
                          provide this error code.
                        type: string
                    additionalProperties: false
                required:
                  - message
                  - status
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                    example: Unauthorized
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code
                    example: 401
                  data:
                    type: object
                    properties:
                      code:
                        description: Error tracking code for support reference
                        example: err-abc-123
                        type: string
                      message:
                        description: Additional error details or instructions
                        example: >-
                          If you need assistance, please contact support and
                          provide this error code.
                        type: string
                    additionalProperties: false
                required:
                  - message
                  - status
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                    example: Forbidden
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code
                    example: 403
                  data:
                    type: object
                    properties:
                      code:
                        description: Error tracking code for support reference
                        example: err-abc-123
                        type: string
                      message:
                        description: Additional error details or instructions
                        example: >-
                          If you need assistance, please contact support and
                          provide this error code.
                        type: string
                    additionalProperties: false
                required:
                  - message
                  - status
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                    example: Internal Server Error
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code
                    example: 500
                  data:
                    type: object
                    properties:
                      code:
                        description: Error tracking code for support reference
                        example: err-abc-123
                        type: string
                      message:
                        description: Additional error details or instructions
                        example: >-
                          If you need assistance, please contact support and
                          provide this error code.
                        type: string
                    additionalProperties: false
                required:
                  - message
                  - status
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key authentication. Pass your API key as a Bearer token in the
        Authorization header.

````