---
title: "PUT /api/v1/config/trace-behavior-config"
method: PUT
path: "/api/v1/config/trace-behavior-config"
tags: ["TraceBehaviorConfig"]
---

# PUT /api/v1/config/trace-behavior-config

`PUT /api/v1/config/trace-behavior-config`

## Request body

- Configv1UpdateTraceBehaviorConfigRequest
  - `trace_behavior_config` Configv1TraceBehaviorConfig — TraceBehaviorConfig is a singleton configuration object that specifies the configuration for trace behaviors.
    - `created_at` string, date-time — Timestamp of when the TraceBehaviorConfig was created. Cannot be set by clients.
    - `updated_at` string, date-time — Timestamp of when the TraceBehaviorConfig was last updated. Cannot be set by clients.
    - `main_behavior_assignments` TraceBehaviorConfigMainBehaviorAssignment[] — List of assignments for the main behavior. The referenced datasets will be enrolled in behaviors. The referenced behaviors are the active behaviors for the dataset when there is no active override. Only one main behavior can be assigned to a dataset. See the documentation for [customizing your sampling strategy](https://docs.chronosphere.io/control/sampling/behaviors#customize-your-sampling-strategy) for more information.
      - `created_at` string, date-time — The timestamp of when the trace behavior was created.
      - `updated_at` string, date-time — The timestamp of when the trace behavior was updated.
      - `dataset_slug` string — The slug reference of a trace dataset.
      - `behavior_slug` string — The slug reference of a trace behavior.
      - `created_by` string — The author or creator of the behavior assignment.
      - `description` string — A description of the behavior assignment.
    - `override_behavior_assignments` TraceBehaviorConfigOverrideBehaviorAssignment[] — List of assignments for the override behavior. These assignments specify the active behavior for a dataset over a specific time range. Only one override behavior can be assigned to a dataset.
      - `created_at` string, date-time — The timestamp of when the override behavior assignment was created.
      - `updated_at` string, date-time — The timestamp of when the override behavior assignment was updated.
      - `dataset_slug` string — The slug reference of a trace dataset.
      - `behavior_slug` string — The slug reference of a trace behavior.
      - `start_time` string, date-time — The starting time of the override.
      - `end_time` string, date-time — The ending time of the override.
      - `created_by` string — The author or creator of the override.
      - `description` string — A description of the override.
    - `dataset_priorities` string[] — List of dataset priorities. This list specifies the order in which datasets are considered when determining the behavior to follow for a trace. Dataset priorities are used to break ties when a trace matches more than one dataset with an active behavior. * Each entry in this list must refer to the slug of an existing dataset. * The order of the list is the order in which the datasets are considered. * The list must contain all datasets referenced in either `main_behavior_assignments` or `override_behavior_assignments`. * The list can contain datasets that are not referenced in either of these assignments.
    - `baseline_behavior_slug` string — The baseline behavior to use for behavior assignments and base head sampling rates.
    - `preview_behavior_assignments` TraceBehaviorConfigOverrideBehaviorAssignment[] — List of assignments for the preview behavior. The referenced behaviors are in preview mode for the assigned dataset. You can assign only one preview behavior to a dataset.
      - `created_at` string, date-time — The timestamp of when the override behavior assignment was created.
      - `updated_at` string, date-time — The timestamp of when the override behavior assignment was updated.
      - `dataset_slug` string — The slug reference of a trace dataset.
      - `behavior_slug` string — The slug reference of a trace behavior.
      - `start_time` string, date-time — The starting time of the override.
      - `end_time` string, date-time — The ending time of the override.
      - `created_by` string — The author or creator of the override.
      - `description` string — A description of the override.
  - `create_if_missing` boolean — If true, the TraceBehaviorConfig will be created if it does not already exist. If false, an error will be returned if the TraceBehaviorConfig does not already exist.
  - `dry_run` boolean — If true, the TraceBehaviorConfig isn't created or updated, and no response TraceBehaviorConfig will be returned. The response will return an error if the given TraceBehaviorConfig is invalid.

## Response `200`

A successful response containing the updated TraceBehaviorConfig.

- Configv1UpdateTraceBehaviorConfigResponse
  - `trace_behavior_config` Configv1TraceBehaviorConfig — TraceBehaviorConfig is a singleton configuration object that specifies the configuration for trace behaviors.
    - `created_at` string, date-time — Timestamp of when the TraceBehaviorConfig was created. Cannot be set by clients.
    - `updated_at` string, date-time — Timestamp of when the TraceBehaviorConfig was last updated. Cannot be set by clients.
    - `main_behavior_assignments` TraceBehaviorConfigMainBehaviorAssignment[] — List of assignments for the main behavior. The referenced datasets will be enrolled in behaviors. The referenced behaviors are the active behaviors for the dataset when there is no active override. Only one main behavior can be assigned to a dataset. See the documentation for [customizing your sampling strategy](https://docs.chronosphere.io/control/sampling/behaviors#customize-your-sampling-strategy) for more information.
      - `created_at` string, date-time — The timestamp of when the trace behavior was created.
      - `updated_at` string, date-time — The timestamp of when the trace behavior was updated.
      - `dataset_slug` string — The slug reference of a trace dataset.
      - `behavior_slug` string — The slug reference of a trace behavior.
      - `created_by` string — The author or creator of the behavior assignment.
      - `description` string — A description of the behavior assignment.
    - `override_behavior_assignments` TraceBehaviorConfigOverrideBehaviorAssignment[] — List of assignments for the override behavior. These assignments specify the active behavior for a dataset over a specific time range. Only one override behavior can be assigned to a dataset.
      - `created_at` string, date-time — The timestamp of when the override behavior assignment was created.
      - `updated_at` string, date-time — The timestamp of when the override behavior assignment was updated.
      - `dataset_slug` string — The slug reference of a trace dataset.
      - `behavior_slug` string — The slug reference of a trace behavior.
      - `start_time` string, date-time — The starting time of the override.
      - `end_time` string, date-time — The ending time of the override.
      - `created_by` string — The author or creator of the override.
      - `description` string — A description of the override.
    - `dataset_priorities` string[] — List of dataset priorities. This list specifies the order in which datasets are considered when determining the behavior to follow for a trace. Dataset priorities are used to break ties when a trace matches more than one dataset with an active behavior. * Each entry in this list must refer to the slug of an existing dataset. * The order of the list is the order in which the datasets are considered. * The list must contain all datasets referenced in either `main_behavior_assignments` or `override_behavior_assignments`. * The list can contain datasets that are not referenced in either of these assignments.
    - `baseline_behavior_slug` string — The baseline behavior to use for behavior assignments and base head sampling rates.
    - `preview_behavior_assignments` TraceBehaviorConfigOverrideBehaviorAssignment[] — List of assignments for the preview behavior. The referenced behaviors are in preview mode for the assigned dataset. You can assign only one preview behavior to a dataset.
      - `created_at` string, date-time — The timestamp of when the override behavior assignment was created.
      - `updated_at` string, date-time — The timestamp of when the override behavior assignment was updated.
      - `dataset_slug` string — The slug reference of a trace dataset.
      - `behavior_slug` string — The slug reference of a trace behavior.
      - `start_time` string, date-time — The starting time of the override.
      - `end_time` string, date-time — The ending time of the override.
      - `created_by` string — The author or creator of the override.
      - `description` string — A description of the override.

## Other responses

- `400` — Cannot update the TraceBehaviorConfig because the request is invalid.
- `404` — Cannot update the TraceBehaviorConfig because TraceBehaviorConfig has not been created.
- `500` — An unexpected error response.
- `default` — An undefined error response.

---

[API](https://skmtc.net/chronosphere/apis/config-v1-api.md) · [All operations](https://skmtc.net/chronosphere/apis/config-v1-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/chronosphere/config-v1-api/revisions/530951bd2ccf/schema)
