Dash0 Manage Signal To Metrics API

The Manage Signal To Metrics API from Dash0 — 4 operation(s) for manage signal to metrics.

Operations 7

PUT /api/import/signal-to-metrics Bulk upsert signal-to-metrics configs #
GET /api/signal-to-metrics List all signal-to-metrics configs for the organization #
POST /api/signal-to-metrics Create a new signal-to-metrics config #
POST /api/signal-to-metrics/test Test a signal-to-metrics config #
DELETE /api/signal-to-metrics/{originOrId} Delete a signal-to-metrics config by origin or ID #
GET /api/signal-to-metrics/{originOrId} Get a specific signal-to-metrics config by origin or ID #
PUT /api/signal-to-metrics/{originOrId} Update or create a signal-to-metrics config by origin or ID #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dash0:dash0-manage-signal-to-metrics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dash0-manage-signal-to-metrics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dash0 Manage Signal To Metrics API
  version: 1.0.0
  description: '## Selecting a dataset


    Endpoints that operate on a single dataset take it from the `dataset` query parameter, or from the `Dash0-Dataset` request header when the query parameter is absent. When both are present the query parameter wins.


    If neither is given, the request falls back to the organization''s `default` dataset — a token that is restricted to specific datasets is rejected with `403 Forbidden` in that case, so always select a dataset explicitly when using a dataset-restricted token.


    ## Resource origins


    Most resources take an optional `metadata.labels["dash0.com/origin"]`. It is a stable identifier you choose for a resource you manage as code, so your Terraform configuration, Kubernetes manifests, CLI scripts or your own tooling can address the same resource on every apply without having to store the id Dash0 generated.


    An origin is unique per organization, not per dataset. Two resources of the same type in one organization cannot share an origin, even when they live in different datasets. If you want what is really the same rule in several datasets, put the dataset in the origin, for example `probabilistic-request-sampling-sandbox` and `probabilistic-request-sampling-nonprod`. The Dash0 Kubernetes operator does the same with the origins it generates. A duplicate origin is rejected with `400`.


    You cannot change an origin. Dash0 records it when the resource is created and ignores it on later updates, so you can read a resource, edit it and send it back without stripping the label out first.


    Endpoints with an `{originOrId}` path parameter take either identifier. A value that is not a UUID is read as an origin. A `PUT` to an origin that does not exist yet creates the resource with that origin, so you can apply the same manifest repeatedly.


    ## Request body size limit


    Most API endpoints enforce a maximum request body size of 256KB. Bulk

    endpoints accept a larger body size per request to accommodate batched

    payloads.


    Requests exceeding the applicable limit are rejected with a

    `413 Content Too Large` response.'
servers:
- url: https://api.eu-west-1.aws.dash0.com
  description: API endpoint for AWS region EU (Ireland)
- url: https://api.eu-central-1.aws.dash0.com
  description: API endpoint for AWS region EU (Germany)
- url: https://api.us-east-1.aws.dash0.com
  description: API endpoint for AWS region US (N. Virginia)
- url: https://api.us-west-2.aws.dash0.com
  description: API endpoint for AWS region US (Oregon)
- url: https://api.europe-west4.gcp.dash0.com
  description: API endpoint for GCP region EU (Netherlands)
