---
title: Endpoint map
summary: Traceability from each client method to the API endpoint it calls.
status: draft
owner: Agency Systems Team
last_reviewed: 2026-09-10
---

# Endpoint map

This page traces every remote member of `IAgencyClient` to the `SAIF.Agency.Api` endpoint it calls. It is the page a reader uses to answer "which endpoint does this call hit, and where is that endpoint documented".

| Field | Value |
| --- | --- |
| **Wrapped API** | `SAIF.Agency.Api` |
| **Origin** | Documented by this run |
| **Base URL** | `<baseUrl>` — constructor argument, from the `AgencyApi.BaseUrl` app setting |
| **Version prefix** | `v1/` |
| **Remote members mapped** | 4 of 4 public members |

## Method to endpoint map

| Client member | Verb | Relative URL | Endpoint | Request DTO | Response DTO | Reference |
| --- | --- | --- | --- | --- | --- | --- |
| `GetAgency` | GET | `agencies/{agencyNumber}` | [`GET /v1/agencies/{agencyNumber}`](../../apis/saif-agency-api/endpoints/agencies.md#get-v1agenciesagencynumber) | — | `Agency` | [Details](reference.md#getagencystring) |
| `SearchAgencies` | GET | `agencies?producerCode={producerCode}&activeOnly={activeOnly}` | [`GET /v1/agencies`](../../apis/saif-agency-api/endpoints/agencies.md#get-v1agencies) | — | `AgencySummary` | [Details](reference.md#searchagenciesstring-bool) |
| `GetAgentsForAgency` | GET | `agencies/{agencyNumber}/agents` | [`GET /v1/agencies/{agencyNumber}/agents`](../../apis/saif-agency-api/endpoints/agencies.md#get-v1agenciesagencynumberagents) | — | `Agent` | [Details](reference.md#getagentsforagencystring) |
| `UpdateAgencyContact` | PUT | `agencies/{agencyNumber}/contact` | [`PUT /v1/agencies/{agencyNumber}/contact`](../../apis/saif-agency-api/endpoints/agencies.md#put-v1agenciesagencynumbercontact) | `AgencyContactUpdate` | `AgencyContact` | [Details](reference.md#updateagencycontactstring-agencycontactupdate) |

All four routes are served by `AgenciesController`, so every row resolves to the
same endpoint page. The API's other two controllers are not wrapped: this client
issues no request to the `v1/agents` routes on `AgentsController` or the
`v1/appointments` routes on `AppointmentsController`. A consumer that needs
appointment history calls the API directly.

Note that `GetAgentsForAgency` reaches agent data through the agencies
sub-resource, not through `AgentsController`. The distinction matters when
tracing a production incident from an IIS log back to a client member.

## Coverage

| Check | Result |
| --- | --- |
| Public members in `IAgencyClient` | 4 |
| Rows in the endpoint map | 4 |
| Rows in unmapped members | 0 |
| Every mapped row resolves or is †-marked | Yes |

## Related documentation
- [Client index](index.md)
- Overview
- Architecture
- [Package](package.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- Contracts
- Dependencies
- Business rules
- Tech debt

## Sources
- `src/SAIF.Agency.Api.Client/IAgencyClient.cs`
- `src/SAIF.Agency.Api.Client/AgencyClient.cs`
- `src/SAIF.Agency.Api/Controllers/AgenciesController.cs`
- `src/SAIF.Agency.Api/App_Start/WebApiConfig.cs`
