---
tags:
  - inspect
---
# GET /api/admin/resolve-egress-path/v1


!!! info
    This page was generated by extracting information from a JSON Schema
    data file for the API.  It may be missing some information, or otherwise
    suggest approximate or placeholder values based on information in the
    schema file; this is due to limitations on how that data is extracted
    from the underlying Rust code and into the JSON Schema, and then again
    from there and into these docs.

Resolve the effective egress path configuration and throughput
ceilings for a destination domain and egress source.

This API endpoint is used by the [kcli resolve-egress-path](../../kcli/resolve-egress-path.md) command.
{{since('dev')}}

Mirrors the diagnostic that `kcli inspect-ready-q` provides for
live ready queues, but operates from the configuration side: it
invokes the `get_queue_config` and `get_egress_path_config` event
callbacks for the supplied `domain`/`source` pair, performs the
associated MX lookup, and returns the resulting configuration,
derived ceilings and the ready-queue name that would be used.

## Query Parameters
  * `domain` - required `string`. Destination domain. Drives the MX lookup and is passed
    through to the `get_egress_path_config` event callback.
  * `source` - optional nullable `string`. Egress source name. Defaults to "unspecified" if omitted.

## Responses
### Status 200
Resolved egress path


`Content-Type: application/json`

Response body for the resolve-egress-path endpoint.

{{since('dev')}}

This is an object value, with the following properties:


  * `constraints` - required [EffectiveConstraints](schemas/EffectiveConstraints.md). Steady-state ceilings implied by an `EgressPathConfig`. Each
    ceiling carries a tag for which configuration term produced it.
    
    {{since('dev')}}
    
    These are per-queue ceilings; shared limits in `additional_*`
    maps are reported at their full value and may be tighter in
    practice when the bucket is contended.

  * `domain` - required `string`. 

  * `mx` - optional nullable [MxResolution](schemas/MxResolution.md). 

  * `path_config` - required `object`. 

  * `queue_config` - required `object`. Snapshot of the resolved scheduled-queue configuration for
    this domain. Carried as an untyped JSON object because
    `QueueConfig` contains protocol variants that don't all
    round-trip cleanly through the OpenAPI schema.

  * `queue_name` - required `string`. The ready-queue name that this domain/source pair would
    resolve to. Lets the caller pivot to inspect-ready-q for
    live runtime detail when the queue exists.

  * `source` - required `string`. 

### Examples
```json
{
  "constraints": {
    "max_concurrent_dispatchers": {
      "display": "string",
      "source": {
        "kind": "primary"
      },
      "value": 4.2
    },
    "max_connection_rate": {
      "display": "string",
      "source": {
        "kind": "primary"
      },
      "value": 4.2
    },
    "max_message_rate": {
      "display": "string",
      "source": {
        "kind": "primary"
      },
      "value": 4.2
    },
    "max_message_rate_declared": "string",
    "max_source_selection_rate": {
      "display": "string",
      "source": {
        "kind": "primary"
      },
      "value": 4.2
    }
  },
  "domain": "string",
  "mx": {
    "by_preference": {},
    "is_domain_literal": false,
    "is_mx": false,
    "is_secure": false,
    "site_name": "string"
  },
  "path_config": {},
  "queue_config": {},
  "queue_name": "string",
  "source": "string"
}
```
