Documentation

Documents

Document types, employee documents, and uploads.

Requires scope: documents

Upload accepts contentBase64 + fileName (and optional mimeType).

Endpoints

GET/api/v1/integrations/document-typesBearer auth

List required document types

Example response
{
  "success": true,
  "status": 200,
  "data": {
    "documentTypes": [
      {
        "id": "665f1a2b3c4d5e6f7a8b9d01",
        "name": "Aadhaar",
        "type": "id_proof",
        "category": "personal",
        "isRequired": true,
        "status": "active"
      }
    ],
    "pagination": { "page": 1, "limit": 50, "total": 1, "pages": 1 }
  }
}
GET/api/v1/integrations/documentsBearer auth

List documents

  • Query: employeeId, status, category, type, page, limit
Example response
{
  "success": true,
  "status": 200,
  "data": {
    "documents": [
      {
        "id": "665f1a2b3c4d5e6f7a8b9d11",
        "employeeId": "665f1a2b3c4d5e6f7a8b9c55",
        "name": "Aadhaar",
        "type": "id_proof",
        "category": "personal",
        "status": "uploaded",
        "uploadedAt": "2026-11-10T10:00:00.000Z"
      }
    ],
    "pagination": { "page": 1, "limit": 50, "total": 1, "pages": 1 }
  }
}
POST/api/v1/integrations/documentsBearer auth

Upload a document for an employee

Request body
{
  "employeeId": "<employeeId>",
  "name": "Aadhaar",
  "category": "personal",
  "type": "id_proof",
  "fileName": "aadhaar.pdf",
  "mimeType": "application/pdf",
  "contentBase64": "<base64>"
}
Example response
{
  "success": true,
  "status": 201,
  "message": "Document uploaded",
  "data": {
    "document": {
      "id": "665f1a2b3c4d5e6f7a8b9d11",
      "employeeId": "665f1a2b3c4d5e6f7a8b9c55",
      "name": "Aadhaar",
      "status": "uploaded"
    }
  }
}