API client

School21Net

Typed .NET client for the School 21 API

School21Net version on NuGetSchool21Net downloads on NuGetMITC#
net8.0net10.0

Features

  • Participants, projects, campuses and coalitions
  • Per-project filter: finished / awaiting review
  • Integrator-owned auth (ROPC + refresh)
  • No third-party dependencies
  • Layered protocol / transport exceptions

Installation

bash
dotnet add package School21Net

Quick start

csharp
using School21Net;
using School21Net.Authentication;

var http = new HttpClient();

// 1) Authenticate on your side — the SDK never stores your credentials.
var auth = new School21AuthClient(http);
var token = await auth.AuthenticateAsync("your-login", "your-password", ct);

var client = new School21Client(http, new School21ClientOptions(),
    new StaticAccessTokenProvider(token.AccessToken));

// Who finished a project — and who is waiting for a reviewer on it?
var finishers = await client.Projects.GetParticipantsAsync(73465, ParticipantProjectStatus.Accepted);
var awaiting  = await client.Projects.GetParticipantsAsync(73465, ParticipantProjectStatus.InReviews);

Key methods

Projects.GetParticipantsAsyncProject participants by status
Participants.GetAsyncA participant’s profile
Participants.GetProjectsAsyncA participant’s projects
AuthenticateAsyncObtain a token (ROPC)
READMEgithub.com/ai-iskuzhin/School21Net
Loading README from the repository…