---
title: "Repoint an ownership rule at a team, a path, or both"
method: PUT
path: "/api/{org_id}/oncall/ownership/{rule_id}"
tags: ["OnCall"]
---

# Repoint an ownership rule at a team, a path, or both

`PUT /api/{org_id}/oncall/ownership/{rule_id}`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/{org_id}/oncall/ownership/{rule_id}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/:org_id/oncall/ownership/:rule_id/put.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `org_id` string, required
- `rule_id` string, required

## Request body

- CreateOwnershipRuleRequest: Points one identity-dimension path at the team that gets woken for it.
  - `dimensions` object, required: `{alias_id: value}`, the same vocabulary the service-identity config produces.
  - `team_id` string, required

## Response `200`

Success

- OwnershipRule: A team's claim over part of the identity space.
  - `created_at` integer, required
  - `dimensions` object, required: Every pair that must match for this rule to apply. An empty map is a catch-all and is rejected by [`Self::validate`] — an accidental one would silently capture every alert in the org. A value may end in `*` to claim the subtree below a literal prefix (`host=db-*`), which §7 asks for on deployments whose finest dimension is a numbered host rather than a namespace.
  - `id` string, required
  - `org_id` string, required
  - `team_id` string, required
  - `updated_at` integer, required

## Other responses

- `400`: Invalid
- `404`: Not found
- `409`: Conflict

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
