Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ShohjahonSohibov/repo-for-agent/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you through the minimum steps to get a running UpdaterAgent API on your machine and make a real authenticated request. By the end you will have the API running locally, a JWT access token, and a confirmed response from a protected endpoint.
1

Install prerequisites

Before cloning, verify the following tools are installed:
  • .NET 8 SDK — the backend runtime. Run dotnet --version to confirm you see 8.0.x or later.
  • PostgreSQL 16 — the primary database. Run psql --version to confirm.
  • Git — for cloning the repository.
The EF Core CLI tool is also required for database migrations. Install it globally if you have not already:
dotnet tool install --global dotnet-ef
2

Clone the repository and restore packages

Clone the repository and switch to the development branch, then restore all NuGet packages.
git clone https://github.com/Abstract-IT-Group/updater-agent.git
cd updater-agent
git checkout dev
dotnet restore UpdaterAgent.sln
The solution contains four source projects under src/ and two test projects under tests/. Package restore covers all of them.
3

Create the database and apply migrations

First, create the PostgreSQL database. Connect to your PostgreSQL instance and run:
CREATE DATABASE dev_updater_agentdb;
Then open src/UpdaterAgent.Api/appsettings.Development.json and confirm the connection string matches your local PostgreSQL credentials:
{
  "ConnectionStrings": {
    "DefaultConnectionString": "Host=localhost;Database=dev_updater_agentdb;Username=postgres;Password=123456;Pooling=true;"
  }
}
Apply all EF Core migrations to create the full database schema:
dotnet ef database update --project src/UpdaterAgent.Infrastructure --startup-project src/UpdaterAgent.Api
A successful run ends with Done. after listing the applied migrations.
If you used a password other than 123456, update the Password field in appsettings.Development.json before running the migration command.
4

Run the API

Start the API server from the solution root:
cd src/UpdaterAgent.Api && dotnet run
The server starts on two ports:
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Open https://localhost:5001/swagger in your browser to see the interactive API documentation listing all 200+ endpoints across 41 controllers.

Make your first API call

With the server running, exchange credentials for a JWT token.

Step 1 — Authenticate

curl -X POST https://localhost:5001/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "admin@test.com",
    "password": "Admin@123"
  }'
A successful response returns an access token and a refresh token:
{
  "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "refreshToken": "abc123...",
  "expiresIn": 3600
}

Step 2 — Call a protected endpoint

Use the accessToken value as a Bearer token in the Authorization header:
curl -X GET https://localhost:5001/api/users/me \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Using Swagger instead

  1. Navigate to https://localhost:5001/swagger.
  2. Click the Authorize button at the top right.
  3. Enter Bearer <your_accessToken> and click Authorize.
  4. Close the dialog and use any endpoint interactively.
The Hangfire dashboard for monitoring background job execution is available at https://localhost:5001/hangfire. Admin role required.

Next steps

Full local setup

Detailed instructions for configuring external integrations, seeding data, and setting up your IDE.

Architecture overview

Understand the four-layer Clean Architecture and how the dependency flow is enforced.

Load management

Learn how loads move through the full lifecycle and how to create and assign them via the API.

API reference

Full endpoint reference with schemas, parameters, and response examples.

Build docs developers (and LLMs) love