← Back to guidesGUIDE · QUICKSTART

Make your first API call

Quickstart5 minBeginner

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.

What you need

  • An Alga PSA instance and an API key created from Profile → API Keys.
  • Your base URL, for example https://algapsa.com or your self-hosted domain.
  • A shell, Postman, or any HTTP client that can send the X-API-Key header.

Start with simple read endpoints

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.

GET/api/v1/boardsList boards available to the current API key.
GET/api/v1/ticketsList tickets with page and limit query parameters.

Example: list boards

This request is small, safe, and useful later because board IDs are needed when you create tickets.

curl
curl -X GET "https://algapsa.com/api/v1/boards" \
  -H "X-API-Key: $ALGA_API_KEY"

Example: list one page of tickets

Most list endpoints use page and limit. The response includes a data array plus a pagination object.

curl
curl -X GET "https://algapsa.com/api/v1/tickets?page=1&limit=10" \
  -H "X-API-Key: $ALGA_API_KEY"
TypeScript
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);

Common response shape

response.json
{
  "data": [
    {
      "ticket_id": "...",
      "ticket_number": "T-1001",
      "title": "Printer offline"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "total": 42,
    "totalPages": 5,
    "hasNext": true,
    "hasPrev": false
  }
}

What to do next

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.