Welcome to CATAPA API Documentation

This site contains the technical resources required to build integrations with the CATAPA HRIS platform.

Quick Start!

Copy code below and see it in action!

uv add catapa
from catapa import Catapa

client = Catapa(tenant="zfrl", client_id="demo", client_secret="demo-secret")
employees = client.core.employees.list(page=0, size=10)

print(f"Found {len(employees.content)} employees")

You should see something like this as a response

{
  "content": [ ... ],
  "totalPages": 3,
  "totalElements": 21,
  "numberOfElements": 10,
  "size": 10,
  "number": 0,
  "first": true,
  "last": false
}

If you see that response in your terminal, you have successfully

  • Exchanged your credentials for a Bearer Token.

  • Passed that token through the Authorization Header.

  • Retrieved live data from the Catapa Core API.

Congratulations 🎉

Who is this documentation for?

You are in the right place if you are a software engineer building a third-party integration.

If you're here to learn about the product, then go to CATAPA HRIS

Our Integration Options

To access CATAPA's resources, you have two integration options.

Python SDK

circle-exclamation

Our Python SDK is the fastest way to integrate with CATAPA. If your tech stack is already using python, you might consider using this Python SDK as you get native Type Safety and Automated Authentication.

Our SDK is an exact mirror of our Public API—if an endpoint exists in our documentation, a corresponding method exists in the SDK. Check full documentation here.

REST API

Standard JSON over HTTPS. Use this for lightweight integrations or if you prefer full control over your HTTP client.

Protocol & Format

  • RESTful Design: We utilize standard HTTP methods: GET for retrieval, POST for creation, PUT for updates, and DELETE for removal.

  • Data Exchange: All request and response bodies use the JSON format.


Last updated