This guide shows the shortest useful path into the Alga PSA API. You will send an API key, call a simple read endpoint, and learn the basic response envelope used across the REST API.
Profile → API Keys.https://algapsa.com or your self-hosted domain.X-API-Key header.For a first request, it is easier to begin with a read-only endpoint than to jump straight into a create flow. Boards and ticket lists are good starting points because they immediately show authentication, pagination, and the response envelope.
This request is small, safe, and useful later because board IDs are needed when you create tickets.
curl -X GET "https://algapsa.com/api/v1/boards" \
-H "X-API-Key: $ALGA_API_KEY"Most list endpoints use page and limit. The response includes a data array plus a pagination object.
curl -X GET "https://algapsa.com/api/v1/tickets?page=1&limit=10" \
-H "X-API-Key: $ALGA_API_KEY"const response = await fetch('https://algapsa.com/api/v1/tickets?page=1&limit=10', {
headers: {
'X-API-Key': process.env.ALGA_API_KEY!,
},
});
const payload = await response.json();
if (!response.ok) {
throw new Error(payload.error?.message ?? 'Request failed');
}
console.log(payload.data);
console.log(payload.pagination);{
"data": [
{
"ticket_id": "...",
"ticket_number": "T-1001",
"title": "Printer offline"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 42,
"totalPages": 5,
"hasNext": true,
"hasPrev": false
}
}Once you can authenticate and read data, the next useful step is usually to create a ticket. That means looking up a board, a board-scoped ticket status, a priority, and a client before calling POST /api/v1/tickets.
If you want that flow, start with the guide Create a ticket with the REST API.