# Pams.API

**Kind:** Module

**Source:** `Pams/API/Pams.API/Pams.API.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

.NET project in solution

Pams.API is a .NET project in the Pams solution. It defines the API project boundary for application-facing functionality; review its project configuration and source files to identify available routes, dependencies, and hosting settings.

## Diagram

```mermaid
graph TD
    Client[TypeScript or JavaScript client] --> API[Pams.API]
    API --> Solution[Pams solution]
    ProjectFile[Pams.API.csproj] --> API
```

## Usage

```ts
const baseUrl = process.env.PAMS_API_URL;

if (!baseUrl) {
  throw new Error("PAMS_API_URL must point to the Pams.API host.");
}

// Replace <route> with a route implemented by Pams.API.
const response = await fetch(new URL("<route>", baseUrl), {
  headers: {
    Accept: "application/json",
  },
});

if (!response.ok) {
  throw new Error(`Pams.API request failed: ${response.status}`);
}

const data = await response.json();
console.log(data);
```

## AI Coding Instructions

- Treat `Pams.API.csproj` as the project entry point when reviewing target frameworks, package references, and build settings.
- Confirm implemented routes and request contracts before adding client calls; do not infer endpoint paths from the project name.
- Keep API-facing changes aligned with the surrounding Pams solution projects and their dependency boundaries.

## Relationships

- DEPENDS_ON → `AutoMapper`
- DEPENDS_ON → `AutoMapper.Net4`
- DEPENDS_ON → `Common.Logging`
- DEPENDS_ON → `Common.Logging.Core`
- DEPENDS_ON → `DocumentFormat.OpenXml`
- DEPENDS_ON → `Elmah`
- DEPENDS_ON → `Elmah.Contrib.WebApi`
- DEPENDS_ON → `EntityFramework`
- DEPENDS_ON → `EntityFramework.SqlServer`
- DEPENDS_ON → `EPPlus`
- DEPENDS_ON → `Hangfire.Core`
- DEPENDS_ON → `Hangfire.SqlServer`
- DEPENDS_ON → `IdentityManager`
- DEPENDS_ON → `IdentityManager.AspNetIdentity`
- DEPENDS_ON → `IdentityModel`
- DEPENDS_ON → `IdentityServer3`
- DEPENDS_ON → `IdentityServer3.AccessTokenValidation`
- DEPENDS_ON → `Microsoft.AspNet.Identity.Core`
- DEPENDS_ON → `Microsoft.AspNet.Identity.EntityFramework`
- DEPENDS_ON → `Microsoft.AspNet.Identity.Owin`
- DEPENDS_ON → `Microsoft.AspNet.SignalR.Core`
- DEPENDS_ON → `Microsoft.AspNet.SignalR.SystemWeb`
- DEPENDS_ON → `Microsoft.CodeDom.Providers.DotNetCompilerPlatform`
- DEPENDS_ON → `Microsoft.CSharp`
- DEPENDS_ON → `Microsoft.IdentityModel.Extensions`
- DEPENDS_ON → `Microsoft.IdentityModel.JsonWebTokens`
- DEPENDS_ON → `Microsoft.IdentityModel.Logging`
- DEPENDS_ON → `Microsoft.IdentityModel.Protocol.Extensions`
- DEPENDS_ON → `Microsoft.IdentityModel.Tokens`
- DEPENDS_ON → `Microsoft.Office.Interop.Excel`
- DEPENDS_ON → `Microsoft.Owin`
- DEPENDS_ON → `Microsoft.Owin.Cors`
- DEPENDS_ON → `Microsoft.Owin.Host.SystemWeb`
- DEPENDS_ON → `Microsoft.Owin.Security`
- DEPENDS_ON → `Microsoft.Owin.Security.Cookies`
- DEPENDS_ON → `Microsoft.Owin.Security.Facebook`
- DEPENDS_ON → `Microsoft.Owin.Security.Google`
- DEPENDS_ON → `Microsoft.Owin.Security.Jwt`
- DEPENDS_ON → `Microsoft.Owin.Security.OAuth`
- DEPENDS_ON → `Microsoft.Owin.Security.OpenIdConnect`
- DEPENDS_ON → `Microsoft.Owin.Security.Twitter`
- DEPENDS_ON → `Microsoft.Web.Infrastructure`
- DEPENDS_ON → `Microsoft.Web.XmlTransform`
- DEPENDS_ON → `MiniProfiler`
- DEPENDS_ON → `NetOffice`
- DEPENDS_ON → `Newtonsoft.Json`
- DEPENDS_ON → `OfficeApi`
- DEPENDS_ON → `OpenHtmlToPdf`
- DEPENDS_ON → `Owin`
- DEPENDS_ON → `Owin.Extensions`
- DEPENDS_ON → `Owin.Types`
- DEPENDS_ON → `SaasKit.Multitenancy`
- DEPENDS_ON → `SaasKit.Multitenancy.WebApi`
- DEPENDS_ON → `Select.HtmlToPdf`
- DEPENDS_ON → `Serilog`
- DEPENDS_ON → `Serilog.Formatting.Compact`
- DEPENDS_ON → `Serilog.FullNetFx`
- DEPENDS_ON → `Serilog.Sinks.File`
- DEPENDS_ON → `Serilog.Sinks.PeriodicBatching`
- DEPENDS_ON → `Serilog.Sinks.Seq`
- DEPENDS_ON → `Swashbuckle.Core`
- DEPENDS_ON → `System.Data.DataSetExtensions`
- DEPENDS_ON → `System.IO.Compression`
- DEPENDS_ON → `System.Web.DynamicData`
- DEPENDS_ON → `System.Web.Http.Cors`
- DEPENDS_ON → `System.Web.Http.Owin`
- DEPENDS_ON → `System.Web.Mvc`
- DEPENDS_ON → `System.Web.Razor`
- DEPENDS_ON → `System.Web.WebPages`
- DEPENDS_ON → `System.Web.WebPages.Deployment`
- DEPENDS_ON → `System.Web.WebPages.Razor`
- DEPENDS_ON → `System.Xml`
- DEPENDS_ON → `VBIDEApi`
- DEPENDS_ON → `WebActivatorEx`
- DEPENDS_ON → `WindowsBase`
- DEPENDS_ON → `System.Net.Http.Formatting`
- DEPENDS_ON → `System.Web.Http`
- DEPENDS_ON → `System.Web.Http.WebHost`
- DEPENDS_ON → `Pams.Core`
- DEPENDS_ON → `Pams.Security`
- DEPENDS_ON → `Pams.Data`
- DEPENDS_ON → `Pams.Common`
- DEPENDS_ON → `Pams.Business`
- DEPENDS_ON → `Pams.CurrencyConverter`
- DEPENDS_ON → `Pams.Email`
- DEPENDS_ON → `Pams.Storage`

## Used by

1 reference from 1 file. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Declared in (1)

- `Pams` — `Pams/Pams.sln`:1
