{
  "info": {
    "name": "Sesame HR Public API",
    "description": "The Sesame Public API (v3) for the Sesame HR platform - employees, time tracking (check-in / check-out), work hours, absences and leave, departments and org, and scheduling. Base URL is region-specific (https://api-{region}.sesametime.com, default eu1) with every path prefixed by /core/v3. All requests require a Bearer API token generated in the Sesame admin panel (Settings > Integrations > API at app.sesametime.com). Docs: https://apidocs.sesametime.com/introduction",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      { "key": "token", "value": "{{bearerToken}}", "type": "string" }
    ]
  },
  "variable": [
    { "key": "baseUrl", "value": "https://api-eu1.sesametime.com/core/v3", "type": "string" },
    { "key": "bearerToken", "value": "", "type": "string" }
  ],
  "item": [
    {
      "name": "Meta",
      "item": [
        {
          "name": "Show token info",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/info", "host": ["{{baseUrl}}"], "path": ["info"] },
            "description": "Returns metadata about the authenticated API token and its company."
          }
        }
      ]
    },
    {
      "name": "Employees",
      "item": [
        {
          "name": "List employees",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/employees", "host": ["{{baseUrl}}"], "path": ["employees"] },
            "description": "Lists employees for the company, with pagination and filtering."
          }
        },
        {
          "name": "Create employee",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"firstName\": \"\",\n  \"lastName\": \"\",\n  \"email\": \"\"\n}" },
            "url": { "raw": "{{baseUrl}}/employees", "host": ["{{baseUrl}}"], "path": ["employees"] },
            "description": "Creates a new employee record."
          }
        },
        {
          "name": "Get employee",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/employees/:id", "host": ["{{baseUrl}}"], "path": ["employees", ":id"], "variable": [{ "key": "id", "value": "" }] },
            "description": "Retrieves a single employee by ID."
          }
        },
        {
          "name": "Update employee",
          "request": {
            "method": "PATCH",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{}" },
            "url": { "raw": "{{baseUrl}}/employees/:id", "host": ["{{baseUrl}}"], "path": ["employees", ":id"], "variable": [{ "key": "id", "value": "" }] },
            "description": "Updates an existing employee record."
          }
        },
        {
          "name": "Delete employee",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": { "raw": "{{baseUrl}}/employees/:id", "host": ["{{baseUrl}}"], "path": ["employees", ":id"], "variable": [{ "key": "id", "value": "" }] },
            "description": "Deletes an employee record."
          }
        }
      ]
    },
    {
      "name": "Time Tracking",
      "item": [
        {
          "name": "Clock in",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"employeeId\": \"\"\n}" },
            "url": { "raw": "{{baseUrl}}/work-entries/clock-in", "host": ["{{baseUrl}}"], "path": ["work-entries", "clock-in"] },
            "description": "Registers a check-in (clock-in) for an employee, starting a work entry."
          }
        },
        {
          "name": "Clock out",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"employeeId\": \"\"\n}" },
            "url": { "raw": "{{baseUrl}}/work-entries/clock-out", "host": ["{{baseUrl}}"], "path": ["work-entries", "clock-out"] },
            "description": "Registers a check-out (clock-out) for an employee, closing the open work entry."
          }
        },
        {
          "name": "List work entries",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/work-entries?employeeId=&from=&to=",
              "host": ["{{baseUrl}}"],
              "path": ["work-entries"],
              "query": [
                { "key": "employeeId", "value": "" },
                { "key": "from", "value": "" },
                { "key": "to", "value": "" }
              ]
            },
            "description": "Lists work entries (time-clock records), filterable by employee and date range."
          }
        },
        {
          "name": "List worked hours by employee",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/employees/worked-hours?from=&to=",
              "host": ["{{baseUrl}}"],
              "path": ["employees", "worked-hours"],
              "query": [
                { "key": "from", "value": "" },
                { "key": "to", "value": "" }
              ]
            },
            "description": "Returns aggregated worked-hours totals per employee over a date range."
          }
        }
      ]
    },
    {
      "name": "Absences and Leave",
      "item": [
        {
          "name": "List vacation day-off requests",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/vacation-day-off-requests?status=",
              "host": ["{{baseUrl}}"],
              "path": ["vacation-day-off-requests"],
              "query": [{ "key": "status", "value": "" }]
            },
            "description": "Lists vacation day-off requests, filterable by employee and status."
          }
        },
        {
          "name": "Create vacation day-off request",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"employeeId\": \"\",\n  \"from\": \"\",\n  \"to\": \"\"\n}" },
            "url": { "raw": "{{baseUrl}}/vacation-day-off-requests", "host": ["{{baseUrl}}"], "path": ["vacation-day-off-requests"] },
            "description": "Creates a vacation day-off request for an employee."
          }
        },
        {
          "name": "Accept vacation day-off request",
          "request": {
            "method": "POST",
            "header": [],
            "url": { "raw": "{{baseUrl}}/vacation-day-off-requests/:id/accept", "host": ["{{baseUrl}}"], "path": ["vacation-day-off-requests", ":id", "accept"], "variable": [{ "key": "id", "value": "" }] },
            "description": "Approves a pending vacation day-off request."
          }
        },
        {
          "name": "Reject vacation day-off request",
          "request": {
            "method": "POST",
            "header": [],
            "url": { "raw": "{{baseUrl}}/vacation-day-off-requests/:id/reject", "host": ["{{baseUrl}}"], "path": ["vacation-day-off-requests", ":id", "reject"], "variable": [{ "key": "id", "value": "" }] },
            "description": "Rejects a pending vacation day-off request."
          }
        },
        {
          "name": "List holidays",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/holidays", "host": ["{{baseUrl}}"], "path": ["holidays"] },
            "description": "Lists holidays defined across the company's holiday calendars."
          }
        }
      ]
    },
    {
      "name": "Departments and Org",
      "item": [
        {
          "name": "List departments",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/departments", "host": ["{{baseUrl}}"], "path": ["departments"] },
            "description": "Lists the company's departments."
          }
        },
        {
          "name": "Create department",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"name\": \"\"\n}" },
            "url": { "raw": "{{baseUrl}}/departments", "host": ["{{baseUrl}}"], "path": ["departments"] },
            "description": "Creates a new department."
          }
        },
        {
          "name": "List offices",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/offices", "host": ["{{baseUrl}}"], "path": ["offices"] },
            "description": "Lists the company's offices (work centers)."
          }
        },
        {
          "name": "Get manager by employee",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/organization-chart/manager/:employeeId", "host": ["{{baseUrl}}"], "path": ["organization-chart", "manager", ":employeeId"], "variable": [{ "key": "employeeId", "value": "" }] },
            "description": "Returns the manager of a given employee in the organization chart."
          }
        }
      ]
    },
    {
      "name": "Scheduling",
      "item": [
        {
          "name": "List planners",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/planners", "host": ["{{baseUrl}}"], "path": ["planners"] },
            "description": "Lists the company's scheduling planners."
          }
        },
        {
          "name": "List shifts",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/shifts", "host": ["{{baseUrl}}"], "path": ["shifts"] },
            "description": "Lists the company's shift definitions."
          }
        },
        {
          "name": "Assign shifts to employees",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"assignments\": []\n}" },
            "url": { "raw": "{{baseUrl}}/planners/:id/shifts", "host": ["{{baseUrl}}"], "path": ["planners", ":id", "shifts"], "variable": [{ "key": "id", "value": "" }] },
            "description": "Assigns one or more shifts to employees within a planner."
          }
        },
        {
          "name": "List schedule templates",
          "request": {
            "method": "GET",
            "header": [],
            "url": { "raw": "{{baseUrl}}/schedule-templates", "host": ["{{baseUrl}}"], "path": ["schedule-templates"] },
            "description": "Lists reusable schedule templates."
          }
        }
      ]
    }
  ]
}