tags:
- name: Manage Signal To Metrics
paths:
  /api/import/signal-to-metrics:
    put:
      summary: Bulk upsert signal-to-metrics configs
      description: 'Atomically upserts up to 500 signal-to-metrics configurations at once. If any item

        fails validation or cannot be written, the entire batch is rejected and no

        configurations are changed.


        This endpoint is designed for Infrastructure-as-Code (IaC) workflows (Terraform,

        the operator, CLI scripts). Rules are matched by their `origin` values across

        repeated invocations, making the operation idempotent.


        This endpoint accepts request bodies up to 2 MB (vs. the 256 KB default for other

        endpoints) to accommodate batched payloads of up to 500 rules per request.'
      parameters:
      - in: query
        name: dataset
        schema:
          $ref: '#/components/schemas/Dataset'
        required: true
        description: The dataset to deploy rules into. Required to prevent accidental deployment to the wrong dataset.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignalToMetricsBulkUpsertRequest'
      responses:
        '200':
          description: All items were successfully upserted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignalToMetricsBulkUpsertResponse'
        default:
          description: In case any error happens.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Manage Signal To Metrics
      operationId: putApiImportSignalToMetrics
      x-operation-id-source: derived
  /api/signal-to-metrics:
    get:
      summary: List all signal-to-metrics configs for the organization
      description: Returns all signal-to-metrics configurations for your organization.
      parameters:
      - in: query
        name: dataset
        schema:
          $ref: '#/components/schemas/Dataset'
      - in: query
        name: limit
        schema:
          type: integer
          minimum: 1
          maximum: 200
          default: 50
        required: false
        description: Maximum number of items to return.
      - in: query
        name: offset
        schema:
          type: integer
          minimum: 0
          default: 0
        required: false
        description: Number of items to skip.
      - in: query
        name: originPrefix
        schema:
          type: string
        required: false
        description: Filter by origin prefix.
      - in: query
        name: name
        schema:
          type: string
        required: false
        description: Case-insensitive substring search on the rule name, or an exact match on the rule id.
      - in: query
        name: signal
        schema:
          $ref: '#/components/schemas/SignalToMetricsSignalType'
        required: false
        description: Filter by signal type.
      - in: query
        name: enabled
        schema:
          type: boolean
        required: false
        description: Filter by enabled state.
      responses:
        '200':
          description: List of signal-to-metrics configs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSignalToMetricsResponse'
        default:
          description: In case any error happens.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Manage Signal To Metrics
      operationId: getApiSignalToMetrics
      x-operation-id-source: derived
    post:
      summary: Create a new signal-to-metrics config
      description: Create a new signal-to-metrics configuration for your organization.
      parameters:
      - in: query
        name: dataset
        schema:
          $ref: '#/components/schemas/Dataset'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignalToMetricsCreateRequest'
      responses:
        '200':
          description: The created signal-to-metrics config
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignalToMetricsResponse'
        '403':
          description: Forbidden - Admin access required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: In case any error happens.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Manage Signal To Metrics
      operationId: postApiSignalToMetrics
      x-operation-id-source: derived
  /api/signal-to-metrics/test:
    post:
      summary: Test a signal-to-metrics config
      description: 'Validates a signal-to-metrics definition and simulates its match filter

        against real signals in the selected dataset over a recent time window.

        Returns the number of matching signals on success. A 4xx error is returned

        when the definition fails validation or the request is otherwise invalid.

        Nothing is persisted.'
      parameters:
      - in: query
        name: dataset
        schema:
          $ref: '#/components/schemas/Dataset'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignalToMetricsTestRequest'
      responses:
        '200':
          description: The test result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignalToMetricsTestResponse'
        '400':
          description: 'The request is invalid — either the body is missing/malformed, the

            time range is unparseable or out of range, or the definition fails

            validation. The response payload lists the specific failures.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: In case any error happens.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Manage Signal To Metrics
      operationId: postApiSignalToMetricsTest
      x-operation-id-source: derived
  /api/signal-to-metrics/{originOrId}:
    delete:
      summary: Delete a signal-to-metrics config by origin or ID
      description: Deletes a specific signal-to-metrics configuration identified by its origin label or UUID.
      parameters:
      - in: path
        name: originOrId
        schema:
          type: string
        required: true
        description: Signal-to-metrics config origin or UUID
      - in: query
        name: dataset
        schema:
          $ref: '#/components/schemas/Dataset'
      responses:
        '200':
          description: Successfully deleted
        '403':
          description: Forbidden - Admin access required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: In case any error happens.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Manage Signal To Metrics
      operationId: deleteApiSignalToMetricsByOriginOrId
      x-operation-id-source: derived
    get:
      summary: Get a specific signal-to-metrics config by origin or ID
      description: Returns a specific signal-to-metrics configuration identified by its origin label or UUID.
      parameters:
      - in: path
        name: originOrId
        schema:
          type: string
        required: true
        description: Signal-to-metrics config origin or UUID
      - in: query
        name: dataset
        schema:
          $ref: '#/components/schemas/Dataset'
      responses:
        '200':
          description: The requested signal-to-metrics config
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignalToMetricsResponse'
        default:
          description: In case any error happens.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Manage Signal To Metrics
      operationId: getApiSignalToMetricsByOriginOrId
      x-operation-id-source: derived
    put:
      summary: Update or create a signal-to-metrics config by origin or ID
      description: Updates an existing signal-to-metrics configuration or creates a new one if it doesn't exist. Useful for Infrastructure-as-Code workflows.
      parameters:
      - in: path
        name: originOrId
        schema:
          type: string
        required: true
        description: Signal-to-metrics config origin or UUID
      - in: query
        name: dataset
        schema:
          $ref: '#/components/schemas/Dataset'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignalToMetricsResponse'
      responses:
        '200':
          description: The updated or created signal-to-metrics config
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignalToMetricsResponse'
        '403':
          description: Forbidden - Admin access required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: In case any error happens.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Manage Signal To Metrics
      operationId: putApiSignalToMetricsByOriginOrId
      x-operation-id-source: derived
