Splunk Observability Cloud Detectors

API for creating, retrieving, updating, and deleting detectors.

OpenAPI Specification

splunk-observability-detectors-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Splunk Observability Cloud — Detectors
  version: 3.10.0
  description: 'API for creating, retrieving, updating, and deleting detectors.

    Requirements


    You must have an organization access token with the API permission or a session token to use the API.

    You must have the Splunk Observability Cloud admin or power role to use the POST /detector endpoint, PUT /detector/{id},
    PUT /detector/{id}/enable, PUT /detector/{id}/disable, and DELETE /detector/{id} operations.

    You must have the Splunk Observability Cloud admin, power, or read_only role to use the GET /detector, GET /detector/{id},GET
    /detector/{id}/events, GET /detector/{id}/incidents, and POST /detector/validate operations.'
  x-provenance:
    method: reconstructed
    authored_by: Splunk (content) / API Evangelist (assembly)
    reconstructed_by: API Evangelist
    reconstructed_on: '2026-08-19'
    first_party: false
    provider_published: false
    note: Splunk's own OpenAPI objects, extracted from the React Server Component payload embedded in each of the 48 API reference
      pages at dev.splunk.com. The operations and schemas are Splunk's; the assembly into standalone documents is API Evangelist's.
      Splunk serves no fetchable spec file — dev.splunk.com answers 200 with an identical 6,638-byte shell for every asset
      path, including invented control paths — so this is NOT first-party publication and is not graded as such.
  x-evidence:
  - type: source
    url: https://dev.splunk.com/observability/reference/
  - type: source
    url: https://dev.splunk.com/observability/docs/apibasics/api_list/
servers:
- url: https://api.{REALM}.observability.splunkcloud.com/v2
  description: Detectors API endpoint URL
  variables:
    REALM:
      default: us0
      description: Splunk Observability Cloud realm the organization is provisioned in (for example us0, us1, eu0, jp0, au0).
security:
- SessionToken: []
components:
  securitySchemes:
    SessionToken:
      type: apiKey
      in: header
      name: X-SF-Token
      description: Splunk Observability Cloud session token or org access token.
