---
title: SAIF.Web.API.Core dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: andmil
last_reviewed: 2026-09-15
library: SAIF.Web.API.Core
reference_type: package
---

# SAIF.Web.API.Core dependencies

SAIF.Web.API.Core has no in-repo project dependencies of its own; it references one internal organizational NuGet package (`SAIF.Framework.Common`) and two external BCL compatibility packages, is consumed one-directionally by `SAIF.Web.API.Clients` via a same-repo `<ProjectReference>`, and is bundled into the `Clients` NuGet package rather than being packaged or versioned independently.

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| SAIF.Framework.Common | NuGet Package | Supplies the `SAIF.Common` and `SAIF.Common.Extensions` namespaces used in `SAIFException.cs`* — the `ValidationFailure` type carried by `InvalidDataException` and the `ToStringAll(";")` extension method used to join validation-failure messages ([BR-CORE-001](business-rules.md#br-core-001-invaliddataexception-validation-failure-projection)). This package has no matching same-repo documentation set in this repository, so it is classified as an internal-organization NuGet package. No dependency-documentation lookup was performed for this package, so any of its own business rules are not reflected here**. |

## External dependencies

| Dependency | Version | Usage |
| --- | --- | --- |
| System.Net.Primitives | 4.3.1 | Supplies `System.Net.HttpStatusCode`, used in `ApiResponse<T>.StatusCode` and `SAIFException.HttpStatusCode` ([BR-CORE-002](business-rules.md#br-core-002-httpstatuscode-carried-by-every-saifexception-subtype)). |
| System.Runtime.Serialization.Primitives | 4.3.0 | Supplies `System.Runtime.Serialization.DataContractAttribute`/`DataMemberAttribute`/`SerializationInfo`/`StreamingContext`, used in `ErrorResponse` (`[DataContract]`/`[DataMember]`) and `SAIFException`'s serialization constructor. |

## Dependency risks and notes
- **No `<ProjectReference>` elements exist in this project.** All internal-dependency risk in this library is inbound rather than outbound: [SAIF.Web.API.Clients](../saif-web-api-clients/overview.md) is the sole in-repo consumer (one-directional, via `<ProjectReference>`), and this library has no reverse dependency back on `Clients`.
- **Origin of `SAIF.Common` / `SAIF.Common.Extensions` is unconfirmed.** `SAIFException.cs` uses `using SAIF.Common;` and `using SAIF.Common.Extensions;`, but no `<PackageReference>` literally named `SAIF.Common` exists. `SAIF.Framework.Common` is presumed to be the source*: the project declares only three package references, the other two are BCL compatibility packages, and neither `SAIF.Common` nor `SAIF.Common.Extensions` exists as a package in the internal SAIFNuget feed. This was still not independently verified by inspecting that package's contents**, and the package is not present in the Legends CLI documentation index, so no dependency-documentation lookup was available to confirm it**. The shape of `ValidationFailure` (beyond its `ErrorMessage` member, used via projection) is likewise unconfirmed**.
- **No independent package/nuspec identity.** `SAIF.Web.API.Core` is not packaged under its own `AppName` and has no nuspec file of its own; it is bundled into the `SAIF.Web.API.Clients` NuGet package via `IncludeReferencedProjects=true` (`pipelines/build-vars-webapiclients.yml`), and the resolved nuspec (`nuspec/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspec`) explicitly stages `SAIF.Web.API.Core.dll`/`.pdb` into `lib\net45` alongside the `Clients` assembly. Any dependency-version change to this library ships only as part of a `Clients` release.
- **`SAIF.Framework.Common` version discrepancy.** The resolved nuspec for the bundling `Clients` package pins `SAIF.Framework.Common` as a dependency at version `1.0`, while this project's own `.csproj` references version `2.0.22074.3` — a mismatch that was not resolved in analysis and may reflect a stale/unmaintained nuspec dependency pin.
- **`BuildInfo` and `ErrorResponse` have no confirmed in-repo consumers.** No caller of `BuildInfo.GetBuildInfo` or any constructor of `ErrorResponse` was found within this project or within `SAIF.Web.API.Clients`'s scanned source; these types may be used by downstream applications outside this repository's scope, or may be vestigial*.
- **`SAIF.API.Exceptions.UnauthorizedAccessException` name collision.** This type shadows `System.UnauthorizedAccessException`; it compiles as its own namespaced type, but any consumer must fully qualify or alias to disambiguate from the BCL exception of the same short name — a risk for future maintainers, not a current defect.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with `**` could not be confirmed; treat as unknown until verified.

## Sources
- `src/SAIF.Web.API.Core/SAIF.Web.API.Core.csproj`
- `src/SAIF.Web.API.Core/ApiResponse.cs`
- `src/SAIF.Web.API.Core/BuildInfo.cs`
- `src/SAIF.Web.API.Core/ErrorResponse.cs`
- `src/SAIF.Web.API.Core/SAIFException.cs`
- `src/SAIF.Web.API.Clients/SAIF.Web.API.Clients.csproj`
- `pipelines/build-vars-webapiclients.yml`
- `pipelines/build-webapiclients.yml`
- `nuspec/SAIF.Web.API.Clients/SAIF.Web.API.Clients.nuspec`
- `src/nuget.config`
- `legends nuget exists SAIF.Framework.Common` (SAIFNuget feed — `exists: true`, `latestVersion: 2.0.22074.3`; verified 2026-09-17)
- `legends list libraries` (Legends CLI index — `SAIF.Framework.Common` not indexed; verified 2026-09-17)
