# Get a SIP trunk gateway

`GET /v1/voice/trunks/{trunk_id}/gateways/{gateway_id}`

Returns a single gateway by ID. Returns a 404 `not_found_error` if the trunk or the gateway does not exist in the workspace.

## Code samples

**TypeScript**

```ts
const gateway = await bird.voice.trunks.gateways.get("TRUNK_ID", "GATEWAY_ID");
console.log(gateway.id, gateway.priority);
```

Examples: [TypeScript](/docs/api/reference/get-voice-trunk-gateway.ts.md) · [Python](/docs/api/reference/get-voice-trunk-gateway.py.md) · [Go](/docs/api/reference/get-voice-trunk-gateway.go.md) · [PHP](/docs/api/reference/get-voice-trunk-gateway.php.md) · [CLI](/docs/api/reference/get-voice-trunk-gateway.cli.md) · [MCP](/docs/api/reference/get-voice-trunk-gateway.mcp.md) · [cURL](/docs/api/reference/get-voice-trunk-gateway.curl.md)

## Example response `200`

```json
{
  "id": "vtg_01krdgeqcxet5s7t44vh8rt9mg",
  "trunk_id": "spt_01krdgeqcxet5s7t44vh8rt9mg",
  "sip_uri": "sip:pbx.example.com:5060",
  "priority": 0,
  "origination_format": "+{number}",
  "destination_format": "+{number}",
  "created_at": "2026-05-20T09:14:52Z",
  "updated_at": "2026-05-25T16:42:01Z"
}
```

## Path parameters

- `trunk_id` (string)
- `gateway_id` (string)

## Response body

- `id` (string, required): Unique identifier for this gateway.
- `trunk_id` (string, required)
- `sip_uri` (string, required): SIP URI an inbound call to this trunk is forwarded to. The host only: which number is dialed at that host comes from `destination_format`, because it changes with every call.
- `priority` (integer, required): The order gateways are tried in, lowest first. Gateways sharing a priority take an equal share of calls, and any of them may be tried first on a given call.
- `origination_format` (string, required)

  How the calling number is spelled to this gateway, as a template whose
  `{number}` stands for the number without its leading `+`. It is stated
  in the `P-Asserted-Identity` header of the delivered call.

  A gateway that has not asked for anything else reports `+{number}`,
  which is E.164. A format with no `{number}` states that same identity on
  every call, whoever called.
- `destination_format` (string, required)

  How this gateway formats the dialed number. In the template,
  `{number}` represents the number without its leading `+`. The result
  is placed before the `sip_uri` host. For example, `1234#{number}`
  formats `+31201234567` as
  `sip:1234#31201234567@pbx.example.com:5060`.

  A gateway that has not asked for anything else reports `+{number}`,
  which is E.164. A format with no `{number}` is dialed as it stands, so
  every number the trunk answers reaches that one number.
- `created_at` (string, required)
- `updated_at` (string, required)

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