paths:
  /detector:
    get:
      summary: Retrieve Detectors Query
      description: 'Retrieves the properties of one or more detectors. If you don''t

        specify any query parameters, the API returns up to the first 50

        detector objects that you have access to.'
      parameters:
      - name: limit
        in: query
        description: 'Number of results to return from the list of detectors that match your search criteria.

          Together, the offset and limit properties provide paged access to the query results. You can repeatedly download
          small slices of a large query result, which

          helps you avoid bandwidth and performance problems.'
        schema:
          type: integer
          format: int32
          default: 50
          example: 100
          maximum: 10000
          minimum: 0
      - name: name
        in: query
        description: 'Search criteria that the API tries to match to the name property

          of existing detectors. The match can be full or partial. If the

          string is empty, it''s ignored and the API uses the other criteria in

          the query. For example, a value of "per" matches detectors for which

          the name contains "dropped per day", "95th percentile", or "personal

          disk usage".'
        schema:
          type: string
      - name: offset
        in: query
        description: 'Index, in the list of detectors that match your search criteria, at

          which you want to start downloading results.

          Together, the offset and limit properties provide paged access to

          the query results. You can repeatedly download small slices of a large

          query result, which helps you avoid bandwidth and performance problems.'
        schema:
          type: integer
          format: int32
          default: 0
          minimum: 0
      - name: orderBy
        in: query
        description: The field on which the API should sort the query results. The API only supports fields specified in the
          enum.
        schema:
          type: string
          enum:
          - creator
          - created
          - description
          - lastUpdated
          - lastUpdatedBy
          - name
          - tags
          default: lastUpdated
      - name: tags
        in: query
        description: 'Search criteria that the API applies to the elements of the tags

          array property of detectors. The string must be an exact match.

          You can specify multiple tags parameters in the same request.'
        schema:
          type: string
      - name: prefixTags
        in: query
        description: 'Search filter that the API applies to find and return only detectors

          which have at least one tag starting with the provided prefix,

          for each prefix provided.'
        schema:
          type: array
          items:
            type: string
      - name: prefixTagExclusions
        in: query
        description: 'Search filter that the API applies to exclude detectors which have at least one

          tag starting with any of the provided prefixes from the query result.'
        schema:
          type: array
          items:
            type: string
      - name: Content-Type
        in: header
        description: Format of the request body. Always "application/json".
        required: true
        schema:
          type: string
      - name: X-SF-TOKEN
        in: header
        description: Authentication token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                title: Valid Get Detectors Response
                type: object
                properties:
                  count:
                    title: Count of matched detectors
                    type: integer
                    format: int32
                    readOnly: true
                    example: 25
                    description: 'Number of detectors that match the search criteria.

                      This property is read-only; it''s always set by the system.

                      Note: Count isn''t the same as the number of detectors returned

                      in the response body:


                      sizeOf(results): Size of the array returned in the response body.

                      count: Number of objects that match the search criteria'
                  results:
                    type: array
                    items:
                      title: Detector Properties Object
                      type: object
                      properties:
                        authorizedWriters:
                          title: Organizations and teams with write permission for an object
                          type: object
                          properties:
                            teams:
                              type: array
                              items:
                                type: string
                                example: DevOps
                              description: 'List of team IDs that have write access to this object, in the form

                                of a JSON array'
                            users:
                              type: array
                              items:
                                type: string
                                example: AAXYAAAAAZ4
                              description: 'List of user IDs that have write access to this object, in the form

                                of a JSON array'
                          description: 'If your organization has the write permissions feature enabled, you

                            can use this property to specify the user and team IDs that have write

                            access to the object you''re specifying.'
                        created:
                          title: Creation time
                          type: integer
                          format: int64
                          example: 1556825430000
                          readOnly: true
                          description: 'The time the detector was created, in *nix time in milliseconds.

                            This property is read-only; it''s always set by the system.'
                        creator:
                          title: Creator user ID
                          type: string
                          example: AAXYAAAAAZ3
                          readOnly: true
                          description: 'Splunk Observability Cloud ID of the user who created the detector.

                            This property is read-only; it''s always set by the system.'
                        customProperties:
                          title: Custom properties
                          type: object
                          additionalProperties: null
                          readOnly: false
                          writeOnly: false
                          example:
                            property1: detectorArea
                            value1: internal detectors
                          description: Metadata for a detector, in the form of a JSON object.
                        description:
                          title: Detector description
                          type: string
                          readOnly: false
                          writeOnly: false
                          example: jvm CPU load warning
                          description: 'Description of a detector. The value appears in the Detector window

                            displayed in the UI Actions menu.'
                        detectorOrigin:
                          title: How the detector was created
                          type: string
                          enum:
                          - Standard
                          - AutoDetect
                          - AutoDetectCustomization
                          example: Standard
                          default: Standard
                          description: 'Indicates how a detector was created. The possible values are:


                            Standard: Detector created using the API or the user interface.

                            AutoDetect: Detector is an AutoDetect detector created by Splunk Observability Cloud.

                            AutoDetectCustomization: Detector is a customization of another AutoDetect detector.


                            Note: You can only use Standard or AutoDetectCustomization to create custom detectors. If you
                            try to pass an invalid value for detectorOrigin when creating or updating detectors, you receive
                            a "Not valid detector origin" error message in the response.'
                        id:
                          title: Detector system ID
                          type: string
                          readOnly: true
                          description: 'ID of a detector. When you retrieve events

                            or incidents for a detector, this ID is for the detector that

                            generated the event or incident.

                            This property is read-only; it''s always set by the system.'
                        labelResolutions:
                          title: Alert resolution times
                          type: object
                          readOnly: true
                          additionalProperties:
                            type: integer
                          example:
                            DetectorA: 3000
                            DetectorB: 5000
                          description: 'Key-value pairs that indicate how often data is analyzed to determine if an

                            alert should be triggered, in the form of a JSON object containing

                            properties. Each key is the label name of a call to publish() in the

                            SignalFlow for the detector, and each value is the resolution time

                            for that publish() block.

                            For example, to retrieve the label resolution of the call to

                            publish("DetectorStatement") from this object, use

                            labelResolutions.DetectorStatement.

                            Label resolution is different from the data display resolution used to

                            populate the detector visualization. The data display resolution is

                            automatically set to the coarsest resolution of all of the SignalFlow

                            publish() calls associated with the detector, since they are all

                            displayed together in the same visualization.'
                        lastUpdated:
                          title: Detector last updated time
                          type: integer
                          format: int64
                          example: 1557689430000
                          readOnly: true
                          description: The last time the detector was updated, in *nix time in milliseconds.
                        lastUpdatedBy:
                          title: Detector last updated ID
                          type: string
                          readOnly: true
                          example: ZZyZZZZXXXQ
                          description: 'The ID of the user who last updated the detector. If the system made the last update,
                            the value is "AAAAAAAAAA".

                            This property is read-only; it''s always set by the system.'
                        locked:
                          title: Detector lock state
                          type: boolean
                          example: false
                          description: 'Detector lock state. If true, nobody can modify the detector in any

                            way; otherwise, anyone can modify it.'
                        maxDelay:
                          title: Late-arriving data point delay time
                          type: integer
                          format: int32
                          minimum: 0
                          maximum: 900000
                          default: 0
                          readOnly: false
                          writeOnly: false
                          example: 60000
                          description: 'Sets a duration, in milliseconds, to wait for late-arriving data before continuing
                            the SignalFlow computation

                            for the detector. If data is arriving on time, the computation continues before the duration expires.

                            The default is 0, which tells SignalFlow to set the limit dynamically.

                            To set a duration to wait even if data is arriving on time, use minDelay.'
                        minDelay:
                          title: data point pre-processing delay time
                          type: integer
                          format: int32
                          minimum: 0
                          maximum: 900000
                          readOnly: false
                          writeOnly: false
                          example: 60000
                          description: 'Sets a duration, in milliseconds, to wait before continuing the SignalFlow computation
                            for the detector.

                            The computation waits for this duration to expire, even if the data is arriving in a timely fashion.

                            To set a duration to wait for late-arriving data, use maxDelay.'
                        name:
                          title: Detector name (displayed)
                          type: string
                          minLength: 1
                          readOnly: false
                          writeOnly: false
                          example: JVM CPU Load detector
                          description: 'Displayed name of the detector in the UI. When you

                            retrieve events or incidents, this property contains the name of the

                            associated detector.'
                        overMTSLimit:
                          type: boolean
                          readOnly: true
                          example: false
                          title: OverMTSLimit
                          description: 'If true, one or more statements in a detector matched too many MTS,

                            and the system forcibly limited the detector. This usually occurs when

                            the detector is looking at incomplete data or an incomplete

                            aggregation. When this flag is true, use partition_filter()

                            functions to split your dataset into smaller pieces, then use the

                            union() function to rejoin the results in a subsequent computation.

                            The union() function still observes the MTS limit, so an

                            aggregation of the partial streams must first limit the dataset prior

                            to recombining the streams.

                            This property is read-only; it''s always set by the system.'
                        parentDetectorId:
                          title: ID of the parent AutoDetect detector
                          type: string
                          description: ID of the parent detector from which this detector is customized and created. This
                            property is required for detectors with detectorOrigin of type AutoDetectCustomization.
                        packageSpecifications:
                          title: SignalFlow internal field
                          type: string
                          default: ''
                          description: For internal use only
                        programText:
                          title: SignalFlow program for the detector
                          type: string
                          readOnly: false
                          writeOnly: false
                          example: cpuLoad = data('jvm.cpu.load').percentile(pct=94).publish(label='cpuLoad'); detect(when(cpuLoad
                            > 94)).publish('cpuLoad');
                          description: 'Specifies the SignalFlow program that defines the detector. This program

                            must include one or more calls to the SignalFlow detect() function.

                            The program must also call publish() on each detect stream, using a

                            label that''s unique to the program.

                            If you want to use custom notification messages that include input data,

                            assign your detect conditions to variables.

                            To use multiple lines in your program, terminate each line with a

                            semicolon ; or newline character \n.

                            To learn more about SignalFlow programs for detectors,

                            see the Detectors topic in the Developers Guide.

                            Note: For detectors with detectorOrigin of type AutoDetectCustomization, it is best practice to
                            keep the same function in the programText property as the parent detector. You can still pass
                            different arguments for the function.'
                        rules:
                          title: Alert Rule Definitions
                          type: array
                          items:
                            title: Detector Rule Object
                            type: object
                            required:
                            - detectLabel
                            - severity
                            properties:
                              description:
                                type: string
                                default: ''
                                readOnly: false
                                writeOnly: false
                                example: JVM CPU Load test
                                title: RuleDescription
                                description: 'Description for the rule. Displays as the alert condition in the

                                  Alert Rules tab of the detector editor in the UI'
                              detectLabel:
                                type: string
                                example: cpuLoad
                                title: RuleDetectLabel
                                description: 'Label of the publish() call for the detect() function associated

                                  with this rule.'
                              disabled:
                                type: boolean
                                default: false
                                readOnly: false
                                writeOnly: false
                                example: false
                                title: Disabled
                                description: 'Controls the state of an alert rule. If false, the rule is turned on

                                  and SignalFlow issues alerts for it. If true, the rule is turned

                                  off  and SignaFlow doesn''t issue alerts for it, even if one of the

                                  rules is triggered.'
                              notifications:
                                type: array
                                readOnly: false
                                writeOnly: false
                                items:
                                  oneOf:
                                  - title: Amazon EventBridge Alert Notification
                                    type: object
                                    required:
                                    - type
                                    - credentialId
                                    properties:
                                      type:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        example: AmazonEventBridge
                                        description: 'Tells Splunk Observability Cloud which external system it should use
                                          to send the

                                          notification. For an Amazon EventBridge notification, this is always

                                          "AmazonEventBridge".'
                                      credentialId:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        description: 'Amazon EventBridge integration identifier, which Splunk Observability
                                          Cloud assigns

                                          when you add the integration. Use the UI or the Integrations API

                                          to find the value of credentialId.'
                                    description: 'Specifies the properties needed to send a notification from a detector

                                      to an existing Splunk Observability Cloud-to-Amazon EventBridge integration'
                                  - title: BigPanda Alert Notification
                                    type: object
                                    required:
                                    - type
                                    - credentialId
                                    properties:
                                      type:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        example: BigPanda
                                        description: 'Tells Splunk Observability Cloud which external system it should use
                                          to send the

                                          notification. For a BigPanda notification, this is always

                                          "BigPanda".'
                                      credentialId:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        description: 'BigPanda integration identifier, which Splunk Observability Cloud assigns
                                          when you add

                                          the integration. Use the UI or the Integrations API to find the

                                          value of credentialId.'
                                    description: 'Specifies the properties of a notification service integration between

                                      BigPanda and Splunk Observability Cloud, in the form of a JSON object'
                                  - title: Email Alert Notification
                                    type: object
                                    required:
                                    - email
                                    - type
                                    properties:
                                      type:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        example: Email
                                        description: 'Tells Splunk Observability Cloud which external system it should use
                                          to send the

                                          notification. For an email notification, this is always "Email".'
                                      email:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        example: info@example.com
                                        description: 'The destination address for the notification email. Splunk Observability
                                          Cloud doesn''t

                                          validate this address, so you must ensure it''s correct before you

                                          use it. Splunk Observability Cloud may not store invalid values, and it may try
                                          to

                                          send notification email that doesn''t have an address. In either

                                          case, the notification won''t be delivered.'
                                    description: 'Specifies the properties of a notification service integration between

                                      email and Splunk Observability Cloud, in the form of a JSON object'
                                  - title: Jira Cloud or Jira Server Alert Notification
                                    type: object
                                    required:
                                    - type
                                    - credentialId
                                    properties:
                                      type:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        example: Jira
                                        description: 'Tells Splunk Observability Cloud which external system it should use
                                          to send the

                                          notification. For a Jira Cloud or Jira Server notification, this is

                                          always "Jira".'
                                      credentialId:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        description: 'Jira integration identifier, which Splunk Observability Cloud assigns
                                          when you add

                                          the integration. Use the UI or the Integrations API to find the

                                          value of credentialId.'
                                    description: 'Specifies the properties of a notification service integration between

                                      Jira Cloud or Jira Server and Splunk Observability Cloud, in the form of a JSON object.

                                      Jira alert notifications take the form of a new Jira ticket whose

                                      properties are specified in the Jira integration object.

                                      For more information, see the Integrate Jira with Splunk Observability Cloud topic in
                                      the Developers Guide.'
                                  - title: Microsoft Teams Alert Notification
                                    type: object
                                    required:
                                    - type
                                    - credentialId
                                    properties:
                                      type:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        example: Office365
                                        description: 'Tells Splunk Observability Cloud which external system it should use
                                          to send the

                                          notification. To ensure backwards compatibility, this is always

                                          "Office365".'
                                      credentialId:
                                        readOnly: false
                                        writeOnly: false
                                        type: string
                                        description: 'Microsoft Teams integration identifier, which Splunk Observability Cloud
                                          assigns when you

                                          add the integration. Use the UI or the Integrations API to find

                                          the value of credentialId.'
                                    description: 'Specifies the properties of a notification service integration between

                                      Microsoft Teams and Splunk Observability Cloud, in the form of a JSON object'
                                  - title: Opsgenie Alert Notification
                                    type: object
                                    required:
                                    - credentialId
                                    - type
                                    properties:
                                      type:
                                        type: string
                                        readOnly: false
                                        writeOnly: false
                                        example: Opsgenie
                                        description: 'Tells Splunk Observability Cloud which external system it should use
                                          to send the

                                          notification. For an Opsgenie notification, this is always

                                          "Opsgenie".'
                                      credentialId:
                                        type: string
                                        description: 'Opsgenie integration identifier, which Splunk Observability Cloud assigns
                

# --- truncated at 32 KB (533 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/splunk-observability/refs/heads/main/openapi/splunk-observability-detectors-openapi.yml