components:
  schemas:
    SignalToMetricsOutput:
      properties:
        name:
          type: string
          description: The name of the resulting metric
        description:
          type: string
          description: Will be used as metadata on the generated metric.
        interval:
          $ref: '#/components/schemas/Duration'
          description: Defines at what interval to output a data point for the matched signals.
        keepResourceAttributes:
          type: array
          items:
            $ref: '#/components/schemas/Matcher'
          description: 'Key matchers that select which resource attributes from the incoming signal

            are kept as resource attributes on the output metric. An attribute is kept

            if its key matches any matcher in this list. By default, no additional

            resource attributes are kept.

            '
        keepSignalAttributes:
          type: array
          items:
            $ref: '#/components/schemas/Matcher'
          description: 'Key matchers that select which signal attributes (span attributes for traces,

            log record attributes for logs) from the incoming signal are kept as metric

            attributes (dimensions) on the output metric. An attribute is kept if its

            key matches any matcher in this list. By default, no additional signal

            attributes are kept, except for otel.span.status.code which is always set

            when the signal type is spans.

            '
      required:
      - name
      - interval
    SignalToMetricsSignalType:
      type: string
      enum:
      - spans
      - logs
    Error:
      properties:
        code:
          type: integer
          description: 'HTTP status code.

            '
        type:
          type: string
          description: 'Stable `snake_case` identifier for the kind of error, safe for clients to branch on. Not

            an enum: treat an unrecognized value the same as an absent one and fall back to `message`,

            so a new error kind never breaks the contract. Optional — absent means unclassified, not

            success.

            '
        message:
          type: string
          description: 'Human-readable description of the error. Safe to display.

            '
        traceId:
          type: string
          description: 'Trace ID for the request that produced the error, for correlating with logs and traces.

            '
      required:
      - code
      - message
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
      - error
    SignalToMetricsTestRequest:
      properties:
        definition:
          $ref: '#/components/schemas/SignalToMetricsDefinition'
        timeRange:
          $ref: '#/components/schemas/TimeReferenceRange'
          description: 'Time window over which to simulate the rule. Defaults to the last 15 minutes.

            '
      required:
      - definition
    AnyValue:
      description: AnyValue is used to represent any type of attribute value. AnyValue may contain a primitive value such as a string or integer or it may contain an arbitrary nested object containing arrays, key-value lists and primitives.
      type: object
      properties:
        stringValue:
          type: string
        boolValue:
          type: boolean
        intValue:
          type: string
          format: int64
        doubleValue:
          type: number
          format: double
        bytesValue:
          type: string
          format: byte
    TimeRange:
      properties:
        from:
          $ref: '#/components/schemas/FixedTime'
        to:
          $ref: '#/components/schemas/FixedTime'
      required:
      - from
      - to
    TimeReferenceRange:
      description: 'A range of time between two time references.

        '
      properties:
        from:
          $ref: '#/components/schemas/TimeReference'
        to:
          $ref: '#/components/schemas/TimeReference'
      required:
      - from
      - to
      example:
        from: now-30m
        to: now
    SignalToMetricsMatch:
      properties:
        signal:
          $ref: '#/components/schemas/SignalToMetricsSignalType'
        filters:
          $ref: '#/components/schemas/FilterCriteria'
      required:
      - signal
      - filters
    SignalToMetricsTargetDatasetMode:
      type: string
      enum:
      - original
      - alternative
      - both
      description: 'Controls where the generated metric is written.

        - `original`: Metric lands in the dataset where the rule is defined.

        - `alternative`: Metric lands in the dataset specified by `alternativeDatasetId`.

        - `both`: Metric is produced twice — once for the original dataset, once for the alternative.

        '
    SignalToMetricsGroupAnnotations:
      properties:
        dash0.com/created-at:
          description: Timestamp when the rule was created. Set by the server; read-only.
          type: string
          format: date-time
        dash0.com/updated-at:
          description: Timestamp of the last update. Set by the server; read-only.
          type: string
          format: date-time
        dash0.com/deleted-at:
          description: Soft-delete timestamp. Present when the rule has been deleted but not yet purged. Set by the server; read-only.
          type: string
          format: date-time
        dash0.com/folder-path:
          description: Optional UI folder path for organising groups (e.g. '/infrastructure/hosts'). Nesting is expressed with '/' separators.
          type: string
        dash0.com/sharing:
          description: 'Comma-separated list of principals to grant read access to. Supported formats: ''team:<team_id>'' and ''user:<email>''. Example: ''team:team_01abc,user:alice@example.com''. Note: this resource type does not currently enforce sharing; the field is accepted but has no effect on access.'
          type: string
    AttributeFilterStringValue:
      description: AttributeFilterStringValue may contain a primitive value such as a regex pattern or string.
      type: string
    SignalToMetricsSpec:
      properties:
        enabled:
          type: boolean
        display:
          $ref: '#/components/schemas/SignalToMetricsDisplay'
        match:
          $ref: '#/components/schemas/SignalToMetricsMatch'
        output:
          $ref: '#/components/schemas/SignalToMetricsOutput'
        targetDatasetMode:
          $ref: '#/components/schemas/SignalToMetricsTargetDatasetMode'
          description: 'Controls where the generated metric is written.

            Defaults to `original` when absent. Old-format rules omit this field entirely.

            '
        alternativeDatasetId:
          type: string
          description: 'The slug of the target dataset. Required when targetDatasetMode is

            `alternative` or `both`. Must not be set when targetDatasetMode is

            `original` or absent.

            '
      required:
      - enabled
      - display
      - match
      - output
    SignalToMetricsCreateRequest:
      $ref: '#/components/schemas/SignalToMetricsDefinition'
    Dataset:
      type: string
      pattern: ^[a-zA-Z0-9_-]{3,26}$
      description: Optional dataset to query across. Defaults to whatever is configured to be the default dataset for the organization.
    TimeReference:
      x-go-type: any
      oneOf:
      - $ref: '#/components/schemas/FixedTime'
      - $ref: '#/components/schemas/FixedTimeUnix'
      - $ref: '#/components/schemas/RelativeTime'
    FixedTimeUnix:
      description: The time corresponding to the given unix time in seconds and nanoseconds (as decimal places) since January 1, 1970 UTC.
      type: string
    AttributeFilterKey:
      type: string
      description: The attribute key to be filtered.
    FixedTime:
      type: string
      format: date-time
      description: 'A fixed point in time represented as an RFC 3339 date-time string.


        **Format**: `YYYY-MM-DDTHH:MM:SSZ` (UTC) or `YYYY-MM-DDTHH:MM:SS±HH:MM` (with timezone offset)


        **Examples**:

        - `2024-01-15T14:30:00Z`

        - `2024-01-15T14:30:00+08:00`

        '
    Duration:
      type: string
      pattern: (\d+(ms|s|m|h|d|w|M|Q|y))+
    AttributeFilter:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/AttributeFilterKey'
        operator:
          $ref: '#/components/schemas/AttributeFilterOperator'
        value:
          oneOf:
          - $ref: '#/components/schemas/AttributeFilterStringValue'
          - $ref: '#/components/schemas/AttributeFilterAnyValue'
        values:
          type: array
          description: 'List of values to match against. This parameter is mandatory for the is_one_of and is_not_one_of operators.

            '
          items:
            oneOf:
            - $ref: '#/components/schemas/AttributeFilterStringValue'
            - $ref: '#/components/schemas/AttributeFilterAnyValue'
      required:
      - key
      - operator
    SignalToMetricsMetadata:
      properties:
        name:
          type: string
        labels:
          $ref: '#/components/schemas/SignalToMetricsLabels'
        annotations:
          $ref: '#/components/schemas/SignalToMetricsGroupAnnotations'
      required:
      - name
    SignalToMetricsBulkUpsertRequest:
      type: object
      required:
      - items
      properties:
        items:
          type: array
          minItems: 1
          maxItems: 500
          items:
            $ref: '#/components/schemas/SignalToMetricsDefinition'
    SignalToMetricsTestResponse:
      properties:
        executionTime:
          $ref: '#/components/schemas/FixedTime'
        timeRange:
          $ref: '#/components/schemas/TimeRange'
          description: 'Concrete time window that was evaluated, with relative references resolved.

            '
        matchedCount:
          type: integer
          format: int64
          description: 'Number of signals (spans or logs) matching `spec.match.filters` over the

            evaluated time window.

            '
      required:
      - executionTime
      - timeRange
      - matchedCount
    SignalToMetricsCounts:
      type: object
      properties:
        logs:
          $ref: '#/components/schemas/SignalToMetricsSignalCounts'
          description: Counts for rules whose source signal is `logs`.
        spans:
          $ref: '#/components/schemas/SignalToMetricsSignalCounts'
          description: Counts for rules whose source signal is `spans`.
      required:
      - logs
      - spans
    SignalToMetricsDisplay:
      properties:
        name:
          type: string
      required:
      - name
    CrdSource:
      description: "Origin of a Dash0 resource, derived from `dash0.com/origin` on read.\n- `ui`: created interactively in the Dash0 UI.\n- `terraform`: managed via the Dash0 Terraform provider.\n- `operator`: managed via the Dash0 Kubernetes operator.\n- `dash0-cli`: managed via the Dash0 CLI.\n- `platform`: owned by Dash0 rather than by anyone in your organization. Covers both\n  resources Dash0 generates from another resource you own (the recording rules an SLO\n  produces) and resources Dash0 ships with the product (the built-in views).\n- `identity-provider`: a team whose membership Dash0 keeps in sync with a directory\n  group from the organization's identity provider. Membership edits made by hand\n  revert on the next reconcile.\n- `api`: created directly through the API, and the fallback for any origin whose\n  prefix is not recognized.\n\nNew values may be added over time. Treat an unrecognized value as `api`\nrather than rejecting the response.\n"
      type: string
      enum:
      - ui
      - terraform
      - operator
      - dash0-cli
      - platform
      - identity-provider
      - api
    GetSignalToMetricsResponse:
      properties:
        signalToMetrics:
          type: array
          items:
            $ref: '#/components/schemas/SignalToMetricsDefinition'
        hasMore:
          type: boolean
          description: Whether there are more results beyond the current page. Only present when pagination is used.
        total:
          type: integer
          description: Total number of rules matching the request filters, ignoring pagination.
        counts:
          $ref: '#/components/schemas/SignalToMetricsCounts'
          description: 'Rule counts per source signal, matching the request filters and ignoring pagination.

            Present under the same conditions as `total`, and absent rather than zero-filled when

            unavailable — a consumer must not read a missing `counts` as "no rules".

            '
      required:
      - signalToMetrics
    AttributeFilterOperator:
      type: string
      enum:
      - is
      - is_not
      - is_set
      - is_not_set
      - is_one_of
      - is_not_one_of
      - gt
      - lt
      - gte
      - lte
      - matches
      - does_not_match
      - contains
      - does_not_contain
      - starts_with
      - does_not_start_with
      - ends_with
      - does_not_end_with
      - is_any
      description: 'The match operation for filtering attributes.


        #### Equality Operators

        - `is` - equals (attribute exists and has a matching value)

        - `is_not` - not equals (attribute exists and has a different value)


        #### Existence Operators

        - `is_set` - is set (attribute exists)

        - `is_not_set` - is not set (attribute does not exist)


        #### Multiple Value Operators

        - `is_one_of` - is any of (attribute exists and has a value that is in the specified values)

        - `is_not_one_of` - is not any of (attribute exists and has a value that is not in the specified values)


        #### Comparison Operators

        - `gt` - greater than

        - `lt` - less than

        - `gte` - greater than or equal

        - `lte` - less than or equal


        #### Pattern Matching Operators

        - `matches` - match regex expression (attribute exists and matches the regular expression)

        - `does_not_match` - does not match regex expression (attribute exists and does not match the regular expression)


        #### String Operators

        - `contains` - contains (attribute exists and contains the specified value)

        - `does_not_contain` - does not contain (attribute exists and does not contain the specified value)

        - `starts_with` - starts with (attribute exists and starts with the specified value)

        - `does_not_start_with` - does not start with (attribute exists and does not start with the specified value)

        - `ends_with` - ends with (attribute exists and ends with the specified value)

        - `does_not_end_with` - does not end with (attribute exists and does not end with the specified value)


        #### Special Operators

        - `is_any` - matches any value, ignoring whether the key exists or not

        '
    RelativeTime:
      type: string
      pattern: ^now.*$
      description: 'A relative time reference based on the current time ("now").


        **Format**: `now[+/-duration]`


        **Examples**:

        - `now` - current time

        - `now-30m` - 30 minutes ago

        - `now-1h` - 1 hour ago

        - `now-1d` - 1 day ago


        **Duration Units**:

        - `s` - seconds

        - `m` - minutes

        - `h` - hours

        - `d` - days

        - `w` - weeks

        - `M` - months

        '
    Matcher:
      type: object
      properties:
        operator:
          $ref: '#/components/schemas/AttributeFilterOperator'
        value:
          oneOf:
          - $ref: '#/components/schemas/AttributeFilterStringValue'
          - $ref: '#/components/schemas/AttributeFilterAnyValue'
        values:
          type: array
          description: 'List of values to match against. This parameter is mandatory for the is_one_of and is_not_one_of operators.

            '
          items:
            oneOf:
            - $ref: '#/components/schemas/AttributeFilterStringValue'
            - $ref: '#/components/schemas/AttributeFilterAnyValue'
      required:
      - operator
    SignalToMetricsBulkUpsertResponse:
      type: object
      required:
      - created
      - updated
      properties:
        created:
          type: integer
          description: Number of rules that were newly created.
        updated:
          type: integer
          description: Number of rules that were updated.
    SignalToMetricsDefinition:
      properties:
        kind:
          type: string
          enum:
          - Dash0SignalToMetrics
        metadata:
          $ref: '#/components/schemas/SignalToMetricsMetadata'
        spec:
          $ref: '#/components/schemas/SignalToMetricsSpec'
      required:
      - kind
      - metadata
      - spec
    FilterCriteria:
      type: array
      items:
        $ref: '#/components/schemas/AttributeFilter'
      example:
      - key: service.name
        operator: is
        value: foo
    SignalToMetricsSignalCounts:
      type: object
      properties:
        total:
          type: integer
          description: Rules with this source signal, enabled and disabled alike.
        enabled:
          type: integer
          description: The subset that is enabled. Disabled rules are `total - enabled`.
      required:
      - total
      - enabled
    SignalToMetricsResponse:
      $ref: '#/components/schemas/SignalToMetricsDefinition'
    AttributeFilterAnyValue:
      description: AttributeFilterAnyValue may contain any AnyValue value.
      $ref: '#/components/schemas/AnyValue'
    SignalToMetricsLabels:
      properties:
        dash0.com/id:
          description: Unique internal ID of the signal-to-metrics rule. Set by the server on creation; do not set manually.
          type: string
        dash0.com/origin:
          description: External identifier for API-managed resources (e.g. the CRD name from an operator or Terraform resource ID). Empty for user-created rules; non-empty for rules created via the internal API.
          type: string
        dash0.com/version:
          description: Current version of the rule. Needs to be set when updating a rule to prevent conflicting writes.
          type: string
        dash0.com/dataset:
          description: Dataset this rule belongs to. Defaults to the default dataset when absent.
          type: string
        dash0.com/source:
          $ref: '#/components/schemas/CrdSource'
x-provenance:
  method: harvested
  publisher: Dash0
  source: https://api.eu-central-1.aws.dash0.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)