# OfficeApi

**Kind:** Service

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

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

NuGet package dependency

OfficeApi is the Pams API project package dependency definition stored in `Pams.API.csproj`. It declares the NuGet packages required to build and run the API service within the Pams system.

## Diagram

```mermaid
sequenceDiagram
    participant Client
    participant OfficeApi
    participant NuGet

    Client->>OfficeApi: Build or restore project
    OfficeApi->>NuGet: Resolve declared package dependencies
    NuGet-->>OfficeApi: Provide package assets
    OfficeApi-->>Client: Build API project
```

## Usage

```ts
import { execFileSync } from "node:child_process";

// Restore NuGet dependencies declared by Pams.API.csproj.
execFileSync("dotnet", ["restore", "Pams/API/Pams.API/Pams.API.csproj"], {
  stdio: "inherit",
});

// Build the API project after package restore.
execFileSync("dotnet", ["build", "Pams/API/Pams.API/Pams.API.csproj"], {
  stdio: "inherit",
});
```

## AI Coding Instructions

- Add or update package references in `Pams/API/Pams.API/Pams.API.csproj`.
- Run `dotnet restore` after changing NuGet package dependencies.
- Keep package versions compatible with the target framework configured by the project file.
- Avoid editing restored package assets directly; update the project dependency declaration instead.

## 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.

### Injected or called by (1)

- `Pams.API` — `Pams/API/Pams.API/Pams.API.csproj`:1
