> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.awardspring.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.awardspring.com/_mcp/server.

# SDKs

You can call the API directly over HTTP, but there are official client libraries for two languages. They handle authentication, retries, pagination and error types for you, so you write method calls instead of building requests.

Where an endpoint's example shows a **C#** tab, that code is this library.

| Language | Install                                        | Source                                                                  |
| -------- | ---------------------------------------------- | ----------------------------------------------------------------------- |
| .NET     | `dotnet add package AwardSpring.Net`           | [awardspring-dotnet](https://github.com/AwardSpring/awardspring-dotnet) |
| PHP      | `composer require awardspring/awardspring-php` | [awardspring-php](https://github.com/AwardSpring/awardspring-php)       |

Both are MIT licensed and generated from the same description this documentation is built from, so they gain new endpoints when the API does.

## Getting started

Create a client with your institution's secret key, then call an endpoint. The key is the same one described in [Authentication](/authentication) — the library sends it on every request.

```csharp
using AwardSpring.Net;

var client = new AwardspringApiClient("YOUR_KEY");
await client.DonorActivities.CreateAsync(new CreateDonorActivityV1Request { DonorId = 1 });
```

```php
use Awardspring\AwardspringClient;

$client = new AwardspringClient(apiKey: 'YOUR_KEY');
```

The two libraries do not name the client identically — `AwardspringApiClient` in .NET, `AwardspringClient` in PHP.

## Choosing a region

Each region is a separate deployment with its own data, and a key issued for one does not work against the other. Both libraries expose both regions and default to the United States.

```csharp
using AwardSpring.Net;

var client = new AwardspringApiClient(clientOptions: new ClientOptions
{
    BaseUrl = AwardspringApiEnvironment.Canada
});
```

```php
use Awardspring\AwardspringClient;
use Awardspring\Environments;

$client = new AwardspringClient(
    apiKey: 'YOUR_KEY',
    options: ['baseUrl' => Environments::Canada->value],
);
```

## Full method reference

Every endpoint, with its parameters and return type, is listed in each repository:

* [.NET reference](https://github.com/AwardSpring/awardspring-dotnet/blob/main/reference.md)
* [PHP reference](https://github.com/AwardSpring/awardspring-php/blob/main/reference.md)

## Versions and support

Both libraries are pre-1.0. Endpoints and types can change between minor versions while the API surface settles, so pin a version in your project rather than tracking the latest release.

These libraries are generated, which means a bug in one is usually a bug in the description behind it. Report problems through your usual AwardSpring support channel rather than as a pull request — a fix applied directly to a repository is overwritten the next time it is regenerated.