Skip to content

REST API Endpoints Documentation

Overview

The Out of Office Assistant REST API provides programmatic access to absence rule management, enabling organizations to integrate absence automation with third-party platforms, custom applications, and existing enterprise systems. The API supports both end-user and administrative operations with token-based authentication.

Detailed API Documentation: https://app.swaggerhub.com/apis/resolution-cloud/jira-outofoffice/1.0.2 

API Architecture and Access

API Availability

API Capabilities:

  1. Out of Office Assistant REST API Functions:
  2. ✅ Create new absence rules
  3. ✅ Modify existing rules
  4. ✅ Retrieve rule data and configurations
  5. ✅ Delete rules and manage lifecycle

Base URL Structure

API Base URL Format:

  1. https://out-of-office-connect.herokuapp.com/rest/1.0/

Authentication Methods

Available Use Cases

There are two main use cases available:

  1. The administrator establishes an API connection for all users.

  2. The administrator allows users to use their own API connections.

    1. Admins create API Token on behalf for Users

    2. Users can create their own tokens or

API connection for all users

Token Creation Requirements:

  • Admin: Create REST API Token (Scope Admin)

  • Token Management: Created and managed through Out of Office Assistant UI

Token Creation Process:

  1. Navigate to Out of Office Assistant: Access app from Jira Apps menu

  2. User Administration: Look for User Administration Button

  3. Rest API Permissions: Click “Rest API Permissions” Tab

  4. Create New Token: Click “Create New Token” Button

  5. Select User: Select yourself as a User

  6. Set Scope: Set Scope to Admin

  7. Copy Token: Securely store generated token (shown only once)

  8. Save Token: Press Ok Button

Allows users to use their own API connections (Admin controlled)

Admins create API Token on behalf for Users 

Token Creation Requirements:

  • Admin: Create REST API Token (Scope Admin)

  • Token Management: Created and managed through Out of Office Assistant UI

Token Creation Process:

  1. Navigate to Out of Office Assistant: Access app from Jira Apps menu

  2. User Administration: Look for User Administration Button

  3. Rest API Permissions: Click “Rest API Permissions” Tab

  4. Create New Token: Click “Create New Token” Button

  5. Select User: Select User for designated Token

  6. Set Scope: Set Scope to READ / WRITE / DELETE (this Token can’t manage Rules on behalf of other Users)

  7. Copy Token: Securely store generated token (shown only once)

  8. Save Token: Press Ok Button

Allows users to use their own API connections (User controlled)

User can create an API Token for themself 

Token Creation Requirements:

  • Admin: Allow Users to create their own REST API Token (General Settings)

  • Token Management: Created and managed through Out of Office Assistant UI

  • Token Creation Process:

  1. Navigate to Out of Office Assistant: Access app from Jira Apps menu

  2. Integrations: Click “Integrations” Tab

  3. Rest API Connection: Click “connect” Button

  4. Copy Token: Securely store generated token (shown only once)

  5. Save Token: Press “Close” Button

Authentication Headers

Bearer Authentication:

  1. Authorization: Bearer {api-token}

Authentication Examples:

  1. # Bearer Authentication
  2. curl --location 'https://out-of-office-connect.herokuapp.com/v1/outofoffice/myrules' \
  3. --header 'Authorization: Bearer <OoO Token>'

Token Scope and Permissions

Available Token Scopes:

  1. admins
  2. GET /outofoffice/rules
  3. POST /outofoffice/rules
  4. PUT /outofoffice/rules
  5. DELETE /outofoffice/rules
  6. users:
  7. GET /outofoffice/myrules
  8. POST /outofoffice/myrules
  9. PUT /outofoffice/myrules
  10. DELETE /outofoffice/myrules

Scope Restrictions:
|400|bad input parameter|
|401|valid token missing|
|403|no permission|

/outofoffice/rules

Jira Out of Office Assistant REST API Endpoints

Absences

Create Absence

  1. POST /absences

Creates a new absence record for a user.

Request Body:

  1. json
  1. {
  2. "userId": "string",
  3. "startDate": "2025-06-20T00:00:00Z",
  4. "endDate": "2025-06-25T23:59:59Z",
  5. "message": "On vacation - please contact my coverer",
  6. "covererId": "string"
  7. }

Get User Absences

  1. GET /absences/user/{userId}

Retrieves all absences for a specific user.

Update Absence

  1. PUT /absences/{absenceId}

Updates an existing absence record.

Delete Absence

  1. DELETE /absences/{absenceId}

Removes an absence record.

Out of Office Rules

Create Rule

  1. POST /rules

Creates a new out-of-office rule.

Request Body:

  1. json
  1. {
  2. "name": "Vacation Rule",
  3. "userId": "string",
  4. "projectKey": "PROJ",
  5. "issueTypes": ["Bug", "Task"],
  6. "covererId": "string",
  7. "message": "I'm out of office. {coverer} will handle this.",
  8. "enabled": true
  9. }

Get User Rules

  1. GET /rules/user/{userId}

Retrieves all rules for a specific user.

Update Rule

  1. PUT /rules/{ruleId}

Updates an existing rule configuration.

Enable/Disable Rule

  1. PATCH /rules/{ruleId}/status

Toggles a rule's active status.

Coverage

Get Current Coverage

  1. GET /coverage/current

Returns all active coverage relationships.

Check User Availability

  1. GET /coverage/availability/{userId}

Checks if a user is currently available or out of office.

Rate Limiting

  • Rate Limit: 1000 requests per hour per token

  • Headers: Check X-RateLimit-Remaining and X-RateLimit-Reset

  • Retry After: When rate limited, check Retry-After header

Support and Resources

Documentation

Getting Help


API Status: ✅ PRODUCTION READY
Next Stepshttps://resolution.atlassian.net/wiki/spaces/OoO/pages/4848353590