POSTing TimeOff in Oracle HCM

Last updated: March 11, 2026

Overview

This guide explains how to successfully create a time off request in Oracle HCM using Merge’s HRIS endpoints.

To post time off correctly, you must:

  1. Call the Time Off Meta endpoint to determine what Oracle requires.

  2. Use the returned values when calling POST /hris/time-off.

Oracle HCM requires a valid Absence Type when creating a time off request.

Because absence types vary by employee and configuration, you must first retrieve the allowed absence types before submitting a request.

The Meta endpoint tells you:

  • Which fields are required

  • Which absence types are valid for a specific employee

  • Which submission behaviors are supported

Once you have this information, you can create the time off request using the POST endpoint.

Instructions

Step 1: call the Meta endpoint

Endpoint

GET /hris/time-off/meta/post

Required: include employee_id

You must include the employee’s ID as a query parameter:

GET /hris/time-off/meta?employee_id=<employee_uuid>

If you do not include employee_id, absence types will not be returned, and you will not know which values are valid when posting time off.

What to look for in the response

In the Meta response, locate:

integration_params.time_type_remote_code

This field contains the valid absence types (for example: Vacation, Sick, Bereavement, etc.).

You must use one of these values when creating time off.

You will also see:

integration_params.requested_write_behavior

This controls how the request is created in Oracle (explained below).

Step 2: POST TimeOff

Once you have a valid absence type, call:

POST /hris/time-off

Required fields

The following fields are required:

  • employee

  • start_time

  • end_time

  • integration_params.time_type_remote_code

Optional fields:

  • employee_note

  • integration_params.requested_write_behavior

Date & time format

Both start_time and end_time must:

  • Be ISO 8601 format

  • Be in UTC

  • Include the Z suffix

Example:

2026-05-12T07:00:00.000000Z

Format:

YYYY-MM-DDTHH:MM:SS.ssssssZ

Example request

{
"model": {
"employee": "employee.id",
"start_time": "2026-05-12T07:00:00.000000Z",
"end_time": "2026-05-12T17:00:00.000000Z",
"employee_note": "Family trip",
"integration_params": {
"time_type_remote_code": "Vacation",
"requested_write_behavior": "SUBMITTED"
}
}
}

Nuances

Understanding requested_write_behavior

Oracle distinguishes between:

  • Draft requests

  • Submitted requests (which enter approval workflow)

This is controlled by:

integration_params.requested_write_behavior

Allowed values:

  • SUBMITTED

  • SAVED

If this field is not provided, it defaults to:

SUBMITTED

Behavior

  • SUBMITTED → The absence is submitted into Oracle’s approval workflow.

  • SAVED → The absence is created as a draft in Oracle.

What happens after you POST

When the request is successful:

  1. Merge resolves the employee in Oracle.

  2. The selected absence type is applied.

  3. The absence is created in Oracle.

  4. Oracle returns a unique absence ID.

  5. That ID is stored and used for future updates.

Summary

To successfully post time off to Oracle HCM:

  1. Call the Meta endpoint with employee_id.

  2. Use one of the returned time_type_remote_code values.

  3. Choose whether to submit or save the request (defaults to submitted).

Following this process ensures your request is correctly created in Oracle HCM.