My App

Classes

Class/Cost Center management API endpoints

Classes API

Manage classes in your organization.

Base Path

/api/classes

Endpoints

List Classes

List all classes in your organization.

GET /api/classes

Query Parameters:

ParameterTypeRequiredDescription
includeInactivebooleanNoInclude inactive records in the results

Example Request:

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.glapi.io/api/classes

Example Response:

[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "organizationId": "org_123",
    "status": "active",
    "createdAt": "2025-01-15T10:30:00Z",
    "updatedAt": "2025-01-15T10:30:00Z"
  }
]

Get Classe

Retrieve a specific classe by ID.

GET /api/classes/{id}

Path Parameters:

ParameterTypeRequiredDescription
idUUIDYesClasse ID

Example Request:

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.glapi.io/api/classes/123e4567-e89b-12d3-a456-426614174000

Error Responses:

  • 404 Not Found - Classe not found

Create Classe

Create a new classe.

POST /api/classes

Request Body:

{
  "status": "active"
}

Example Request:

curl -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "active"}' \
  https://api.glapi.io/api/classes

Update Classe

Update an existing classe.

PUT /api/classes/{id}

Path Parameters:

ParameterTypeRequiredDescription
idUUIDYesClasse ID

Request Body:

Provide only the fields you want to update. All fields are optional.

{
  "status": "inactive"
}

Example Request:

curl -X PUT \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "inactive"}' \
  https://api.glapi.io/api/classes/123e4567-e89b-12d3-a456-426614174000

Error Responses:

  • 404 Not Found - Classe not found

Delete Classe

Delete a classe.

DELETE /api/classes/{id}

Path Parameters:

ParameterTypeRequiredDescription
idUUIDYesClasse ID

Example Request:

curl -X DELETE \
  -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.glapi.io/api/classes/123e4567-e89b-12d3-a456-426614174000

Example Response:

{
  "success": true
}

Error Responses:

  • 404 Not Found - Classe not found

Code Examples

TypeScript

import { createTRPCClient, httpBatchLink } from '@trpc/client';
import type { AppRouter } from '@glapi/trpc';

const client = createTRPCClient<AppRouter>({
  links: [
    httpBatchLink({
      url: 'https://api.glapi.io/api/trpc',
      headers: () => ({
        Authorization: `Bearer ${process.env.GLAPI_TOKEN}`,
      }),
    }),
  ],
});

// List classes
const items = await client.classes.list.query();

// Get classe
const item = await client.classes.get.query({
  id: '123e4567-e89b-12d3-a456-426614174000'
});

// Create classe
const newItem = await client.classes.create.mutate({
  status: 'active',
});

// Update classe
const updated = await client.classes.update.mutate({
  id: '123e4567-e89b-12d3-a456-426614174000',
  data: {
    status: 'inactive',
  },
});

// Delete classe
await client.classes.delete.mutate({
  id: '123e4567-e89b-12d3-a456-426614174000'
});

Python

import requests
import os

API_BASE = 'https://api.glapi.io/api'
TOKEN = os.environ.get('GLAPI_TOKEN')
HEADERS = {
    'Authorization': f'Bearer {TOKEN}',
    'Content-Type': 'application/json',
}

# List classes
response = requests.get(f'{API_BASE}/classes', headers=HEADERS)
items = response.json()

# Get classe
response = requests.get(
    f'{API_BASE}/classes/123e4567-e89b-12d3-a456-426614174000',
    headers=HEADERS
)
item = response.json()

# Create classe
response = requests.post(
    f'{API_BASE}/classes',
    headers=HEADERS,
    json={'status': 'active'}
)
new_item = response.json()

# Update classe
response = requests.put(
    f'{API_BASE}/classes/123e4567-e89b-12d3-a456-426614174000',
    headers=HEADERS,
    json={'status': 'inactive'}
)
updated = response.json()

# Delete classe
response = requests.delete(
    f'{API_BASE}/classes/123e4567-e89b-12d3-a456-426614174000',
    headers=HEADERS
)