RESTful API • TypeScript • OpenAPI 3.0

Developer-First API Experience

Built from the ground up to be intuitive, well-documented, and powerful. Every endpoint designed with modern development practices in mind.

Why Developers Love Our API

Modern, intuitive, and built for speed

Type-Safe

Built with TypeScript from the ground up. Full type definitions, auto-completion, and compile-time validation.

OpenAPI 3.0

Complete OpenAPI specification with interactive documentation. Generate client SDKs in any language automatically.

Fast & Reliable

Built on modern NestJS framework with automatic caching, rate limiting, and 99.9% uptime SLA.

Get Started in Minutes

Simple authentication, clear endpoints, comprehensive examples

1. Authenticate

POSTapplication/json
// Login to get your access token
fetch('https://api.peopletide.com/auth/login', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: 'user@company.com',
    password: 'your-password'
  })
})
.then(response => response.json())
.then(data => {
  // Store the token for future requests
  const token = data.access_token;
  localStorage.setItem('token', token);
});

2. Make API Calls

GETBearer Token
// Get employee data
fetch('https://api.peopletide.com/employees/me', {
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  }
})
.then(response => response.json())
.then(employee => {
  console.log('Employee:', employee);
  // {
  //   id: "uuid",
  //   employeeId: "EMP001",
  //   position: "Software Engineer",
  //   department: { name: "Engineering" }
  // }
});

Real-World Examples

See how easy it is to integrate common HR workflows

Employee Management

Create, update, and manage employee records with comprehensive data validation and role-based permissions.

Automatic validation and error handling
Role-based access control (ADMIN, HR, MANAGER, EMPLOYEE)
Pagination and filtering built-in
POST /api/employeesHR/Admin Required
{
  "userId": "user-uuid",
  "employeeId": "EMP001",
  "position": "Software Engineer",
  "hireDate": "2024-01-15",
  "departmentId": "dept-uuid",
  "managerId": "manager-uuid",
  "phone": "+1234567890",
  "address": "123 Main St, City, State",
  "salary": 75000,
  "status": "ACTIVE"
}

// Response
{
  "data": {
    "id": "emp-uuid",
    "employeeId": "EMP001",
    "user": {
      "firstName": "John",
      "lastName": "Doe",
      "email": "john@company.com"
    },
    "department": {
      "name": "Engineering"
    },
    "manager": {
      "name": "Jane Smith"
    }
  }
}
POST /api/attendance/clock-inEmployee+
// Office Check-in
{
  "locationId": "office-uuid",
  "notes": "Starting daily standup"
}

// Remote Check-in with GPS
{
  "checkInLocation": {
    "latitude": 40.7128,
    "longitude": -74.0060,
    "accuracy": 10.0,
    "address": "New York, NY"
  },
  "checkInPhotoUrl": "https://storage.com/photo.jpg",
  "deviceInfo": {
    "type": "mobile",
    "model": "iPhone 14",
    "os": "iOS 16.0"
  }
}

// Response
{
  "data": {
    "id": "attendance-uuid",
    "clockIn": "2024-01-15T09:00:00Z",
    "location": "New York Office",
    "status": "PRESENT"
  }
}

Attendance Tracking

Flexible clock-in/out system supporting office locations, remote work, and GPS verification with photo capture.

Office and remote attendance support
GPS verification and photo capture
Automatic overtime calculation

Leave Management

Comprehensive leave request system with automatic policy validation, approval workflows, and balance tracking.

Multiple leave types and policies
Automated approval workflows
Real-time balance calculations
POST /api/leave/requestEmployee+
{
  "leaveType": "VACATION",
  "startDate": "2024-02-15",
  "endDate": "2024-02-19",
  "reason": "Family vacation",
  "isHalfDay": false,
  "appliedDays": 5
}

// Response
{
  "data": {
    "id": "leave-uuid",
    "status": "PENDING",
    "appliedDays": 5,
    "approver": {
      "name": "Jane Smith",
      "email": "jane@company.com"
    },
    "remainingBalance": {
      "vacation": 15,
      "sick": 10,
      "personal": 3
    }
  }
}

// Get Leave Balance
GET /api/leave/balance
{
  "data": {
    "vacation": { "allocated": 20, "used": 5, "remaining": 15 },
    "sick": { "allocated": 12, "used": 2, "remaining": 10 },
    "personal": { "allocated": 5, "used": 2, "remaining": 3 }
  }
}

Enterprise-Ready Features

Production-ready from day one

JWT Authentication

Secure token-based authentication with refresh tokens and role-based access control.

Rate Limiting

Built-in rate limiting and request throttling to protect against abuse and ensure fair usage.

Data Validation

Comprehensive input validation with detailed error messages and type safety throughout.

Analytics Ready

Built-in analytics endpoints and comprehensive reporting for workforce insights.

Developer Resources

Everything you need to integrate successfully

Interactive Documentation

Complete OpenAPI 3.0 documentation with interactive testing. Try every endpoint directly in your browser.

Explore Docs →

Postman Collection

Ready-to-use Postman collection with all endpoints, example requests, and automated test scripts.

Download Collection →

TypeScript SDK

Type-safe TypeScript SDK with full IntelliSense support. Install with npm and start coding immediately.

Get SDK →

Ready to Start Building?

Get your API credentials and start integrating with PeopleTide in under 5 minutes.