Absence Types

Create an absence type

Create an absence type for the authenticated company (resolved from the API key, never from the payload). name, is_paid, requires_approval, measurement_unit (days/hours), color (hex #RRGGBB) and visibility (everyone/managers_only) are all required. Returns the created type with its generated id (UUID v7).

post/companies/{company}/absence-types

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/absence-types
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

companystring uuid required

Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).

Headers

Idempotency-Keystring
Example:01928f10-7c0e-7c4a-9b7d-2f8a6e3c1d4b

Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide.

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Request body

namestring required

Absence type name.

is_paidboolean required

Whether the absence is paid (the employee is compensated for the period).

requires_approvalboolean required

Whether requesting this absence requires a manager's approval.

measurement_unit'days' | 'hours' required

Unit in which the absence is measured: days or hours.

colorstring required

Type color for the calendar, in #RRGGBB hexadecimal format.

visibility'everyone' | 'managers_only' required

Who can see the type: everyone or managers_only.

Response

Absence type created. The Location header contains the canonical URL of the new absence type.

Example response

{
  "data": {
    "id": "01933a30-c065-7f71-9d8e-5e6f7a8b9c01",
    "object": "absence_type",
    "name": "Vacaciones",
    "is_paid": true,
    "requires_approval": true,
    "measurement_unit": "days",
    "color": "#2563EB",
    "visibility": "everyone",
    "is_system": true,
    "status": "active",
    "created_at": "2024-09-01T10:00:00Z",
    "updated_at": "2024-09-01T10:00:00Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.