FR

API reference

Access the Paylood API, its Swagger documentation and main endpoints.

The Paylood API is a REST API built with NestJS. It is prefixed with /api/v1.

Base URL

https://<your-instance>/api/v1

Interactive documentation (Swagger)

The OpenAPI documentation is available at:

https://<your-instance>/api/docs

Warning

Swagger is only enabled in non-production environments by default, for security reasons. In production it may be disabled.

Authentication

The API uses JWT Bearer tokens:

Authorization: Bearer <your-token>

Get a token through the login endpoint:

curl -X POST https://app.paylood.com/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"password"}'

The response contains accessToken and the user profile.

Main endpoints

Auth

MethodEndpointDescription
POST/auth/registerCreate an account
POST/auth/loginSign in
POST/auth/verify-otpValidate the OTP code
POST/auth/forgot-passwordRequest a reset link
POST/auth/reset-passwordReset the password

Git Providers

MethodEndpointDescription
POST/git-provider/save-tokenSave a Git token
GET/git-providersList connected accounts
GET/git-providers/repositoriesSearch repositories
GET/git-providers/:providerId/repos/:repo/branchesRepository branches
DELETE/git-providers/:idDisconnect an account

Projects & Environments

MethodEndpointDescription
POST/projectsCreate a project
GET/projectsList projects
GET/projects/:idProject details
PUT/projects/:idUpdate a project
DELETE/projects/:idDelete a project
GET/projects/analyze-repoAnalyze a repository
POST/projects/:id/finalizeFinalize (optionally deploy)
POST/projects/:id/retry-analysisRerun the analysis

Environments

MethodEndpointDescription
POST/environmentsCreate an environment
PATCH/environments/:idUpdate an environment
PATCH/environments/:id/branchChange the branch
PATCH/environments/:id/serverLink a server
DELETE/environments/:idDelete an environment
PATCH/environments/:id/auto-deployToggle auto-deploy
POST/environments/:id/servicesConfigure services
POST/environments/:id/domainConfigure domain + SSL
POST/environments/:id/variablesAdd variables
GET/environments/:id/deploymentsDeployment history
POST/environments/:id/deployments/:did/cancelCancel a deployment

Servers

MethodEndpointDescription
POST/serversAdd a server
GET/serversList servers
GET/servers/:id/securitySecurity state
POST/servers/:id/security/hardenHarden the server
DELETE/servers/:idDelete a server

Domains

MethodEndpointDescription
POST/domainsRegister a domain
GET/domainsList domains
POST/domains/:id/verifyVerify a domain
DELETE/domains/:idDelete a domain

Backups

MethodEndpointDescription
GET/environments/:id/backupsList backups
POST/environments/:id/backups/triggerTrigger a backup
POST/environments/:id/backups/:bid/restoreRestore
POST/environments/:id/backups/importImport a SQL file
PATCH/environments/:id/backups/configConfigure scheduling

Notifications

MethodEndpointDescription
GET/notification-connectorsList connectors
POST/notification-connectorsCreate a connector
POST/notification-connectors/:id/testTest a connector
PUT/notification-connectors/project/:projectIdLink to a project
DELETE/notification-connectors/:idDelete a connector

Real-time streams (SSE)

Some endpoints stream events via Server-Sent Events:

  • GET /events — global events (project_updated).
  • GET /environments/:id/deployments/:did/status — deployment status.
  • GET /projects/:id/analysis-status — analysis status.
  • POST /servers/test-connection — SSH connection test.
const sse = new EventSource('/api/v1/events');
sse.onmessage = (e) => console.log(e.data);

Rate limits

The API is protected by a throttler. Requests over the limit return 429.

The list above is an overview. The exhaustive reference (schemas, parameters, models) is in Swagger at /api/docs.

Last updated: 2026-08-14 Edit this page