Sign inGet Started

Update an Apple Messages for Business routing rule

PATCH
/v1/amb/routing-rules/{routing_rule_id}
const result = await bird.amb.routingRules.update(
  "arr_01krdgeqcxet5s7t44vh8rt9mg",
  { queue: "sales", precedence: 0, is_default: false },
);
console.log(result);
Response200
{
  "created_at": "2026-05-20T09:14:52Z",
  "updated_at": "2026-05-25T16:42:01Z",
  "id": "arr_01krdgeqcxet5s7t44vh8rt9mg",
  "business_id": "abz_01krdgeqcxet5s7t44vh8rt9mg",
  "match_kind": "intent",
  "match_intent_id": "order_status",
  "match_group_id": "support",
  "queue": "billing",
  "precedence": 10,
  "is_default": false
}
Changes a routing rule's queue, precedence, or default status. What it matches is fixed once created; to change that, delete this rule and create another. Setting is_default to true while the business already has a different default rule returns a 409.
Parameters
routing_rule_id
string
Request Payload
queue
string
Change the queue this rule files a matching conversation into. What the rule matches is fixed once created; to change that, delete this rule and create another.
precedence
integer
Change this rule's evaluation order among the business's other rules.
is_default
boolean
Set to true to make this the rule that catches a conversation matching nothing else, or to false to stop it from being the default. Setting it true while the business already has a different default rule returns a 409.
Response Payload
created_at
string
required
updated_at
string
required
id
string
required
Unique identifier for the routing rule.
business_id
string
required
The Apple Messages for Business brand this rule belongs to.
match_kind
string
required
What a routing rule matches against the entry point that started the conversation.
  • intent matches on the entry point's intent alone: match_intent_id is set and match_group_id is null.
  • group matches on the entry point's group alone: match_group_id is set and match_intent_id is null.
  • both matches only when the entry point carries the given intent and the given group together, so match_intent_id and match_group_id are both set. There are two match fields rather than one because both needs to carry an intent and a group at once.
Possible values: intent, group, both
match_intent_id
nullable string
The entry point intent this rule matches, as sent in Apple's intentID. Set when match_kind is intent or both, null when it is group.
match_group_id
nullable string
The entry point group this rule matches, as sent in Apple's groupID. Set when match_kind is group or both, null when it is intent.
queue
string
required
The queue a matching conversation is filed into. A queue is a label your console filters by rather than a resource you create ahead of time, so any value routes.
precedence
integer
required
Evaluation order among this business's rules. The highest-precedence rule a conversation matches wins; rules tied on precedence are evaluated by their id.
is_default
boolean
required
Whether this rule catches a conversation that matches nothing else. A business has at most one. A conversation created or reopened while none exists routes to an empty queue, which the console lists as unrouted.