---
title: "Create future job permission"
method: POST
path: "/v3/future_job_permissions"
tags: ["Future Job Permissions"]
---

# Create future job permission

`POST /v3/future_job_permissions`

Grant a user a Job Admin role on future jobs matching an optional department and/or office scope. Pass `department_id` (or `external_department_id`) and/or `office_id` (or `external_office_id`) to restrict the scope; omit all four to grant the role on every future job in the organization. The `role_id` must reference a Job Admin organization role. Site admins already have access to every non-confidential job, so creating a future job permission for a site admin is a no-op and returns `204 No Content` instead of `201 Created`.

## Request body

- object
  - `department_id` integer — Id of the department to scope this permission to. Future jobs created in this department (optionally combined with `office_id`) will grant the user the specified role. Mutually exclusive with `external_department_id`. Omit both department fields and both office fields to grant the role on every future job in the organization.
  - `external_department_id` string — Partner-supplied `external_id` of the department to scope this permission to. Resolved to a Greenhouse `department_id` in the caller's organization; unknown values are rejected. Mutually exclusive with `department_id`.
  - `user_id` integer, required — Id of the user who should receive the role on matching future jobs. Must reference a user in the caller's organization.
  - `office_id` integer — Id of the office to scope this permission to. Future jobs created in this office (optionally combined with `department_id`) will grant the user the specified role. Mutually exclusive with `external_office_id`. Omit both office fields and both department fields to grant the role on every future job in the organization.
  - `external_office_id` string — Partner-supplied `external_id` of the office to scope this permission to. Resolved to a Greenhouse `office_id` in the caller's organization; unknown values are rejected. Mutually exclusive with `office_id`.
  - `role_id` integer, required — Id of the Job Admin organization role to grant on matching future jobs. Must reference a Job Admin role in the caller's organization; other role types are rejected.

## Response `201`

Successful

- object
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `department_id` integer, nullable — Id of the department this permission is scoped to. References a `/v3/departments` row. When both `department_id` and `office_id` are `null`, the permission applies to every future job in the organization; when set, only future jobs in this department (optionally combined with `office_id`) grant the role.
  - `user_id` integer — Id of the user who will receive the role on matching future jobs. References a `/v3/users` row.
  - `office_id` integer, nullable — Id of the office this permission is scoped to. References a `/v3/offices` row. When both `office_id` and `department_id` are `null`, the permission applies to every future job in the organization; when set, only future jobs in this office (optionally combined with `department_id`) grant the role.
  - `role_id` integer — Id of the Job Admin organization role the user will be assigned on matching future jobs. References a `/v3/organization_roles` row; future job permissions can only be granted for Job Admin roles.

## Other responses

- `204` — Successful (No Content)
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Content

---

[API](https://skmtc.dev/greenhouse/apis/auth-api.md) · [All operations](https://skmtc.dev/greenhouse/apis/auth-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/greenhouse/auth-api/revisions/9517a2e54640/schema)
