---
updatedAt: 2025-12-16T17:44:56.000Z
---

Fetch the complete documentation index at: https://apidocs.hibob.com/llms.txt. Use this file to discover all available pages before exploring further.

# Get Policy type details

Get details about a given policy type.<br /> <br /> **Permissions required**: Please refer to the main <a href="https://apidocs.hibob.com/reference/time-off#required-permissions">Time off API Required Permissions</a> page.<br /><br />

# OpenAPI definition

```json
{
  "openapi": "3.1.1",
  "info": {
    "title": "Time Off API",
    "description": "Use Public API to access Time off requests, policies, and balances in Bob",
    "license": {
      "name": "Proprietary",
      "url": "https://apidocs.hibob.com/docs/api-terms-of-use"
    },
    "contact": {
      "name": "Hi Bob, Inc."
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.hibob.com/v1",
      "description": "Production"
    },
    {
      "url": "https://api.sandbox.hibob.com/v1",
      "description": "Sandbox"
    }
  ],
  "x-readme": {
    "metrics-enabled": false
  },
  "tags": [
    {
      "name": "Time off policies",
      "description": "Operations for managing time off policies"
    },
    {
      "name": "Time off Webhooks",
      "description": "Webhook events for time off request-related operations"
    }
  ],
  "webhooks": {
    "timeoffRequestRequested": {
      "post": {
        "operationId": "post_webhook_timeoff-request-requested",
        "tags": [
          "Time off Webhooks"
        ],
        "summary": "Time off request requested",
        "description": "Triggered when submitting a time off request.\n\nUse the **getApi** URL in the payload to retrieve the full request details.\nWhen using the getApi URL immediately after this event, the status in the response will be **approved** if the request was auto-approved, or **pending** if it is awaiting approval.\n\nIn the right panel, open **Examples** and select **Payload Example** to see a real payload.\n",
        "parameters": [
          {
            "name": "bob-signature",
            "in": "header",
            "required": true,
            "description": "Base64-encoded signature sent with each webhook request. Use it to verify that the request came from Bob. To verify webhook authenticity, see <a href=\"https://apidocs.hibob.com/update/reference?isFramePreview=true#how-does-bob-calculate-the-signature\" target=\"_blank\">How does Bob calculate the signature</a>.",
            "schema": {
              "type": "string",
              "example": "EQScIBkAtTKFW0ictgt5zzOsqIc2+xGEsM88jOdLuW4CM/a3gLEfrKV+IC5IHx0xbirzLKPIfaZjCGwzuiyI8w=="
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeoffRequestRequestedEvent"
              },
              "example": {
                "companyId": 637323,
                "type": "timeoff.request.requested",
                "triggeredBy": "3419283646526259215",
                "triggeredAt": "2024-10-03T09:29:00.831502",
                "version": "v2",
                "data": {
                  "timeoffRequestId": 32832853,
                  "employeeId": "3373576791477190995",
                  "getApi": "https://api.hibob.com/v1/timeoff/employees/3373576791477190995/requests/32832853"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          },
          "400": {
            "description": "Invalid webhook payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "timeoffRequestApproved": {
      "post": {
        "operationId": "post_webhook_timeoff-request-approved",
        "tags": [
          "Time off Webhooks"
        ],
        "summary": "Time off request approved",
        "description": "Triggered when approving a time off request.\n\nFor auto-approved requests, two events are sent in sequence: **requested** then **approved**.\n\nIn the right panel, open **Examples** and select **Payload Example** to see a real payload.\n",
        "parameters": [
          {
            "name": "bob-signature",
            "in": "header",
            "required": true,
            "description": "Base64-encoded signature sent with each webhook request. Use it to verify that the request came from Bob. To verify webhook authenticity, see <a href=\"https://apidocs.hibob.com/update/reference?isFramePreview=true#how-does-bob-calculate-the-signature\" target=\"_blank\">How does Bob calculate the signature</a>.",
            "schema": {
              "type": "string",
              "example": "EQScIBkAtTKFW0ictgt5zzOsqIc2+xGEsM88jOdLuW4CM/a3gLEfrKV+IC5IHx0xbirzLKPIfaZjCGwzuiyI8w=="
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeoffRequestApprovedEvent"
              },
              "example": {
                "companyId": 637323,
                "type": "timeoff.request.approved",
                "triggeredBy": "3419283646526259215",
                "triggeredAt": "2024-10-03T09:29:00.831502",
                "version": "v2",
                "data": {
                  "timeoffRequestId": 32832853,
                  "employeeId": "3373576791477190995",
                  "getApi": "https://api.hibob.com/v1/timeoff/employees/3373576791477190995/requests/32832853"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          },
          "400": {
            "description": "Invalid webhook payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "timeoffRequestDeclined": {
      "post": {
        "operationId": "post_webhook_timeoff-request-declined",
        "tags": [
          "Time off Webhooks"
        ],
        "summary": "Time off request declined",
        "description": "Triggered when declining a time off request.\n\nWhen using the **getApi** URL to retrieve details of a declined request, the status in the response will be **disapproved** (not \"declined\").\n\nIn the right panel, open **Examples** and select **Payload Example** to see a real payload.\n",
        "parameters": [
          {
            "name": "bob-signature",
            "in": "header",
            "required": true,
            "description": "Base64-encoded signature sent with each webhook request. Use it to verify that the request came from Bob. To verify webhook authenticity, see <a href=\"https://apidocs.hibob.com/update/reference?isFramePreview=true#how-does-bob-calculate-the-signature\" target=\"_blank\">How does Bob calculate the signature</a>.",
            "schema": {
              "type": "string",
              "example": "EQScIBkAtTKFW0ictgt5zzOsqIc2+xGEsM88jOdLuW4CM/a3gLEfrKV+IC5IHx0xbirzLKPIfaZjCGwzuiyI8w=="
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeoffRequestDeclinedEvent"
              },
              "example": {
                "companyId": 637323,
                "type": "timeoff.request.declined",
                "triggeredBy": "3419283646526259215",
                "triggeredAt": "2024-10-03T09:29:00.831502",
                "version": "v2",
                "data": {
                  "timeoffRequestId": 32832969,
                  "employeeId": "3332883884017713938",
                  "getApi": "https://api.hibob.com/v1/timeoff/employees/3332883884017713938/requests/32832969"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          },
          "400": {
            "description": "Invalid webhook payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "timeoffRequestCancelled": {
      "post": {
        "operationId": "post_webhook_timeoff-request-cancelled",
        "tags": [
          "Time off Webhooks"
        ],
        "summary": "Time off request cancelled",
        "description": "Triggered when cancelling a time off request.\n\nIn the right panel, open **Examples** and select **Payload Example** to see a real payload.\n",
        "parameters": [
          {
            "name": "bob-signature",
            "in": "header",
            "required": true,
            "description": "Base64-encoded signature sent with each webhook request. Use it to verify that the request came from Bob. To verify webhook authenticity, see <a href=\"https://apidocs.hibob.com/update/reference?isFramePreview=true#how-does-bob-calculate-the-signature\" target=\"_blank\">How does Bob calculate the signature</a>.",
            "schema": {
              "type": "string",
              "example": "EQScIBkAtTKFW0ictgt5zzOsqIc2+xGEsM88jOdLuW4CM/a3gLEfrKV+IC5IHx0xbirzLKPIfaZjCGwzuiyI8w=="
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeoffRequestCancelledEvent"
              },
              "example": {
                "companyId": 636192,
                "type": "timeoff.request.cancelled",
                "triggeredBy": "3332883804594373380",
                "triggeredAt": "2025-01-02T11:08:26.022782",
                "version": "v2",
                "data": {
                  "timeoffRequestId": 32809865,
                  "employeeId": "3332883804594373380",
                  "getApi": "https://api.hibob.com/v1/timeoff/employees/3332883804594373380/requests/32809865",
                  "originalRequestId": null
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          },
          "400": {
            "description": "Invalid webhook payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "timeoffRequestDeleted": {
      "post": {
        "operationId": "post_webhook_timeoff-request-deleted",
        "tags": [
          "Time off Webhooks"
        ],
        "summary": "Time off request deleted",
        "description": "Triggered when deleting a time off request.\n\nIn the right panel, open **Examples** and select **Payload Example** to see a real payload.\n",
        "parameters": [
          {
            "name": "bob-signature",
            "in": "header",
            "required": true,
            "description": "Base64-encoded signature sent with each webhook request. Use it to verify that the request came from Bob. To verify webhook authenticity, see <a href=\"https://apidocs.hibob.com/update/reference?isFramePreview=true#how-does-bob-calculate-the-signature\" target=\"_blank\">How does Bob calculate the signature</a>.",
            "schema": {
              "type": "string",
              "example": "EQScIBkAtTKFW0ictgt5zzOsqIc2+xGEsM88jOdLuW4CM/a3gLEfrKV+IC5IHx0xbirzLKPIfaZjCGwzuiyI8w=="
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeoffRequestDeletedEvent"
              },
              "example": {
                "companyId": 636192,
                "type": "timeoff.request.deleted",
                "triggeredBy": "3332883804594373380",
                "triggeredAt": "2025-01-02T11:08:26.022782",
                "version": "v2",
                "data": {
                  "timeoffRequestId": 32809865,
                  "employeeId": "3332883804594373380",
                  "getApi": "https://api.hibob.com/v1/timeoff/employees/3332883804594373380/requests/32809865",
                  "originalRequestId": null
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          },
          "400": {
            "description": "Invalid webhook payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "timeoffRequestUpdated": {
      "post": {
        "operationId": "post_webhook_timeoff-request-updated",
        "tags": [
          "Time off Webhooks"
        ],
        "summary": "Time off request updated",
        "description": "Triggered when updating a time off request.\n\nFor date or time changes (hard-update), a new request replaces the existing one. The payload then includes **originalRequestId** (the very first request before any modifications) and **previousRequestId** (the most recently replaced request).\n\nIn the right panel, open **Examples** and select **Payload Example** to see a real payload.\n",
        "parameters": [
          {
            "name": "bob-signature",
            "in": "header",
            "required": true,
            "description": "Base64-encoded signature sent with each webhook request. Use it to verify that the request came from Bob. To verify webhook authenticity, see <a href=\"https://apidocs.hibob.com/update/reference?isFramePreview=true#how-does-bob-calculate-the-signature\" target=\"_blank\">How does Bob calculate the signature</a>.",
            "schema": {
              "type": "string",
              "example": "EQScIBkAtTKFW0ictgt5zzOsqIc2+xGEsM88jOdLuW4CM/a3gLEfrKV+IC5IHx0xbirzLKPIfaZjCGwzuiyI8w=="
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeoffRequestUpdatedEvent"
              },
              "example": {
                "companyId": 636192,
                "type": "timeoff.request.updated",
                "triggeredBy": "3332883804594373380",
                "triggeredAt": "2025-02-18T16:15:00.218602",
                "version": "v2",
                "data": {
                  "timeoffRequestId": 34902625,
                  "employeeId": "3332883884017713938",
                  "getApi": "https://api.hibob.com/v1/timeoff/employees/3332883884017713938/requests/34900183",
                  "originalRequestId": 34615592,
                  "previousRequestId": 34900183
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          },
          "400": {
            "description": "Invalid webhook payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "timeoffRequestImported": {
      "post": {
        "operationId": "post_webhook_timeoff-request-imported",
        "tags": [
          "Time off Webhooks"
        ],
        "summary": "Time off request created from import",
        "description": "Triggered when importing a time off request.\n\nImported requests are always approved by default. When using the **getApi** URL immediately after this event, the status in the response will be **approved**.\n\nIn the right panel, open **Examples** and select **Payload Example** to see a real payload.\n",
        "parameters": [
          {
            "name": "bob-signature",
            "in": "header",
            "required": true,
            "description": "Base64-encoded signature sent with each webhook request. Use it to verify that the request came from Bob. To verify webhook authenticity, see <a href=\"https://apidocs.hibob.com/update/reference?isFramePreview=true#how-does-bob-calculate-the-signature\" target=\"_blank\">How does Bob calculate the signature</a>.",
            "schema": {
              "type": "string",
              "example": "EQScIBkAtTKFW0ictgt5zzOsqIc2+xGEsM88jOdLuW4CM/a3gLEfrKV+IC5IHx0xbirzLKPIfaZjCGwzuiyI8w=="
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeoffRequestImportedEvent"
              },
              "example": {
                "companyId": 637323,
                "type": "timeoff.request.imported",
                "triggeredBy": "3419283646526259215",
                "triggeredAt": "2024-10-03T09:29:00.831502",
                "version": "v2",
                "data": {
                  "timeoffRequestId": 24640322,
                  "employeeId": "3052501936990322832",
                  "getApi": "https://api.hibob.com/v1/timeoff/employees/3052501936990322832/requests/24640322"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          },
          "400": {
            "description": "Invalid webhook payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": []
      }
    },
    "timeoffRequestSetEndDate": {
      "post": {
        "operationId": "post_webhook_timeoff-request-set-end-date",
        "tags": [
          "Time off Webhooks"
        ],
        "summary": "Set end date to a time off request",
        "description": "Triggered when setting the end date of an open-ended time off request.\n\nIn the right panel, open **Examples** and select **Payload Example** to see a real payload.\n",
        "parameters": [
          {
            "name": "bob-signature",
            "in": "header",
            "required": true,
            "description": "Base64-encoded signature sent with each webhook request. Use it to verify that the request came from Bob. To verify webhook authenticity, see <a href=\"https://apidocs.hibob.com/update/reference?isFramePreview=true#how-does-bob-calculate-the-signature\" target=\"_blank\">How does Bob calculate the signature</a>.",
            "schema": {
              "type": "string",
              "example": "EQScIBkAtTKFW0ictgt5zzOsqIc2+xGEsM88jOdLuW4CM/a3gLEfrKV+IC5IHx0xbirzLKPIfaZjCGwzuiyI8w=="
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeoffRequestSetEndDateEvent"
              },
              "example": {
                "companyId": 637323,
                "type": "timeoff.request.setEndDate",
                "triggeredBy": "3419283646526259215",
                "triggeredAt": "2024-10-03T09:29:00.831502",
                "version": "v2",
                "data": {
                  "timeoffRequestId": 32832853,
                  "employeeId": "3373576791477190995",
                  "getApi": "https://api.hibob.com/v1/timeoff/employees/3373576791477190995/requests/32832853"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook received successfully"
          },
          "400": {
            "description": "Invalid webhook payload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": []
      }
    }
  },
  "paths": {
    "/timeoff/policy-types/{policyType}": {
      "get": {
        "operationId": "get_timeoff-policy-types-policytype",
        "tags": [
          "Time off policies"
        ],
        "summary": "Get Policy type details",
        "description": "Get details about a given policy type.<br /> <br /> **Permissions required**: Please refer to the main <a href=\"https://apidocs.hibob.com/reference/time-off#required-permissions\">Time off API Required Permissions</a> page.<br /><br />",
        "parameters": [
          {
            "name": "policyType",
            "in": "path",
            "description": "Policy Type name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Policy type details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyType"
                }
              }
            }
          },
          "404": {
            "description": "A policy type with the specified name was not found.",
            "content": {}
          }
        },
        "security": [
          {
            "Basic": []
          },
          {
            "Bearer": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "WebhookEvent": {
        "type": "object",
        "description": "Base webhook event structure containing common webhook properties",
        "properties": {
          "companyId": {
            "type": "number",
            "description": "The company ID"
          },
          "type": {
            "type": "string",
            "description": "The event type (e.g., timeoff.request.requested)"
          },
          "triggeredBy": {
            "type": "string",
            "description": "The backend-id of the employee that triggered the event, or 'system' for system-triggered events"
          },
          "triggeredAt": {
            "type": "string",
            "description": "The timestamp when the event occurred (ISO 8601-style string)"
          },
          "version": {
            "type": "string",
            "description": "The webhook version (e.g., v2)"
          },
          "data": {
            "type": "object",
            "description": "Event-specific payload; structure varies by event type"
          }
        },
        "required": [
          "companyId",
          "type",
          "triggeredBy",
          "triggeredAt",
          "version",
          "data"
        ]
      },
      "TimeoffRequestRequestedEventData": {
        "type": "object",
        "description": "Data payload for timeoff.request.requested event",
        "properties": {
          "timeoffRequestId": {
            "type": "integer",
            "format": "int64",
            "description": "The unique identifier of the time off request"
          },
          "employeeId": {
            "type": "string",
            "description": "The unique identifier of the employee"
          },
          "getApi": {
            "type": "string",
            "description": "URL to retrieve the full time off request details via the API"
          }
        },
        "required": [
          "timeoffRequestId",
          "employeeId",
          "getApi"
        ]
      },
      "TimeoffRequestApprovedEventData": {
        "type": "object",
        "description": "Data payload for timeoff.request.approved event",
        "properties": {
          "timeoffRequestId": {
            "type": "integer",
            "format": "int64",
            "description": "The unique identifier of the time off request"
          },
          "employeeId": {
            "type": "string",
            "description": "The unique identifier of the employee"
          },
          "getApi": {
            "type": "string",
            "description": "URL to retrieve the full time off request details via the API"
          }
        },
        "required": [
          "timeoffRequestId",
          "employeeId",
          "getApi"
        ]
      },
      "TimeoffRequestDeclinedEventData": {
        "type": "object",
        "description": "Data payload for timeoff.request.declined event",
        "properties": {
          "timeoffRequestId": {
            "type": "integer",
            "format": "int64",
            "description": "The unique identifier of the time off request"
          },
          "employeeId": {
            "type": "string",
            "description": "The unique identifier of the employee"
          },
          "getApi": {
            "type": "string",
            "description": "URL to retrieve the full time off request details via the API"
          }
        },
        "required": [
          "timeoffRequestId",
          "employeeId",
          "getApi"
        ]
      },
      "TimeoffRequestCancelledEventData": {
        "type": "object",
        "description": "Data payload for timeoff.request.cancelled event",
        "properties": {
          "timeoffRequestId": {
            "type": "integer",
            "format": "int64",
            "description": "The unique identifier of the time off request"
          },
          "employeeId": {
            "type": "string",
            "description": "The unique identifier of the employee"
          },
          "getApi": {
            "type": "string",
            "description": "URL to retrieve the full time off request details via the API"
          },
          "originalRequestId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "The ID of the very first request before any modifications"
          }
        },
        "required": [
          "timeoffRequestId",
          "employeeId",
          "getApi"
        ]
      },
      "TimeoffRequestDeletedEventData": {
        "type": "object",
        "description": "Data payload for timeoff.request.deleted event",
        "properties": {
          "timeoffRequestId": {
            "type": "integer",
            "format": "int64",
            "description": "The unique identifier of the time off request"
          },
          "employeeId": {
            "type": "string",
            "description": "The unique identifier of the employee"
          },
          "getApi": {
            "type": "string",
            "description": "URL to retrieve the full time off request details via the API"
          },
          "originalRequestId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "The ID of the very first request before any modifications"
          }
        },
        "required": [
          "timeoffRequestId",
          "employeeId",
          "getApi"
        ]
      },
      "TimeoffRequestUpdatedEventData": {
        "type": "object",
        "description": "Data payload for timeoff.request.updated event",
        "properties": {
          "timeoffRequestId": {
            "type": "integer",
            "format": "int64",
            "description": "The unique identifier of the time off request"
          },
          "employeeId": {
            "type": "string",
            "description": "The unique identifier of the employee"
          },
          "getApi": {
            "type": "string",
            "description": "URL to retrieve the full time off request details via the API"
          },
          "originalRequestId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "The ID of the very first request before any modifications"
          },
          "previousRequestId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "The ID of the most recently replaced request (for date/time changes)"
          }
        },
        "required": [
          "timeoffRequestId",
          "employeeId",
          "getApi"
        ]
      },
      "TimeoffRequestImportedEventData": {
        "type": "object",
        "description": "Data payload for timeoff.request.imported event",
        "properties": {
          "timeoffRequestId": {
            "type": "integer",
            "format": "int64",
            "description": "The unique identifier of the time off request"
          },
          "employeeId": {
            "type": "string",
            "description": "The unique identifier of the employee"
          },
          "getApi": {
            "type": "string",
            "description": "URL to retrieve the full time off request details via the API"
          }
        },
        "required": [
          "timeoffRequestId",
          "employeeId",
          "getApi"
        ]
      },
      "TimeoffRequestSetEndDateEventData": {
        "type": "object",
        "description": "Data payload for timeoff.request.setEndDate event",
        "properties": {
          "timeoffRequestId": {
            "type": "integer",
            "format": "int64",
            "description": "The unique identifier of the time off request"
          },
          "employeeId": {
            "type": "string",
            "description": "The unique identifier of the employee"
          },
          "getApi": {
            "type": "string",
            "description": "URL to retrieve the full time off request details via the API"
          }
        },
        "required": [
          "timeoffRequestId",
          "employeeId",
          "getApi"
        ]
      },
      "TimeoffRequestRequestedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "timeoff.request.requested"
                ],
                "description": "Event type for time off request submitted"
              },
              "data": {
                "$ref": "#/components/schemas/TimeoffRequestRequestedEventData"
              }
            }
          }
        ]
      },
      "TimeoffRequestApprovedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "timeoff.request.approved"
                ],
                "description": "Event type for time off request approved"
              },
              "data": {
                "$ref": "#/components/schemas/TimeoffRequestApprovedEventData"
              }
            }
          }
        ]
      },
      "TimeoffRequestDeclinedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "timeoff.request.declined"
                ],
                "description": "Event type for time off request declined"
              },
              "data": {
                "$ref": "#/components/schemas/TimeoffRequestDeclinedEventData"
              }
            }
          }
        ]
      },
      "TimeoffRequestCancelledEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "timeoff.request.cancelled"
                ],
                "description": "Event type for time off request cancelled"
              },
              "data": {
                "$ref": "#/components/schemas/TimeoffRequestCancelledEventData"
              }
            }
          }
        ]
      },
      "TimeoffRequestDeletedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "timeoff.request.deleted"
                ],
                "description": "Event type for time off request deleted"
              },
              "data": {
                "$ref": "#/components/schemas/TimeoffRequestDeletedEventData"
              }
            }
          }
        ]
      },
      "TimeoffRequestUpdatedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "timeoff.request.updated"
                ],
                "description": "Event type for time off request updated"
              },
              "data": {
                "$ref": "#/components/schemas/TimeoffRequestUpdatedEventData"
              }
            }
          }
        ]
      },
      "TimeoffRequestImportedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "timeoff.request.imported"
                ],
                "description": "Event type for time off request created from import"
              },
              "data": {
                "$ref": "#/components/schemas/TimeoffRequestImportedEventData"
              }
            }
          }
        ]
      },
      "TimeoffRequestSetEndDateEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "timeoff.request.setEndDate"
                ],
                "description": "Event type for setting the end date of an open-ended time off request"
              },
              "data": {
                "$ref": "#/components/schemas/TimeoffRequestSetEndDateEventData"
              }
            }
          }
        ]
      },
      "PolicyType": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "activity": {
            "type": "string",
            "description": "Defines whether an employee that requests time off would have the leave defined as: <ul> <li>`paidTimeoff ` (Not working, paid): typically for paid vacation, paid sick, and parental leave. </li> <li> `unpaidTimeoff` (Not working, unpaid): typically for when an employees has used all of their paid time off balance, but still needs to take time off. </li> <li> `workTime ` (Working): typically for working from home (WFH) or business travel. </ul> To learn more, see <a href=\"https://help.hibob.com/hc/en-us/articles/4409792233489#h_01HSGVRA7M4GTRYEFBYDN1K8E7\">Time off policy type settings</a>. </li>",
            "enum": [
              "paidTimeoff",
              "unpaidTimeoff",
              "workTime"
            ]
          },
          "unit": {
            "type": "string",
            "enum": [
              "days",
              "hours"
            ]
          }
        }
      },
      "Error": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The unique identifier of the error."
          },
          "error": {
            "type": "string",
            "description": "A human readable error message."
          }
        }
      }
    },
    "securitySchemes": {
      "Basic": {
        "type": "http",
        "scheme": "basic"
      },
      "Bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "OAuth 2.0",
        "description": "OAuth 2.0 authentication using an Access Token is available for registered partners only.  Try It! does not support the full HiBob OAuth flow. You can follow <a href=\"https://apidocs.hibob.com/reference/oauth-20#testing-from-the-public-api-reference\" target=\"_blank\">these steps</a> to complete the OAuth 2.0 flow in Postman and then paste the token here."
      }
    }
  }
}
```