{
  "openapi": "3.1.0",
  "info": {
    "title": "ModernLoop Platform API",
    "version": "0.1.0",
    "description": "The ModernLoop Platform API for managing recruiting workflows.",
    "contact": {
      "email": "support@modernloop.io"
    }
  },
  "servers": [
    {
      "url": "https://api.modernloop.io"
    }
  ],
  "components": {
    "schemas": {
      "ActivityAggregateResult": {
        "type": "object",
        "properties": {
          "buckets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "group_values": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "dimension": {
                        "type": "string",
                        "enum": [
                          "ACTIVITY_TYPE",
                          "SUBJECT_TYPE",
                          "ACTOR_TYPE",
                          "USER_ACTOR",
                          "TIME_BUCKET"
                        ]
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "dimension",
                      "value"
                    ]
                  }
                },
                "count": {
                  "type": "string",
                  "pattern": "^\\d+$",
                  "description": "Exact decimal count (int64-safe)."
                }
              },
              "required": [
                "group_values",
                "count"
              ]
            }
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "buckets",
          "truncated"
        ]
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": [
                  "UNAUTHENTICATED",
                  "INSUFFICIENT_SCOPE",
                  "VALIDATION_FAILED",
                  "INVALID_CURSOR",
                  "PAYLOAD_TOO_LARGE",
                  "NOT_FOUND",
                  "PERMISSION_DENIED",
                  "IDEMPOTENCY_KEY_REQUIRED",
                  "IDEMPOTENCY_KEY_REUSED",
                  "RATE_LIMITED",
                  "CONFLICT",
                  "CANNOT_UPDATE_SYNC_MANAGED_FIELDS",
                  "NOT_IMPLEMENTED",
                  "INTERNAL",
                  "UPSTREAM_TIMEOUT",
                  "UNAVAILABLE"
                ]
              },
              "message": {
                "type": "string"
              },
              "docs_url": {
                "type": "string",
                "format": "uri"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            },
            "required": [
              "code",
              "message"
            ]
          }
        },
        "required": [
          "error"
        ]
      },
      "ActivityAggregateInput": {
        "type": "object",
        "properties": {
          "group_by": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "ACTIVITY_TYPE",
                "SUBJECT_TYPE",
                "ACTOR_TYPE",
                "USER_ACTOR"
              ]
            },
            "minItems": 1,
            "maxItems": 3,
            "description": "1-3 distinct dimensions in response order. This dimension enum may grow."
          },
          "time_bucket": {
            "type": "string",
            "enum": [
              "DAY",
              "WEEK",
              "MONTH"
            ],
            "description": "Optional UTC histogram. Empty time buckets are not zero-filled."
          },
          "start_at": {
            "type": "string",
            "format": "date-time",
            "description": "Inclusive window start; the window may not exceed 92 days."
          },
          "end_at": {
            "type": "string",
            "format": "date-time",
            "description": "Inclusive window end; the window may not exceed 92 days."
          },
          "activity_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TASK_CREATED",
                "TASK_ASSIGNED",
                "CANDIDATE_AVAILABILITY_REQUESTED",
                "CANDIDATE_AVAILABILITY_SUBMITTED",
                "SELF_SCHEDULE_REQUESTED",
                "SCHEDULE_CREATED",
                "SCHEDULE_UPDATED",
                "SCHEDULE_RESCHEDULED",
                "SCHEDULE_CANCELED",
                "SELF_SCHEDULE_CREATED",
                "SELF_SCHEDULE_RESCHEDULED",
                "SELF_SCHEDULE_CANCELED",
                "INTERVIEWER_RSVP_ACCEPTED",
                "INTERVIEWER_RSVP_DECLINED",
                "INTERVIEWER_RSVP_TENTATIVE",
                "CANDIDATE_RSVP_ACCEPTED",
                "CANDIDATE_RSVP_DECLINED",
                "CANDIDATE_RSVP_TENTATIVE",
                "COMMENT",
                "INTERVIEWER_AUTO_REPLACED",
                "CANDIDATE_INTERVIEW_REMINDER_SENT",
                "CANDIDATE_SELF_SCHEDULE_REMINDER_SENT",
                "CANDIDATE_AVAILABILITY_REMINDER_SENT",
                "SCHEDULE_INTERVIEW_ADDED",
                "SCHEDULE_INTERVIEW_UPDATED",
                "SCHEDULE_INTERVIEW_CANCELED",
                "DEBRIEF_CREATED",
                "DEBRIEF_CANCELED",
                "DEBRIEF_UPDATED",
                "DEBRIEF_RESCHEDULED",
                "CHANGE_REQUESTED",
                "FLAG_RESOLVED_CHANGE_REQUESTED",
                "FLAG_RESOLVED_INTERVIEW_DECLINED",
                "FLAG_RESOLVED_DEBRIEF_DECLINED",
                "FLAG_RESOLVED_CANDIDATE_DECLINED",
                "FLAG_RESOLVED_INTERVIEWER_DEACTIVATED",
                "FLAG_RESOLVED_INTERVIEWER_TENTATIVE",
                "FLAG_RESOLVED_DEBRIEF_ATTENDEE_TENTATIVE",
                "FLAG_RESOLVED_DEBRIEF_ATTENDEE_DEACTIVATED",
                "FLAG_RESOLVED_CANDIDATE_TENTATIVE"
              ]
            },
            "maxItems": 100
          },
          "subject_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TASK",
                "APPLICATION",
                "CANDIDATE"
              ]
            },
            "maxItems": 100
          },
          "actor_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "USER",
                "CANDIDATE",
                "SYSTEM"
              ]
            },
            "maxItems": 100
          },
          "user_actor_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "maxItems": 100,
            "description": "Public user ids. Unknown or foreign-organization ids match no rows."
          },
          "limit": {
            "type": "integer"
          }
        },
        "required": [
          "group_by",
          "start_at",
          "end_at"
        ],
        "additionalProperties": false
      },
      "ActivityUserActor": {
        "type": "object",
        "properties": {
          "actor_type": {
            "type": "string",
            "enum": [
              "USER"
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^usr_[0-9a-f]{32}$",
            "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "ats_id": {
            "type": "string"
          }
        },
        "required": [
          "actor_type",
          "id",
          "name",
          "email",
          "ats_id"
        ]
      },
      "ActivityCandidateActor": {
        "type": "object",
        "properties": {
          "actor_type": {
            "type": "string",
            "enum": [
              "CANDIDATE"
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^can_[0-9a-f]{32}$",
            "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "ats_id": {
            "type": "string"
          }
        },
        "required": [
          "actor_type",
          "id",
          "name",
          "email",
          "timezone",
          "ats_id"
        ]
      },
      "ActivitySystemActor": {
        "type": "object",
        "properties": {
          "actor_type": {
            "type": "string",
            "enum": [
              "SYSTEM"
            ]
          },
          "system_actor_type": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "MODERNLOOP",
              "MODERNLOOP_SUPPORT",
              "SCIM_PROVIDER"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "actor_type",
          "system_actor_type",
          "name",
          "email"
        ]
      },
      "ActivityActor": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ActivityUserActor"
          },
          {
            "$ref": "#/components/schemas/ActivityCandidateActor"
          },
          {
            "$ref": "#/components/schemas/ActivitySystemActor"
          }
        ],
        "discriminator": {
          "propertyName": "actor_type",
          "mapping": {
            "USER": "#/components/schemas/ActivityUserActor",
            "CANDIDATE": "#/components/schemas/ActivityCandidateActor",
            "SYSTEM": "#/components/schemas/ActivitySystemActor"
          }
        }
      },
      "ActivityAvailabilityDetails": {
        "type": "object",
        "properties": {
          "availability": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "start": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
                },
                "end": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
                }
              },
              "required": [
                "start",
                "end"
              ]
            }
          }
        },
        "required": [
          "availability"
        ]
      },
      "ActivityScheduleTimeDetails": {
        "type": "object",
        "properties": {
          "start": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "end": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          }
        },
        "required": [
          "start",
          "end"
        ]
      },
      "ActivityRsvpDetails": {
        "type": "object",
        "properties": {
          "interview": {
            "type": [
              "string",
              "null"
            ]
          },
          "comment": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "interview",
          "comment"
        ]
      },
      "ActivityAssigneeDetails": {
        "type": "object",
        "properties": {
          "assignee": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "email": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "id",
              "name",
              "email"
            ],
            "description": "The user the task was assigned to, or null when the assignee could not be resolved. name and email are null when the employee record does not hydrate; the id is always present when assignee is non-null."
          }
        },
        "required": [
          "assignee"
        ]
      },
      "ActivityCommentDetails": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "description": "Plain-text comment body when the comment has visible text."
          },
          "edited": {
            "type": "boolean",
            "description": "True when the comment was edited."
          }
        },
        "required": [
          "body",
          "edited"
        ]
      },
      "ActivityFlagDetails": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Flag content text."
          }
        },
        "required": [
          "content"
        ]
      },
      "ActivityTaskRef": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^tsk_[0-9a-f]{32}$",
            "description": "Canonical task ID (tsk_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          }
        },
        "required": [
          "id"
        ],
        "description": "Non-null only for TASK-subject activities (the task id is always known)."
      },
      "ActivityApplicationRef": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^app_[0-9a-f]{32}$",
            "description": "Canonical application ID (app_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "ats_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "ATS application id; null when hydration misses."
          }
        },
        "required": [
          "id",
          "ats_id"
        ],
        "description": "Non-null for APPLICATION-subject activities (id always known) and for TASK-subject activities whose task row hydrates; otherwise null."
      },
      "ActivityCandidate": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^can_[0-9a-f]{32}$",
            "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "ats_id": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "email",
          "timezone",
          "ats_id"
        ],
        "description": "Non-null for CANDIDATE-subject activities (id always known) and for TASK/APPLICATION subjects whose row hydrates; otherwise null."
      },
      "ActivityJob": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^job_[0-9a-f]{32}$",
            "description": "Canonical job ID (job_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "ats_id": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "ats_id"
        ],
        "description": "Populated for TASK/APPLICATION subjects when hydration succeeds; otherwise null."
      },
      "ActivityJobStage": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^stg_[0-9a-f]{32}$",
            "description": "Canonical job stage ID (stg_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "index": {
            "type": [
              "integer",
              "null"
            ]
          },
          "ats_id": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "index",
          "ats_id"
        ],
        "description": "Populated only for TASK-subject activities whose task row hydrates; otherwise null."
      },
      "Activity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^act_[0-9a-f]{32}$",
            "description": "Canonical activity ID (act_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "act_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "actor": {
            "$ref": "#/components/schemas/ActivityActor"
          },
          "action": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "TASK_CREATED",
                  "TASK_ASSIGNED",
                  "CANDIDATE_AVAILABILITY_REQUESTED",
                  "CANDIDATE_AVAILABILITY_SUBMITTED",
                  "SELF_SCHEDULE_REQUESTED",
                  "SCHEDULE_CREATED",
                  "SCHEDULE_UPDATED",
                  "SCHEDULE_RESCHEDULED",
                  "SCHEDULE_CANCELED",
                  "SELF_SCHEDULE_CREATED",
                  "SELF_SCHEDULE_RESCHEDULED",
                  "SELF_SCHEDULE_CANCELED",
                  "INTERVIEWER_RSVP_ACCEPTED",
                  "INTERVIEWER_RSVP_DECLINED",
                  "INTERVIEWER_RSVP_TENTATIVE",
                  "CANDIDATE_RSVP_ACCEPTED",
                  "CANDIDATE_RSVP_DECLINED",
                  "CANDIDATE_RSVP_TENTATIVE",
                  "COMMENT",
                  "INTERVIEWER_AUTO_REPLACED",
                  "CANDIDATE_INTERVIEW_REMINDER_SENT",
                  "CANDIDATE_SELF_SCHEDULE_REMINDER_SENT",
                  "CANDIDATE_AVAILABILITY_REMINDER_SENT",
                  "SCHEDULE_INTERVIEW_ADDED",
                  "SCHEDULE_INTERVIEW_UPDATED",
                  "SCHEDULE_INTERVIEW_CANCELED",
                  "DEBRIEF_CREATED",
                  "DEBRIEF_CANCELED",
                  "DEBRIEF_UPDATED",
                  "DEBRIEF_RESCHEDULED",
                  "CHANGE_REQUESTED",
                  "FLAG_RESOLVED_CHANGE_REQUESTED",
                  "FLAG_RESOLVED_INTERVIEW_DECLINED",
                  "FLAG_RESOLVED_DEBRIEF_DECLINED",
                  "FLAG_RESOLVED_CANDIDATE_DECLINED",
                  "FLAG_RESOLVED_INTERVIEWER_DEACTIVATED",
                  "FLAG_RESOLVED_INTERVIEWER_TENTATIVE",
                  "FLAG_RESOLVED_DEBRIEF_ATTENDEE_TENTATIVE",
                  "FLAG_RESOLVED_DEBRIEF_ATTENDEE_DEACTIVATED",
                  "FLAG_RESOLVED_CANDIDATE_TENTATIVE"
                ],
                "description": "Activity action type. This enum is open; clients must tolerate unknown values."
              },
              "details": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/ActivityAvailabilityDetails"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityScheduleTimeDetails"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityRsvpDetails"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityAssigneeDetails"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityCommentDetails"
                  },
                  {
                    "$ref": "#/components/schemas/ActivityFlagDetails"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "type",
              "details"
            ]
          },
          "subject_type": {
            "type": "string",
            "enum": [
              "TASK",
              "APPLICATION",
              "CANDIDATE"
            ],
            "description": "What the activity is about. This enum may grow; clients must tolerate unknown values."
          },
          "task": {
            "$ref": "#/components/schemas/ActivityTaskRef"
          },
          "application": {
            "$ref": "#/components/schemas/ActivityApplicationRef"
          },
          "candidate": {
            "$ref": "#/components/schemas/ActivityCandidate"
          },
          "job": {
            "$ref": "#/components/schemas/ActivityJob"
          },
          "job_stage": {
            "$ref": "#/components/schemas/ActivityJobStage"
          }
        },
        "required": [
          "id",
          "timestamp",
          "actor",
          "action",
          "subject_type",
          "task",
          "application",
          "candidate",
          "job",
          "job_stage"
        ]
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "next_cursor"
        ]
      },
      "ActivityType": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "TASK_CREATED",
              "TASK_ASSIGNED",
              "CANDIDATE_AVAILABILITY_REQUESTED",
              "CANDIDATE_AVAILABILITY_SUBMITTED",
              "SELF_SCHEDULE_REQUESTED",
              "SCHEDULE_CREATED",
              "SCHEDULE_UPDATED",
              "SCHEDULE_RESCHEDULED",
              "SCHEDULE_CANCELED",
              "SELF_SCHEDULE_CREATED",
              "SELF_SCHEDULE_RESCHEDULED",
              "SELF_SCHEDULE_CANCELED",
              "INTERVIEWER_RSVP_ACCEPTED",
              "INTERVIEWER_RSVP_DECLINED",
              "INTERVIEWER_RSVP_TENTATIVE",
              "CANDIDATE_RSVP_ACCEPTED",
              "CANDIDATE_RSVP_DECLINED",
              "CANDIDATE_RSVP_TENTATIVE",
              "COMMENT",
              "INTERVIEWER_AUTO_REPLACED",
              "CANDIDATE_INTERVIEW_REMINDER_SENT",
              "CANDIDATE_SELF_SCHEDULE_REMINDER_SENT",
              "CANDIDATE_AVAILABILITY_REMINDER_SENT",
              "SCHEDULE_INTERVIEW_ADDED",
              "SCHEDULE_INTERVIEW_UPDATED",
              "SCHEDULE_INTERVIEW_CANCELED",
              "DEBRIEF_CREATED",
              "DEBRIEF_CANCELED",
              "DEBRIEF_UPDATED",
              "DEBRIEF_RESCHEDULED",
              "CHANGE_REQUESTED",
              "FLAG_RESOLVED_CHANGE_REQUESTED",
              "FLAG_RESOLVED_INTERVIEW_DECLINED",
              "FLAG_RESOLVED_DEBRIEF_DECLINED",
              "FLAG_RESOLVED_CANDIDATE_DECLINED",
              "FLAG_RESOLVED_INTERVIEWER_DEACTIVATED",
              "FLAG_RESOLVED_INTERVIEWER_TENTATIVE",
              "FLAG_RESOLVED_DEBRIEF_ATTENDEE_TENTATIVE",
              "FLAG_RESOLVED_DEBRIEF_ATTENDEE_DEACTIVATED",
              "FLAG_RESOLVED_CANDIDATE_TENTATIVE"
            ],
            "description": "Activity action type. This enum is open; clients must tolerate unknown values."
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "description"
        ]
      },
      "ActivityTypeList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityType"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "AuditLogPayload": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "ABSENT",
              "COMPLETE",
              "TRUNCATED",
              "TOO_LARGE",
              "EXPIRED"
            ],
            "description": "Capture state. text is present only for COMPLETE and TRUNCATED; TOO_LARGE payloads were never stored and EXPIRED payloads were removed by the retention sweep."
          },
          "text": {
            "type": [
              "string",
              "null"
            ],
            "description": "Captured payload text; null unless COMPLETE or TRUNCATED."
          }
        },
        "required": [
          "state",
          "text"
        ]
      },
      "McpAuditLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^mal_[0-9a-f]{32}$",
            "description": "Canonical MCP audit log entry ID (mal_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "mal_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "called_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the tool call was recorded."
          },
          "actor": {
            "type": "string",
            "pattern": "^usr_[0-9a-f]{32}$",
            "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "token_type": {
            "type": "string",
            "enum": [
              "API_KEY",
              "OAUTH",
              "AGENT"
            ],
            "description": "Kind of token that authenticated the recorded call."
          },
          "token_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Display name of the token; null when unnamed."
          },
          "tool_name": {
            "type": "string",
            "description": "Name of the invoked MCP tool."
          },
          "intent": {
            "type": [
              "string",
              "null"
            ],
            "description": "Caller-supplied invocation intent; null when the call recorded none."
          },
          "status": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "ERROR"
            ]
          },
          "error_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "Public error code for ERROR calls; null on success."
          },
          "duration_ms": {
            "type": [
              "integer",
              "null"
            ]
          },
          "tool_input": {
            "$ref": "#/components/schemas/AuditLogPayload"
          },
          "tool_output": {
            "$ref": "#/components/schemas/AuditLogPayload"
          }
        },
        "required": [
          "id",
          "called_at",
          "actor",
          "token_type",
          "token_name",
          "tool_name",
          "intent",
          "status",
          "error_code",
          "duration_ms",
          "tool_input",
          "tool_output"
        ]
      },
      "ApiAuditLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^aal_[0-9a-f]{32}$",
            "description": "Canonical API audit log entry ID (aal_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "aal_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "requested_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the request was recorded."
          },
          "actor": {
            "type": "string",
            "pattern": "^usr_[0-9a-f]{32}$",
            "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "token_type": {
            "type": "string",
            "enum": [
              "API_KEY",
              "OAUTH",
              "AGENT"
            ],
            "description": "Kind of token that authenticated the recorded call."
          },
          "token_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Display name of the token; null when unnamed."
          },
          "operation_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "OpenAPI operation id; null when the request matched no operation."
          },
          "method": {
            "type": "string",
            "description": "HTTP method."
          },
          "path": {
            "type": "string",
            "description": "Request path."
          },
          "status_code": {
            "type": "integer"
          },
          "duration_ms": {
            "type": [
              "integer",
              "null"
            ]
          },
          "request_body": {
            "$ref": "#/components/schemas/AuditLogPayload"
          },
          "request_query": {
            "$ref": "#/components/schemas/AuditLogPayload"
          },
          "response_body": {
            "$ref": "#/components/schemas/AuditLogPayload"
          }
        },
        "required": [
          "id",
          "requested_at",
          "actor",
          "token_type",
          "token_name",
          "operation_id",
          "method",
          "path",
          "status_code",
          "duration_ms",
          "request_body",
          "request_query",
          "response_body"
        ]
      },
      "PrivacyAuditLogBulkQuery": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "CANDIDATE_IDS"
                ]
              },
              "ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^can_[0-9a-f]{32}$",
                  "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
                  "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                }
              }
            },
            "required": [
              "type",
              "ids"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "EMPLOYEE_IDS"
                ]
              },
              "ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^usr_[0-9a-f]{32}$",
                  "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                  "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                }
              }
            },
            "required": [
              "type",
              "ids"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "CANDIDATE_SEARCH"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "type",
              "values"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "EMPLOYEE_SEARCH"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "type",
              "values"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "SCOPE"
                ]
              },
              "scope": {
                "type": "string",
                "enum": [
                  "ALL_ORG_CANDIDATES",
                  "ALL_ORG_EMPLOYEES"
                ]
              }
            },
            "required": [
              "type",
              "scope"
            ]
          }
        ],
        "description": "Query that selected the accessed records."
      },
      "PrivacyAuditLogDataSubject": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "EMPLOYEE"
                ]
              },
              "user": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              }
            },
            "required": [
              "type",
              "user"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "CANDIDATE"
                ]
              },
              "candidate": {
                "type": "string",
                "pattern": "^can_[0-9a-f]{32}$",
                "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              }
            },
            "required": [
              "type",
              "candidate"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "BULK"
                ]
              },
              "bulk_count": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Number of records the bulk access covered; null when unknown."
              },
              "query": {
                "$ref": "#/components/schemas/PrivacyAuditLogBulkQuery"
              }
            },
            "required": [
              "type",
              "bulk_count",
              "query"
            ]
          }
        ]
      },
      "PrivacyAuditLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^pal_[0-9a-f]{32}$",
            "description": "Canonical privacy audit log entry ID (pal_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "pal_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "access_time": {
            "type": "string",
            "format": "date-time",
            "description": "When the access happened."
          },
          "account_id": {
            "type": "string",
            "description": "Login account that performed the access, as a compact UUID."
          },
          "ip_addresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Client IP addresses recorded for the access."
          },
          "data_subject": {
            "$ref": "#/components/schemas/PrivacyAuditLogDataSubject"
          },
          "access_data": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "NAME",
                "EMAIL_ADDRESS",
                "PHONE_NUMBER"
              ]
            },
            "description": "Personal data categories the access covered."
          },
          "access_menu": {
            "type": "string",
            "description": "Product area where the access happened."
          },
          "access_menu_path": {
            "type": "string",
            "description": "Product navigation path where the access happened."
          },
          "activity_category": {
            "type": "string",
            "enum": [
              "CREATE",
              "READ",
              "UPDATE",
              "DELETE",
              "BULK_CREATE",
              "BULK_READ",
              "BULK_UPDATE",
              "BULK_DELETE",
              "DOWNLOAD"
            ],
            "description": "Access category. This enum is open; clients must tolerate unknown values."
          },
          "user_provided_reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Optional reason supplied for the recorded access."
          }
        },
        "required": [
          "id",
          "access_time",
          "account_id",
          "ip_addresses",
          "data_subject",
          "access_data",
          "access_menu",
          "access_menu_path",
          "activity_category",
          "user_provided_reason"
        ]
      },
      "Candidate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^can_[0-9a-f]{32}$",
            "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "object",
            "properties": {
              "full": {
                "type": "string"
              },
              "given": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "family": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "full",
              "given",
              "family"
            ]
          },
          "primary_email": {
            "type": [
              "string",
              "null"
            ],
            "format": "email"
          },
          "additional_emails": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string",
              "format": "email"
            },
            "description": "Additional candidate email addresses. Null means PII was redacted because the candidate is anonymized; an empty array means no additional email addresses."
          },
          "phone_numbers": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "Candidate phone numbers. Null means PII was redacted because the candidate is anonymized; an empty array means no phone numbers."
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "linkedin_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "preferred_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "recruiter": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "coordinator": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "ats": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "GREENHOUSE",
                  "ASHBY",
                  "LEVER",
                  "WORKDAY",
                  "SMARTRECRUITERS",
                  "GEM",
                  "KOMBO"
                ]
              },
              "id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ]
          },
          "anonymized": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "name",
          "primary_email",
          "additional_emails",
          "phone_numbers",
          "timezone",
          "linkedin_url",
          "preferred_name",
          "recruiter",
          "coordinator",
          "ats",
          "anonymized",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "CandidatePatch": {
        "type": "object",
        "properties": {
          "recruiter_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "coordinator_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "timezone": {
            "type": "string",
            "description": "Replaces the timezone; omit to preserve."
          }
        },
        "additionalProperties": false
      },
      "Application": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^app_[0-9a-f]{32}$",
            "description": "Canonical application ID (app_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "candidate": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^can_[0-9a-f]{32}$",
                "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "job": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^job_[0-9a-f]{32}$",
                "description": "Canonical job ID (job_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "current_stage": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^stg_[0-9a-f]{32}$",
                "description": "Canonical job stage ID (stg_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "REJECTED",
              "HIRED",
              "CONVERTED",
              "ARCHIVED"
            ]
          },
          "recruiter": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "coordinator": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "hiring_manager": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "sourcer": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "last_changed_stage_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "ats": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "GREENHOUSE",
                  "ASHBY",
                  "LEVER",
                  "WORKDAY",
                  "SMARTRECRUITERS",
                  "GEM",
                  "KOMBO"
                ]
              },
              "id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "candidate",
          "job",
          "current_stage",
          "status",
          "recruiter",
          "coordinator",
          "hiring_manager",
          "sourcer",
          "last_changed_stage_at",
          "ats",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "ApplicationPatch": {
        "type": "object",
        "properties": {
          "hiring_manager_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "recruiter_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "coordinator_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "sourcer_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          }
        },
        "additionalProperties": false
      },
      "Job": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^job_[0-9a-f]{32}$",
            "description": "Canonical job ID (job_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "DRAFT",
              "OPEN",
              "CLOSED"
            ]
          },
          "confidential": {
            "type": "boolean"
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hiring_team": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "HIRING_MANAGER",
                    "RECRUITER",
                    "COORDINATOR",
                    "SOURCER"
                  ]
                },
                "user": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^usr_[0-9a-f]{32}$",
                      "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                      "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                }
              },
              "required": [
                "role",
                "user"
              ]
            }
          },
          "ats": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "GREENHOUSE",
                  "ASHBY",
                  "LEVER",
                  "WORKDAY",
                  "SMARTRECRUITERS",
                  "GEM",
                  "KOMBO"
                ]
              },
              "id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "confidential",
          "locations",
          "hiring_team",
          "ats",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "JobSettings": {
        "type": "object",
        "properties": {
          "interview_name_setting": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "is_custom": {
                "type": "boolean"
              },
              "show_interview_name": {
                "type": "boolean"
              },
              "is_locked": {
                "type": "boolean"
              },
              "level": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "ORG",
                  "USER",
                  "JOB",
                  "JOB_STAGE"
                ]
              }
            },
            "required": [
              "is_custom",
              "show_interview_name",
              "is_locked",
              "level"
            ]
          },
          "interviewer_info_setting": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "is_custom": {
                "type": "boolean"
              },
              "can_show_info": {
                "type": "boolean"
              },
              "can_show_full_name": {
                "type": "boolean"
              },
              "can_show_job_title": {
                "type": "boolean"
              },
              "can_show_linkedin": {
                "type": "boolean"
              },
              "can_show_email": {
                "type": "boolean"
              },
              "can_show_profile_picture": {
                "type": "boolean"
              },
              "can_show_pronouns": {
                "type": "boolean"
              },
              "can_show_bio": {
                "type": "boolean"
              },
              "is_locked": {
                "type": "boolean"
              },
              "level": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "ORG",
                  "USER",
                  "JOB",
                  "JOB_STAGE"
                ]
              }
            },
            "required": [
              "is_custom",
              "can_show_info",
              "can_show_full_name",
              "can_show_job_title",
              "can_show_linkedin",
              "can_show_email",
              "can_show_profile_picture",
              "can_show_pronouns",
              "can_show_bio",
              "is_locked",
              "level"
            ]
          },
          "recruiting_team_contact_info_setting": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "is_custom": {
                "type": "boolean"
              },
              "show_recruiter": {
                "type": "boolean"
              },
              "show_coordinator": {
                "type": "boolean"
              },
              "can_show_job_title": {
                "type": "boolean"
              },
              "can_show_linkedin": {
                "type": "boolean"
              },
              "can_show_profile_picture": {
                "type": "boolean"
              },
              "can_show_pronouns": {
                "type": "boolean"
              },
              "can_show_bio": {
                "type": "boolean"
              },
              "can_show_phone": {
                "type": "boolean"
              },
              "is_locked": {
                "type": "boolean"
              },
              "level": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "ORG",
                  "USER",
                  "JOB",
                  "JOB_STAGE"
                ]
              }
            },
            "required": [
              "is_custom",
              "show_recruiter",
              "show_coordinator",
              "can_show_job_title",
              "can_show_linkedin",
              "can_show_profile_picture",
              "can_show_pronouns",
              "can_show_bio",
              "can_show_phone",
              "is_locked",
              "level"
            ]
          },
          "default_task_queue_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^que_[0-9a-f]{32}$",
            "description": "Canonical task queue ID (que_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "que_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "remote_ats_hiring_process": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "ats_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "NOT_SET",
                  "SET",
                  "DELETED",
                  "MISMATCH"
                ]
              }
            },
            "required": [
              "ats_id",
              "name",
              "status"
            ]
          },
          "locale": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "interview_name_setting",
          "interviewer_info_setting",
          "recruiting_team_contact_info_setting",
          "default_task_queue_id",
          "remote_ats_hiring_process",
          "locale"
        ]
      },
      "JobDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Job"
          },
          {
            "type": "object",
            "properties": {
              "settings": {
                "$ref": "#/components/schemas/JobSettings"
              }
            },
            "required": [
              "settings"
            ]
          }
        ]
      },
      "JobPatch": {
        "type": "object",
        "properties": {
          "fallback_name": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1,
            "description": "Candidate-facing fallback job name, shown when no job posting name is linked to the candidate's application (candidate portal, sourcing links, and job-name tokens). Set to null to fall back to the internal job name."
          },
          "internal_note": {
            "type": [
              "string",
              "null"
            ],
            "description": "Free-form internal note about the job; never shown to candidates."
          }
        },
        "additionalProperties": false,
        "minProperties": 1
      },
      "JobStage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^stg_[0-9a-f]{32}$",
            "description": "Canonical job stage ID (stg_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "job_id": {
            "type": "string",
            "pattern": "^job_[0-9a-f]{32}$",
            "description": "Canonical job ID (job_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "schedulable": {
            "type": "boolean"
          },
          "ats": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "GREENHOUSE",
                  "ASHBY",
                  "LEVER",
                  "WORKDAY",
                  "SMARTRECRUITERS",
                  "GEM",
                  "KOMBO"
                ]
              },
              "id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ]
          },
          "has_custom_interview_plan": {
            "type": "boolean"
          },
          "settings": {
            "type": "object",
            "properties": {
              "automation": {
                "type": "object",
                "properties": {
                  "is_automated_task_enabled": {
                    "type": "boolean"
                  },
                  "create_automated_task_on_behalf_of": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^usr_[0-9a-f]{32}$",
                    "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "default_task": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "ASSIGN_TASK",
                      "AVAILABILITY_REQUEST",
                      "SELF_SCHEDULE_REQUEST"
                    ],
                    "description": "Default action created when this stage automation runs. ASSIGN_TASK is the stage-default action name used by the job-stage service, distinct from a task-create request's ASSIGN command type."
                  }
                },
                "required": [
                  "is_automated_task_enabled",
                  "create_automated_task_on_behalf_of",
                  "default_task"
                ]
              },
              "candidate_notifications": {
                "type": "object",
                "properties": {
                  "should_send_email": {
                    "type": "boolean"
                  },
                  "should_send_calendar_invite": {
                    "type": "boolean"
                  },
                  "should_send_chat_message": {
                    "type": "boolean"
                  },
                  "should_send_candidate_pulse": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "should_send_email",
                  "should_send_calendar_invite",
                  "should_send_chat_message",
                  "should_send_candidate_pulse"
                ]
              },
              "self_schedule_defaults": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "advance_notice_in_hours": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "rolling_days": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "use_rolling_days": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "number_of_days": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "location": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "NONE",
                      "ZOOM",
                      "GOOGLE_MEET",
                      "PHONE",
                      "CUSTOM",
                      "MICROSOFT_TEAMS"
                    ],
                    "description": "Location type for self-scheduled interviews. GOOGLE_MEET creates a Google Meet link."
                  },
                  "custom_location": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "is_private_calendar_event": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "should_respect_load_limit": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "can_schedule_over_recruiting_keywords": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "can_schedule_over_available_keywords": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "can_schedule_over_free_time": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "candidate_note": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "advance_notice_in_hours",
                  "rolling_days",
                  "use_rolling_days",
                  "number_of_days",
                  "location",
                  "custom_location",
                  "is_private_calendar_event",
                  "should_respect_load_limit",
                  "can_schedule_over_recruiting_keywords",
                  "can_schedule_over_available_keywords",
                  "can_schedule_over_free_time",
                  "candidate_note"
                ]
              },
              "availability_request_defaults": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "number_of_days": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "minutes_per_day": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "minimum_time_block_minutes": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "advance_notice_minutes": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "rolling_days": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "use_rolling_days": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "timeframe_number_of_days": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "should_respect_load_limit": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "can_schedule_over_recruiting_keywords": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "can_schedule_over_available_keywords": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "can_schedule_over_free_time": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "candidate_note": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "number_of_days",
                  "minutes_per_day",
                  "minimum_time_block_minutes",
                  "advance_notice_minutes",
                  "rolling_days",
                  "use_rolling_days",
                  "timeframe_number_of_days",
                  "should_respect_load_limit",
                  "can_schedule_over_recruiting_keywords",
                  "can_schedule_over_available_keywords",
                  "can_schedule_over_free_time",
                  "candidate_note"
                ]
              }
            },
            "required": [
              "automation",
              "candidate_notifications",
              "self_schedule_defaults",
              "availability_request_defaults"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "job_id",
          "name",
          "index",
          "schedulable",
          "ats",
          "has_custom_interview_plan",
          "settings",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "JobStageSettingsPatch": {
        "type": "object",
        "properties": {
          "automation": {
            "type": "object",
            "properties": {
              "is_automated_task_enabled": {
                "type": "boolean"
              },
              "create_automated_task_on_behalf_of": {
                "type": [
                  "string",
                  "null"
                ],
                "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "default_task": {
                "type": "string",
                "enum": [
                  "ASSIGN_TASK",
                  "AVAILABILITY_REQUEST",
                  "SELF_SCHEDULE_REQUEST"
                ],
                "description": "Sets the default task when supplied; omission preserves it. Null is not accepted because the Java handler treats the unspecified enum as unchanged rather than clear."
              }
            },
            "additionalProperties": false,
            "description": "Partially updates automation settings; omitted fields preserve their current values."
          },
          "candidate_notifications": {
            "type": "object",
            "properties": {
              "should_send_email": {
                "type": "boolean"
              },
              "should_send_calendar_invite": {
                "type": "boolean"
              },
              "should_send_chat_message": {
                "type": "boolean"
              },
              "should_send_candidate_pulse": {
                "type": "boolean"
              }
            },
            "additionalProperties": false,
            "description": "Partially updates candidate-notification settings; omitted fields preserve their current values."
          },
          "self_schedule_defaults": {
            "type": "object",
            "properties": {
              "advance_notice_in_hours": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "rolling_days": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "use_rolling_days": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "number_of_days": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "location": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "NONE",
                  "ZOOM",
                  "GOOGLE_MEET",
                  "PHONE",
                  "CUSTOM",
                  "MICROSOFT_TEAMS"
                ],
                "description": "Location type for self-scheduled interviews. GOOGLE_MEET creates a Google Meet link."
              },
              "custom_location": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "is_private_calendar_event": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "should_respect_load_limit": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "can_schedule_over_recruiting_keywords": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "can_schedule_over_available_keywords": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "can_schedule_over_free_time": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "candidate_note": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false,
            "description": "Partially updates self-schedule defaults; omitted fields preserve their current values."
          },
          "availability_request_defaults": {
            "type": "object",
            "properties": {
              "number_of_days": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "minutes_per_day": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "minimum_time_block_minutes": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "advance_notice_minutes": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "rolling_days": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "use_rolling_days": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "timeframe_number_of_days": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "should_respect_load_limit": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "can_schedule_over_recruiting_keywords": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "can_schedule_over_available_keywords": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "can_schedule_over_free_time": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "candidate_note": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false,
            "description": "Partially updates availability-request defaults; omitted fields preserve their current values."
          }
        },
        "additionalProperties": false,
        "description": "Job-stage settings patch. Include at least one settings group."
      },
      "JobStagePatch": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/JobStageSettingsPatch"
          }
        },
        "required": [
          "settings"
        ],
        "additionalProperties": false
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^usr_[0-9a-f]{32}$",
            "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "manager_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^usr_[0-9a-f]{32}$",
            "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "ats": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "GREENHOUSE",
                  "ASHBY",
                  "LEVER",
                  "WORKDAY",
                  "SMARTRECRUITERS",
                  "GEM",
                  "KOMBO"
                ]
              },
              "id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ]
          },
          "load": {
            "type": "object",
            "properties": {
              "daily_interviews": {
                "type": "integer"
              },
              "daily_limit": {
                "type": "integer"
              },
              "daily_load_limit": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "source": {
                    "type": "string",
                    "enum": [
                      "ORG",
                      "USER"
                    ]
                  },
                  "limit": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "NUMBER_OF_INTERVIEWS",
                      "NUMBER_OF_MINUTES"
                    ]
                  }
                },
                "required": [
                  "source",
                  "limit",
                  "type"
                ]
              },
              "weekly_interviews": {
                "type": "integer"
              },
              "weekly_limit": {
                "type": "integer"
              },
              "weekly_load_limit": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "source": {
                    "type": "string",
                    "enum": [
                      "ORG",
                      "USER"
                    ]
                  },
                  "limit": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "NUMBER_OF_INTERVIEWS",
                      "NUMBER_OF_MINUTES"
                    ]
                  }
                },
                "required": [
                  "source",
                  "limit",
                  "type"
                ]
              }
            },
            "required": [
              "daily_interviews",
              "daily_limit",
              "daily_load_limit",
              "weekly_interviews",
              "weekly_limit",
              "weekly_load_limit"
            ]
          },
          "paused": {
            "type": "object",
            "properties": {
              "is_paused": {
                "type": "boolean"
              },
              "until": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
              }
            },
            "required": [
              "is_paused",
              "until"
            ]
          },
          "pause_dates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "start_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
                },
                "end_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
                }
              },
              "required": [
                "start_at",
                "end_at"
              ]
            }
          },
          "work_hours": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "enum": [
                  "ORG",
                  "USER"
                ]
              },
              "blocks": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "day": {
                      "type": "string"
                    },
                    "start": {
                      "type": "string"
                    },
                    "end": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "day",
                    "start",
                    "end"
                  ]
                }
              }
            },
            "required": [
              "source",
              "blocks"
            ]
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "attribute_name": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^att_[0-9a-f]{32}$",
                      "description": "Canonical user attribute ID (att_ followed by 32 lowercase hexadecimal UUID characters).",
                      "example": "att_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                    },
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "DEPARTMENT",
                        "TEAM",
                        "LEVEL",
                        "LOCATION",
                        "COUNTRY",
                        "CUSTOM"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "type"
                  ]
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "pattern": "^atv_[0-9a-f]{32}$",
                        "description": "Canonical user attribute value ID (atv_ followed by 32 lowercase hexadecimal UUID characters).",
                        "example": "atv_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "name"
                    ]
                  }
                }
              },
              "required": [
                "attribute_name",
                "values"
              ]
            }
          },
          "modules": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "module": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^mod_[0-9a-f]{32}$",
                      "description": "Canonical interview module ID (mod_ followed by 32 lowercase hexadecimal UUID characters).",
                      "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                },
                "training_status": {
                  "type": "string",
                  "enum": [
                    "TRAINED",
                    "SHADOW",
                    "REVERSE_SHADOW"
                  ]
                },
                "is_paused": {
                  "type": "boolean"
                }
              },
              "required": [
                "module",
                "training_status",
                "is_paused"
              ]
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "name",
          "email",
          "title",
          "timezone",
          "manager_id",
          "ats",
          "load",
          "paused",
          "pause_dates",
          "work_hours",
          "attributes",
          "modules",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "UserPatch": {
        "type": "object",
        "properties": {
          "interview_pause_dates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "start_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "end_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "start_at",
                "end_at"
              ],
              "additionalProperties": false
            }
          },
          "work_hours": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "object",
              "properties": {
                "day": {
                  "type": "string",
                  "enum": [
                    "MONDAY",
                    "TUESDAY",
                    "WEDNESDAY",
                    "THURSDAY",
                    "FRIDAY",
                    "SATURDAY",
                    "SUNDAY"
                  ]
                },
                "start": {
                  "type": "string",
                  "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                },
                "end": {
                  "type": "string",
                  "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                }
              },
              "required": [
                "day",
                "start",
                "end"
              ],
              "additionalProperties": false
            }
          },
          "daily_load_limit": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "limit": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "type": {
                "type": "string",
                "enum": [
                  "NUMBER_OF_INTERVIEWS",
                  "NUMBER_OF_MINUTES"
                ]
              }
            },
            "required": [
              "limit",
              "type"
            ],
            "additionalProperties": false
          },
          "weekly_load_limit": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "limit": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "type": {
                "type": "string",
                "enum": [
                  "NUMBER_OF_INTERVIEWS",
                  "NUMBER_OF_MINUTES"
                ]
              }
            },
            "required": [
              "limit",
              "type"
            ],
            "additionalProperties": false
          },
          "title": {
            "type": "string",
            "description": "Use an empty string to clear the title; null is not supported by the backend."
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "locale": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "EN_US",
              "FR_FR",
              "DA_DK",
              "KO_KR",
              "JA_JP",
              "ZH_CN",
              "ZH_TW",
              "ES_419",
              "ES_ES",
              "PT_BR",
              "FR_CA"
            ]
          },
          "phone_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "linkedin_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "manager_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "given_name": {
            "type": "string",
            "minLength": 1
          },
          "family_name": {
            "type": "string",
            "minLength": 1
          },
          "full_name": {
            "type": "string",
            "minLength": 1
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "attribute_name_id": {
                  "type": "string",
                  "pattern": "^(?:att_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                  "description": "an user attribute ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                  "example": "att_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                },
                "value_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^(?:atv_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                    "description": "an user attribute value ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                    "example": "atv_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  }
                }
              },
              "required": [
                "attribute_name_id",
                "value_ids"
              ],
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      },
      "InterviewModuleMemberCounts": {
        "type": "object",
        "properties": {
          "members_trained_count": {
            "type": "integer",
            "minimum": 0
          },
          "members_in_shadow_count": {
            "type": "integer",
            "minimum": 0
          },
          "members_in_reverse_shadow_count": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "members_trained_count",
          "members_in_shadow_count",
          "members_in_reverse_shadow_count"
        ]
      },
      "InterviewModule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^mod_[0-9a-f]{32}$",
            "description": "Canonical interview module ID (mod_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "shadows_required": {
            "type": "integer"
          },
          "reverse_shadows_required": {
            "type": "integer"
          },
          "graduation_approval": {
            "type": "string",
            "enum": [
              "AUTOMATIC",
              "SCHEDULER",
              "CUSTOM"
            ]
          },
          "weekly_interview_limit": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Maximum interviews per week; null means unlimited."
          },
          "member_counts": {
            "$ref": "#/components/schemas/InterviewModuleMemberCounts"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "name",
          "shadows_required",
          "reverse_shadows_required",
          "graduation_approval",
          "weekly_interview_limit",
          "member_counts",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "InterviewModuleCreate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Module name. Required on create; PATCH replaces it when supplied."
          },
          "shadows_required": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20,
            "description": "Required shadow interviews. Required on create; PATCH replaces it when supplied."
          },
          "reverse_shadows_required": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20,
            "description": "Required reverse-shadow interviews. Required on create; PATCH replaces it when supplied."
          },
          "graduate_from_shadow_approval_type": {
            "type": "string",
            "enum": [
              "AUTOMATIC",
              "SCHEDULER",
              "CUSTOM"
            ],
            "description": "Approval mode for graduating from shadow training. Required on create; PATCH replaces it when supplied."
          },
          "graduate_from_shadow_custom_approvers": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TRAINED",
                "TRAINEE",
                "SCHEDULER"
              ]
            },
            "description": "Complete approver-role list for shadow graduation. Required on create; PATCH replaces the list when supplied."
          },
          "graduate_from_reverse_shadow_approval_type": {
            "type": "string",
            "enum": [
              "AUTOMATIC",
              "SCHEDULER",
              "CUSTOM"
            ],
            "description": "Approval mode for graduating from reverse-shadow training. Required on create; PATCH replaces it when supplied."
          },
          "graduate_from_reverse_shadow_custom_approvers": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TRAINED",
                "TRAINEE",
                "SCHEDULER"
              ]
            },
            "description": "Complete approver-role list for reverse-shadow graduation. Required on create; PATCH replaces the list when supplied."
          },
          "weekly_interview_limit": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 10,
            "description": "Maximum interviews per week; null means unlimited."
          },
          "should_fast_track_training": {
            "type": "boolean",
            "description": "Enables fast-track training when true. On PATCH, omission preserves the current value."
          }
        },
        "required": [
          "name",
          "shadows_required",
          "reverse_shadows_required",
          "graduate_from_shadow_approval_type",
          "graduate_from_shadow_custom_approvers",
          "graduate_from_reverse_shadow_approval_type",
          "graduate_from_reverse_shadow_custom_approvers",
          "weekly_interview_limit"
        ],
        "additionalProperties": false
      },
      "InterviewModulePatch": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Module name. Required on create; PATCH replaces it when supplied."
          },
          "shadows_required": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20,
            "description": "Required shadow interviews. Required on create; PATCH replaces it when supplied."
          },
          "reverse_shadows_required": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20,
            "description": "Required reverse-shadow interviews. Required on create; PATCH replaces it when supplied."
          },
          "graduate_from_shadow_approval_type": {
            "type": "string",
            "enum": [
              "AUTOMATIC",
              "SCHEDULER",
              "CUSTOM"
            ],
            "description": "Approval mode for graduating from shadow training. Required on create; PATCH replaces it when supplied."
          },
          "graduate_from_shadow_custom_approvers": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TRAINED",
                "TRAINEE",
                "SCHEDULER"
              ]
            },
            "description": "Complete approver-role list for shadow graduation. Required on create; PATCH replaces the list when supplied."
          },
          "graduate_from_reverse_shadow_approval_type": {
            "type": "string",
            "enum": [
              "AUTOMATIC",
              "SCHEDULER",
              "CUSTOM"
            ],
            "description": "Approval mode for graduating from reverse-shadow training. Required on create; PATCH replaces it when supplied."
          },
          "graduate_from_reverse_shadow_custom_approvers": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "TRAINED",
                "TRAINEE",
                "SCHEDULER"
              ]
            },
            "description": "Complete approver-role list for reverse-shadow graduation. Required on create; PATCH replaces the list when supplied."
          },
          "weekly_interview_limit": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 10,
            "description": "Maximum interviews per week; null means unlimited."
          },
          "should_fast_track_training": {
            "type": "boolean",
            "description": "Enables fast-track training when true. On PATCH, omission preserves the current value."
          }
        },
        "additionalProperties": false
      },
      "InterviewModuleDeleted": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^mod_[0-9a-f]{32}$",
            "description": "Canonical interview module ID (mod_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "deleted"
        ]
      },
      "InterviewModuleTrainingProgress": {
        "type": "object",
        "properties": {
          "completed_as_shadow": {
            "type": "integer"
          },
          "completed_as_reverse_shadow": {
            "type": "integer"
          },
          "upcoming_as_shadow": {
            "type": "integer"
          },
          "upcoming_as_reverse_shadow": {
            "type": "integer"
          },
          "manual_completed_as_shadow": {
            "type": "integer"
          },
          "manual_completed_as_reverse_shadow": {
            "type": "integer"
          },
          "all_interviews_as_shadow": {
            "type": "integer"
          },
          "all_interviews_as_reverse_shadow": {
            "type": "integer"
          },
          "shadows_required": {
            "type": "integer"
          },
          "reverse_shadows_required": {
            "type": "integer"
          },
          "needs_approval": {
            "type": "boolean"
          },
          "is_fast_track_training_enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "completed_as_shadow",
          "completed_as_reverse_shadow",
          "upcoming_as_shadow",
          "upcoming_as_reverse_shadow",
          "manual_completed_as_shadow",
          "manual_completed_as_reverse_shadow",
          "all_interviews_as_shadow",
          "all_interviews_as_reverse_shadow",
          "shadows_required",
          "reverse_shadows_required",
          "needs_approval",
          "is_fast_track_training_enabled"
        ]
      },
      "InterviewModuleMember": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              },
              "app_url": {
                "type": "string",
                "format": "uri",
                "description": "Link that opens this resource in the ModernLoop app."
              }
            },
            "required": [
              "id",
              "name",
              "app_url"
            ]
          },
          "training_status": {
            "type": "string",
            "enum": [
              "TRAINED",
              "SHADOW",
              "REVERSE_SHADOW"
            ]
          },
          "next_status": {
            "type": "string",
            "enum": [
              "TRAINED",
              "SHADOW",
              "REVERSE_SHADOW"
            ]
          },
          "paused": {
            "type": "object",
            "properties": {
              "is_paused": {
                "type": "boolean"
              },
              "until": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
              }
            },
            "required": [
              "is_paused",
              "until"
            ]
          },
          "shadow_started_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "reverse_shadow_started_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "trained_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "time_to_train": {
            "type": "integer",
            "minimum": 0
          },
          "weekly_interview_limit_override": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Member-specific maximum interviews per week; null means unlimited."
          },
          "progress_percentage": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Share of all required shadow and reverse-shadow sessions completed, including manually completed sessions. It is 100 once trained."
          },
          "training_progress": {
            "$ref": "#/components/schemas/InterviewModuleTrainingProgress"
          }
        },
        "required": [
          "user",
          "training_status",
          "next_status",
          "paused",
          "shadow_started_at",
          "reverse_shadow_started_at",
          "trained_at",
          "time_to_train",
          "weekly_interview_limit_override",
          "progress_percentage",
          "training_progress"
        ]
      },
      "InterviewModuleMemberCreate": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "training_status": {
            "type": "string",
            "enum": [
              "TRAINED",
              "SHADOW",
              "REVERSE_SHADOW"
            ]
          },
          "shadows_required": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20
          },
          "reverse_shadows_required": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20
          },
          "weekly_interview_limit_override": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 10,
            "description": "Maximum interviews per week; null means unlimited."
          }
        },
        "required": [
          "user_id"
        ],
        "additionalProperties": false
      },
      "InterviewModuleStats": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InterviewModuleMemberCounts"
          },
          {
            "type": "object",
            "properties": {
              "members_trained_count": {
                "type": "integer",
                "minimum": 0,
                "description": "Active members who have completed training.",
                "example": 14
              },
              "members_in_shadow_count": {
                "type": "integer",
                "minimum": 0,
                "description": "Active members currently in shadow training.",
                "example": 6
              },
              "members_in_reverse_shadow_count": {
                "type": "integer",
                "minimum": 0,
                "description": "Active members currently in reverse-shadow training.",
                "example": 4
              },
              "members_count": {
                "type": "integer",
                "minimum": 0,
                "description": "Total active members in the interview module.",
                "example": 24
              },
              "members_in_training_count": {
                "type": "integer",
                "minimum": 0,
                "description": "Active members currently shadowing or reverse shadowing.",
                "example": 10
              },
              "members_in_pending_approval_count": {
                "type": "integer",
                "minimum": 0,
                "description": "Members whose completed training is awaiting graduation approval.",
                "example": 2
              }
            },
            "required": [
              "members_count",
              "members_in_training_count",
              "members_in_pending_approval_count"
            ]
          }
        ]
      },
      "InterviewModuleMemberTrainingStats": {
        "type": "object",
        "properties": {
          "completed": {
            "type": "integer"
          },
          "upcoming": {
            "type": "integer"
          },
          "completed_as_shadow": {
            "type": "integer"
          },
          "completed_as_reverse_shadow": {
            "type": "integer"
          },
          "completed_as_interviewer": {
            "type": "integer"
          },
          "manual_completed_as_shadow": {
            "type": "integer"
          },
          "manual_completed_as_reverse_shadow": {
            "type": "integer"
          },
          "manual_completed_as_interviewer": {
            "type": "integer"
          },
          "training_status": {
            "type": "string",
            "enum": [
              "TRAINED",
              "SHADOW",
              "REVERSE_SHADOW"
            ]
          },
          "trainings_to_pass": {
            "type": "integer"
          },
          "shadows_required": {
            "type": "integer"
          },
          "reverse_shadows_required": {
            "type": "integer"
          },
          "shadow_offset": {
            "type": "integer"
          },
          "reverse_shadow_offset": {
            "type": "integer"
          },
          "current_training_session": {
            "type": [
              "string",
              "null"
            ]
          },
          "current_training_session_status": {
            "type": "string",
            "enum": [
              "NONE",
              "SCHEDULED",
              "REQUIRED_INTERVIEWS_SCHEDULED",
              "UNSCHEDULED",
              "NEEDS_APPROVAL"
            ]
          },
          "paused": {
            "type": "object",
            "properties": {
              "is_paused": {
                "type": "boolean"
              },
              "until": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time",
                "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
              }
            },
            "required": [
              "is_paused",
              "until"
            ]
          }
        },
        "required": [
          "completed",
          "upcoming",
          "completed_as_shadow",
          "completed_as_reverse_shadow",
          "completed_as_interviewer",
          "manual_completed_as_shadow",
          "manual_completed_as_reverse_shadow",
          "manual_completed_as_interviewer",
          "training_status",
          "trainings_to_pass",
          "shadows_required",
          "reverse_shadows_required",
          "shadow_offset",
          "reverse_shadow_offset",
          "current_training_session",
          "current_training_session_status",
          "paused"
        ],
        "description": "Detailed training progress for one member in one interview module, including completed and upcoming interviews, remaining requirements, and pause state.",
        "example": {
          "completed": 3,
          "upcoming": 1,
          "completed_as_shadow": 2,
          "completed_as_reverse_shadow": 1,
          "completed_as_interviewer": 0,
          "manual_completed_as_shadow": 1,
          "manual_completed_as_reverse_shadow": 0,
          "manual_completed_as_interviewer": 0,
          "training_status": "REVERSE_SHADOW",
          "trainings_to_pass": 1,
          "shadows_required": 2,
          "reverse_shadows_required": 2,
          "shadow_offset": 1,
          "reverse_shadow_offset": 0,
          "current_training_session": "Reverse shadow 2",
          "current_training_session_status": "SCHEDULED",
          "paused": {
            "is_paused": false,
            "until": null
          }
        }
      },
      "InterviewModuleMemberPatch": {
        "type": "object",
        "properties": {
          "training_status": {
            "type": "string",
            "enum": [
              "TRAINED"
            ],
            "description": "Administratively marks the member TRAINED. Earlier training phases can only change through the module's count-driven and approval-gated graduation rules.",
            "example": "TRAINED"
          },
          "paused_until": {
            "type": "string",
            "format": "date-time",
            "description": "Pauses the member until this timestamp. Cannot be combined with another pause field.",
            "example": "2026-08-01T09:00:00.000Z"
          },
          "pause_indefinitely": {
            "type": "boolean",
            "enum": [
              true
            ],
            "description": "Pauses the member indefinitely. Cannot be combined with another pause field.",
            "example": true
          },
          "clear_pause": {
            "type": "boolean",
            "enum": [
              true
            ],
            "description": "Clears the member's pause. Cannot be combined with another pause field.",
            "example": true
          },
          "shadows_required": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20,
            "description": "Sets the member-specific required shadow interview count from 0 through 20.",
            "example": 2
          },
          "reverse_shadows_required": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20,
            "description": "Sets the member-specific required reverse-shadow interview count from 0 through 20.",
            "example": 1
          },
          "shadow_or_reverse_shadow_increment_by": {
            "type": "integer",
            "description": "Adjusts the required count for the member's current SHADOW or REVERSE_SHADOW phase. May be negative.",
            "example": 1
          },
          "weekly_interview_limit_override": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 10,
            "description": "Sets the member-specific weekly interview limit override from 1 through 10; null means unlimited.",
            "example": 4
          },
          "trained_at": {
            "type": "string",
            "format": "date-time",
            "description": "Sets the member's trained timestamp. Cannot be combined with clear_trained_at.",
            "example": "2026-07-15T14:30:00.000Z"
          },
          "clear_trained_at": {
            "type": "boolean",
            "enum": [
              true
            ],
            "description": "Clears the member's trained timestamp. Cannot be combined with trained_at.",
            "example": true
          },
          "added_to_module_at": {
            "type": "string",
            "format": "date-time",
            "description": "Overrides the timestamp when the interviewer was added to the module.",
            "example": "2026-06-01T12:00:00.000Z"
          }
        },
        "additionalProperties": false,
        "description": "A partial interview-module membership update. Include at least one field. Unknown fields are rejected.",
        "example": {
          "shadows_required": 2,
          "reverse_shadows_required": 1,
          "weekly_interview_limit_override": 4
        }
      },
      "InterviewModuleMemberDeleted": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "deleted"
        ]
      },
      "Me": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^usr_[0-9a-f]{32}$",
            "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          },
          "organization": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^org_[0-9a-f]{32}$",
                "description": "Canonical organization ID (org_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "org_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              },
              "app_url": {
                "type": "string",
                "format": "uri",
                "description": "Link that opens this resource in the ModernLoop app."
              }
            },
            "required": [
              "id",
              "name",
              "app_url"
            ]
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Scopes granted to the presented token, sorted ascending."
          },
          "tool_access": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tool": {
                  "type": "string"
                },
                "available": {
                  "type": "boolean"
                },
                "missing_scope": {
                  "type": "string"
                }
              },
              "required": [
                "tool",
                "available"
              ]
            },
            "description": "For every public MCP tool in stable registry order, available predicts whether a call can succeed with the granted scopes. Endpoint variant and connection-level include_tools/exclude_tools can further restrict visibility. A tool may appear in tools/list yet return INSUFFICIENT_SCOPE, so use this field to plan calls and tools/list for per-connection visibility."
          }
        },
        "required": [
          "id",
          "name",
          "email",
          "app_url",
          "organization",
          "scopes",
          "tool_access"
        ]
      },
      "OrganizationSettings": {
        "type": "object",
        "properties": {
          "work_hours": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "day": {
                  "type": "string",
                  "enum": [
                    "MONDAY",
                    "TUESDAY",
                    "WEDNESDAY",
                    "THURSDAY",
                    "FRIDAY",
                    "SATURDAY",
                    "SUNDAY"
                  ]
                },
                "start": {
                  "type": "string"
                },
                "end": {
                  "type": "string"
                }
              },
              "required": [
                "day",
                "start",
                "end"
              ]
            }
          },
          "interviewer_load_limits": {
            "type": "object",
            "properties": {
              "daily": {
                "type": "object",
                "properties": {
                  "maximum": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "limit": {
                        "type": "integer",
                        "exclusiveMinimum": 0
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "NUMBER_OF_INTERVIEWS",
                          "NUMBER_OF_MINUTES"
                        ]
                      }
                    },
                    "required": [
                      "limit",
                      "type"
                    ]
                  },
                  "minimum": {
                    "type": "object",
                    "properties": {
                      "interviews": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "minutes": {
                        "type": "integer",
                        "minimum": 0
                      }
                    },
                    "required": [
                      "interviews",
                      "minutes"
                    ]
                  }
                },
                "required": [
                  "maximum",
                  "minimum"
                ]
              },
              "weekly": {
                "type": "object",
                "properties": {
                  "maximum": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "limit": {
                        "type": "integer",
                        "exclusiveMinimum": 0
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "NUMBER_OF_INTERVIEWS",
                          "NUMBER_OF_MINUTES"
                        ]
                      }
                    },
                    "required": [
                      "limit",
                      "type"
                    ]
                  },
                  "minimum": {
                    "type": "object",
                    "properties": {
                      "interviews": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "minutes": {
                        "type": "integer",
                        "minimum": 0
                      }
                    },
                    "required": [
                      "interviews",
                      "minutes"
                    ]
                  }
                },
                "required": [
                  "maximum",
                  "minimum"
                ]
              }
            },
            "required": [
              "daily",
              "weekly"
            ]
          },
          "interview_buffer": {
            "type": "object",
            "properties": {
              "before_minutes": {
                "anyOf": [
                  {
                    "type": "number",
                    "enum": [
                      0
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      15
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      30
                    ]
                  }
                ]
              },
              "after_minutes": {
                "anyOf": [
                  {
                    "type": "number",
                    "enum": [
                      0
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      15
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      30
                    ]
                  }
                ]
              }
            },
            "required": [
              "before_minutes",
              "after_minutes"
            ]
          },
          "feedback_writing_time_minutes": {
            "anyOf": [
              {
                "type": "number",
                "enum": [
                  0
                ]
              },
              {
                "type": "number",
                "enum": [
                  15
                ]
              },
              {
                "type": "number",
                "enum": [
                  30
                ]
              }
            ],
            "description": "Allowed values: 0, 15, or 30 minutes."
          },
          "conflict_keywords": {
            "type": "object",
            "properties": {
              "out_of_office": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "\\S"
                }
              },
              "avoid": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "\\S"
                }
              },
              "available_if_needed": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "\\S"
                }
              },
              "recruiting_block": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "\\S"
                }
              }
            },
            "required": [
              "out_of_office",
              "avoid",
              "available_if_needed",
              "recruiting_block"
            ]
          }
        },
        "required": [
          "work_hours",
          "interviewer_load_limits",
          "interview_buffer",
          "feedback_writing_time_minutes",
          "conflict_keywords"
        ]
      },
      "Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^org_[0-9a-f]{32}$",
            "description": "Canonical organization ID (org_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "org_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "settings": {
            "$ref": "#/components/schemas/OrganizationSettings"
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "name",
          "domain",
          "settings",
          "app_url"
        ]
      },
      "OrganizationSettingsPatch": {
        "type": "object",
        "properties": {
          "work_hours": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "day": {
                  "type": "string",
                  "enum": [
                    "MONDAY",
                    "TUESDAY",
                    "WEDNESDAY",
                    "THURSDAY",
                    "FRIDAY",
                    "SATURDAY",
                    "SUNDAY"
                  ]
                },
                "start": {
                  "type": "string",
                  "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                },
                "end": {
                  "type": "string",
                  "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                }
              },
              "required": [
                "day",
                "start",
                "end"
              ],
              "additionalProperties": false
            },
            "description": "Replaces the complete organization work-hours schedule when supplied; omission preserves it."
          },
          "interviewer_load_limits": {
            "type": "object",
            "properties": {
              "daily": {
                "type": "object",
                "properties": {
                  "maximum": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "limit": {
                        "type": "integer",
                        "exclusiveMinimum": 0
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "NUMBER_OF_INTERVIEWS",
                          "NUMBER_OF_MINUTES"
                        ]
                      }
                    },
                    "required": [
                      "limit",
                      "type"
                    ],
                    "additionalProperties": false
                  },
                  "minimum": {
                    "type": "object",
                    "properties": {
                      "interviews": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "minutes": {
                        "type": "integer",
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "weekly": {
                "type": "object",
                "properties": {
                  "maximum": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "limit": {
                        "type": "integer",
                        "exclusiveMinimum": 0
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "NUMBER_OF_INTERVIEWS",
                          "NUMBER_OF_MINUTES"
                        ]
                      }
                    },
                    "required": [
                      "limit",
                      "type"
                    ],
                    "additionalProperties": false
                  },
                  "minimum": {
                    "type": "object",
                    "properties": {
                      "interviews": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "minutes": {
                        "type": "integer",
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false,
            "description": "Partially updates daily and weekly limits; omitted periods retain their current values."
          },
          "interview_buffer": {
            "type": "object",
            "properties": {
              "before_minutes": {
                "anyOf": [
                  {
                    "type": "number",
                    "enum": [
                      0
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      15
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      30
                    ]
                  }
                ]
              },
              "after_minutes": {
                "anyOf": [
                  {
                    "type": "number",
                    "enum": [
                      0
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      15
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      30
                    ]
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "Partially updates interview-buffer minutes; omitted values retain their current values."
          },
          "feedback_writing_time_minutes": {
            "anyOf": [
              {
                "type": "number",
                "enum": [
                  0
                ]
              },
              {
                "type": "number",
                "enum": [
                  15
                ]
              },
              {
                "type": "number",
                "enum": [
                  30
                ]
              }
            ],
            "description": "Replaces the feedback-writing time when supplied; omission preserves it."
          },
          "conflict_keywords": {
            "type": "object",
            "properties": {
              "out_of_office": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "\\S"
                }
              },
              "avoid": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "\\S"
                }
              },
              "available_if_needed": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "\\S"
                }
              },
              "recruiting_block": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "\\S"
                }
              }
            },
            "additionalProperties": false,
            "description": "Partially updates conflict-keyword lists; omitted lists retain their current values, while supplied lists replace that category."
          }
        },
        "additionalProperties": false
      },
      "OrganizationPatch": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/OrganizationSettingsPatch"
          }
        },
        "required": [
          "settings"
        ],
        "additionalProperties": false
      },
      "InterviewEvent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^int_[0-9a-f]{32}$",
            "description": "Canonical interview event ID (int_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "int_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "schedule_id": {
            "type": "string",
            "pattern": "^sch_[0-9a-f]{32}$",
            "description": "Canonical schedule ID (sch_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "sch_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "start_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "end_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "timezone": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "SCHEDULED",
              "COMPLETED",
              "CANCELED"
            ]
          },
          "application": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^app_[0-9a-f]{32}$",
                "description": "Canonical application ID (app_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "candidate": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^can_[0-9a-f]{32}$",
                    "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              },
              "job": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^job_[0-9a-f]{32}$",
                    "description": "Canonical job ID (job_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              },
              "stage": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^stg_[0-9a-f]{32}$",
                    "description": "Canonical job stage ID (stg_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            },
            "required": [
              "id",
              "candidate",
              "job",
              "stage"
            ]
          },
          "interviewers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^usr_[0-9a-f]{32}$",
                  "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                  "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                },
                "name": {
                  "type": "string"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "INTERVIEWER",
                    "SHADOW",
                    "REVERSE_SHADOW"
                  ]
                },
                "interview_module": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^mod_[0-9a-f]{32}$",
                      "description": "Canonical interview module ID (mod_ followed by 32 lowercase hexadecimal UUID characters).",
                      "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                },
                "rsvp": {
                  "type": "string",
                  "enum": [
                    "ACCEPTED",
                    "DECLINED",
                    "TENTATIVE",
                    "NEEDS_ACTION",
                    "MISSED"
                  ]
                }
              },
              "required": [
                "id",
                "name",
                "role",
                "interview_module",
                "rsvp"
              ]
            }
          },
          "video_meeting_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "is_debrief": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "schedule_id",
          "name",
          "start_at",
          "end_at",
          "timezone",
          "status",
          "application",
          "interviewers",
          "video_meeting_url",
          "is_debrief",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "Schedule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^sch_[0-9a-f]{32}$",
            "description": "Canonical schedule ID (sch_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "sch_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "application": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^app_[0-9a-f]{32}$",
                "description": "Canonical application ID (app_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "candidate": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^can_[0-9a-f]{32}$",
                    "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              },
              "job": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^job_[0-9a-f]{32}$",
                    "description": "Canonical job ID (job_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              },
              "stage": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^stg_[0-9a-f]{32}$",
                    "description": "Canonical job stage ID (stg_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            },
            "required": [
              "id",
              "candidate",
              "job",
              "stage"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "SCHEDULED",
              "PARTIALLY_DECLINED",
              "CANCELED"
            ]
          },
          "start_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "end_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "timezone": {
            "type": "string"
          },
          "interviews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InterviewEvent"
            }
          },
          "task": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^tsk_[0-9a-f]{32}$",
                "description": "Canonical task ID (tsk_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              }
            },
            "required": [
              "id"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "application",
          "status",
          "start_at",
          "end_at",
          "timezone",
          "interviews",
          "task",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "SchedulingTask": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^tsk_[0-9a-f]{32}$",
            "description": "Canonical task ID (tsk_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "application": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^app_[0-9a-f]{32}$",
                "description": "Canonical application ID (app_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "candidate": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^can_[0-9a-f]{32}$",
                    "description": "Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              },
              "job": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^job_[0-9a-f]{32}$",
                    "description": "Canonical job ID (job_ followed by 32 lowercase hexadecimal UUID characters).",
                    "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "name"
                ]
              }
            },
            "required": [
              "id",
              "candidate",
              "job"
            ]
          },
          "job_stage": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^stg_[0-9a-f]{32}$",
                "description": "Canonical job stage ID (stg_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "NEEDS_AVAILABILITY",
              "WAITING_FOR_CANDIDATE",
              "READY_TO_SCHEDULE",
              "READY_TO_RESCHEDULE",
              "HOLD",
              "READY_TO_SEND_TO_CANDIDATE",
              "SCHEDULED",
              "COMPLETED",
              "CANCELED",
              "NEEDS_DEBRIEF"
            ]
          },
          "is_urgent": {
            "type": "boolean"
          },
          "assignee": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^usr_[0-9a-f]{32}$",
                "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "queue_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^que_[0-9a-f]{32}$",
            "description": "Canonical task queue ID (que_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "que_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "flags": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "raised_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
                }
              },
              "required": [
                "code",
                "message",
                "raised_at"
              ]
            }
          },
          "is_debrief_required": {
            "type": "boolean"
          },
          "delegation": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "NONE",
                  "AGENT"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "NONE",
                  "QUEUED",
                  "ACTIVE",
                  "WAITING_ON_CANDIDATE",
                  "WAITING_ON_TEAM",
                  "COMPLETED",
                  "STOPPED"
                ]
              }
            },
            "required": [
              "type",
              "status"
            ]
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "author": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^usr_[0-9a-f]{32}$",
                      "description": "Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID characters).",
                      "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                },
                "body": {
                  "type": "string"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
                }
              },
              "required": [
                "id",
                "author",
                "body",
                "created_at"
              ]
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "application",
          "job_stage",
          "status",
          "is_urgent",
          "assignee",
          "queue_id",
          "tags",
          "flags",
          "is_debrief_required",
          "delegation",
          "notes",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "SchedulingTaskCreate": {
        "type": "object",
        "properties": {
          "application_id": {
            "type": "string",
            "pattern": "^(?:app_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an application ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "job_stage_id": {
            "type": "string",
            "pattern": "^(?:stg_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "a job stage ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "is_urgent": {
            "type": "boolean",
            "default": false,
            "description": "Sets the task urgency. Defaults to false."
          },
          "note": {
            "type": "string",
            "description": "Optional initial internal task note; omit to create no note."
          }
        },
        "required": [
          "application_id",
          "job_stage_id"
        ],
        "additionalProperties": false
      },
      "SchedulingTaskPatch": {
        "type": "object",
        "properties": {
          "assignee_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "is_urgent": {
            "type": "boolean",
            "description": "Replaces the urgency flag when supplied; omit to preserve it."
          },
          "queue_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^(?:que_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "description": "a task queue ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
            "example": "que_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags must already exist in the organization; unknown tags are rejected."
          },
          "is_debrief_required": {
            "type": "boolean",
            "description": "Replaces whether a debrief is required when supplied; omit to preserve it."
          },
          "meeting_location": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "NONE"
                    ]
                  }
                },
                "required": [
                  "type"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CANDIDATE_PHONE"
                    ]
                  }
                },
                "required": [
                  "type"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ZOOM"
                    ]
                  },
                  "host": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "DYNAMIC_INTERVIEWERS"
                            ]
                          }
                        },
                        "required": [
                          "host_type"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "DYNAMIC_SCHEDULER"
                            ]
                          }
                        },
                        "required": [
                          "host_type"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "USER"
                            ]
                          },
                          "host_user_id": {
                            "type": "string",
                            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                          }
                        },
                        "required": [
                          "host_type",
                          "host_user_id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "REMOTE_USER"
                            ]
                          },
                          "remote_video_meeting_host_user_id": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "host_type",
                          "remote_video_meeting_host_user_id"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "type",
                  "host"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "GOOGLE_MEET"
                    ]
                  },
                  "host": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "DYNAMIC_INTERVIEWERS"
                            ]
                          }
                        },
                        "required": [
                          "host_type"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "DYNAMIC_SCHEDULER"
                            ]
                          }
                        },
                        "required": [
                          "host_type"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "USER"
                            ]
                          },
                          "host_user_id": {
                            "type": "string",
                            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                          }
                        },
                        "required": [
                          "host_type",
                          "host_user_id"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "type",
                  "host"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "MICROSOFT_TEAMS"
                    ]
                  },
                  "host": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "DYNAMIC_INTERVIEWERS"
                            ]
                          }
                        },
                        "required": [
                          "host_type"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "DYNAMIC_SCHEDULER"
                            ]
                          }
                        },
                        "required": [
                          "host_type"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "host_type": {
                            "type": "string",
                            "enum": [
                              "USER"
                            ]
                          },
                          "host_user_id": {
                            "type": "string",
                            "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                            "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                            "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
                          }
                        },
                        "required": [
                          "host_type",
                          "host_user_id"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "type",
                  "host"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CUSTOM_LINK"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "type",
                  "value"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CUSTOM_PHONE"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "type",
                  "value"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CUSTOM_TEXT"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "type",
                  "value"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "Replaces the meeting location. Omit to preserve; null clears it."
          }
        },
        "additionalProperties": false
      },
      "CancelSchedulingTaskRequest": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "description": "Optional cancellation reason; omit to cancel without a reason."
          }
        },
        "additionalProperties": false
      },
      "TaskQueue": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^que_[0-9a-f]{32}$",
            "description": "Canonical task queue ID (que_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "que_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "name",
          "created_at",
          "updated_at",
          "app_url"
        ]
      },
      "Template": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^tpl_[0-9a-f]{32}$",
            "description": "Canonical template ID (tpl_ followed by 32 lowercase hexadecimal UUID characters).",
            "example": "tpl_a1b2c3d4e5f64789a1b2c3d4e5f64789"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "SCHEDULE_CONFIRMATION_CANDIDATE_EMAIL",
              "SCHEDULE_CONFIRMATION_CANDIDATE_CALENDAR_INVITE",
              "SCHEDULE_CONFIRMATION_INTERVIEWER_CALENDAR_INVITE",
              "SCHEDULE_CONFIRMATION_INTERNAL_CHAT_MESSAGE",
              "DEBRIEF_CONFIRMATION_ATTENDEE_CALENDAR_INVITE",
              "DEBRIEF_CONFIRMATION_INTERNAL_CHAT_MESSAGE",
              "CANDIDATE_AVAILABILITY_REQUEST_CANDIDATE_EMAIL",
              "CANDIDATE_SELF_SCHEDULE_REQUEST_CANDIDATE_EMAIL",
              "OTHER"
            ]
          },
          "subject": {
            "type": [
              "string",
              "null"
            ]
          },
          "body": {
            "type": [
              "string",
              "null"
            ],
            "description": "Template body as HTML. Placeholder tokens such as {{CANDIDATE_FIRST_NAME}} are returned unexpanded; ModernLoop substitutes them when the template is sent. Null when the template has no body."
          },
          "is_organization_default": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "last_sent_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "ISO 8601 timestamp. Responses are normalized to UTC with a Z suffix."
          },
          "app_url": {
            "type": "string",
            "format": "uri",
            "description": "Link that opens this resource in the ModernLoop app."
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "subject",
          "body",
          "is_organization_default",
          "created_at",
          "updated_at",
          "last_sent_at",
          "app_url"
        ]
      }
    },
    "parameters": {},
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "API tokens are passed as Bearer tokens."
      }
    }
  },
  "paths": {
    "/v1/activities": {
      "get": {
        "operationId": "listActivities",
        "summary": "List activities",
        "description": "Returns paginated scheduling activity log entries for the authenticated organization. Each entry is a flat object with a subject_type discriminant (TASK, APPLICATION, or CANDIDATE) and sparse, top-level relationship refs (task, application, candidate, job, job_stage) that are populated when the underlying rows hydrate and null otherwise. Requires a timestamp range and optionally filters by activity type. Results are ordered by activity timestamp; use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Activity"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:act_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an activity ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "act_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters activities occurring at or after this timestamp."
            },
            "required": true,
            "description": "Filters activities occurring at or after this timestamp.",
            "name": "timestamp_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters activities occurring at or before this timestamp."
            },
            "required": true,
            "description": "Filters activities occurring at or before this timestamp.",
            "name": "timestamp_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "TASK_CREATED",
                  "TASK_ASSIGNED",
                  "CANDIDATE_AVAILABILITY_REQUESTED",
                  "CANDIDATE_AVAILABILITY_SUBMITTED",
                  "SELF_SCHEDULE_REQUESTED",
                  "SCHEDULE_CREATED",
                  "SCHEDULE_UPDATED",
                  "SCHEDULE_RESCHEDULED",
                  "SCHEDULE_CANCELED",
                  "SELF_SCHEDULE_CREATED",
                  "SELF_SCHEDULE_RESCHEDULED",
                  "SELF_SCHEDULE_CANCELED",
                  "INTERVIEWER_RSVP_ACCEPTED",
                  "INTERVIEWER_RSVP_DECLINED",
                  "INTERVIEWER_RSVP_TENTATIVE",
                  "CANDIDATE_RSVP_ACCEPTED",
                  "CANDIDATE_RSVP_DECLINED",
                  "CANDIDATE_RSVP_TENTATIVE",
                  "COMMENT",
                  "INTERVIEWER_AUTO_REPLACED",
                  "CANDIDATE_INTERVIEW_REMINDER_SENT",
                  "CANDIDATE_SELF_SCHEDULE_REMINDER_SENT",
                  "CANDIDATE_AVAILABILITY_REMINDER_SENT",
                  "SCHEDULE_INTERVIEW_ADDED",
                  "SCHEDULE_INTERVIEW_UPDATED",
                  "SCHEDULE_INTERVIEW_CANCELED",
                  "DEBRIEF_CREATED",
                  "DEBRIEF_CANCELED",
                  "DEBRIEF_UPDATED",
                  "DEBRIEF_RESCHEDULED",
                  "CHANGE_REQUESTED",
                  "FLAG_RESOLVED_CHANGE_REQUESTED",
                  "FLAG_RESOLVED_INTERVIEW_DECLINED",
                  "FLAG_RESOLVED_DEBRIEF_DECLINED",
                  "FLAG_RESOLVED_CANDIDATE_DECLINED",
                  "FLAG_RESOLVED_INTERVIEWER_DEACTIVATED",
                  "FLAG_RESOLVED_INTERVIEWER_TENTATIVE",
                  "FLAG_RESOLVED_DEBRIEF_ATTENDEE_TENTATIVE",
                  "FLAG_RESOLVED_DEBRIEF_ATTENDEE_DEACTIVATED",
                  "FLAG_RESOLVED_CANDIDATE_TENTATIVE"
                ]
              },
              "minItems": 1,
              "description": "Matches activities with any listed action type; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches activities with any listed action type; combines with other filters using AND.",
            "name": "types",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "ASC",
                "DESC"
              ],
              "default": "ASC",
              "description": "Sorts activities by timestamp ascending or descending; defaults to ASC."
            },
            "required": false,
            "description": "Sorts activities by timestamp ascending or descending; defaults to ASC.",
            "name": "sort",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/activities/aggregate": {
      "post": {
        "operationId": "aggregateActivities",
        "summary": "Aggregate activities",
        "description": "Returns COUNT(*) buckets for externally visible activities over a required UTC window of at most 92 days. Values follow group_by order, followed by TIME_BUCKET when requested. Empty time buckets are not zero-filled; CARDINALITY and other measures are future extensions.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Activity"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityAggregateInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivityAggregateResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/activity-types": {
      "get": {
        "operationId": "listActivityTypes",
        "summary": "List activity types",
        "description": "Lists the valid activity action types and their descriptions. The type enum is open and grows over time; clients must tolerate unknown values.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Activity"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivityTypeList"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/applications": {
      "get": {
        "operationId": "listApplications",
        "summary": "List applications",
        "description": "Returns paginated application summaries with the candidate, job, current stage, and hiring-team assignments. Combine IDs, candidate IDs, job IDs, statuses, ATS IDs, and record timestamps to narrow results; every supplied filter is applied together. Results are newest first, ordered by created_at descending. Use the cursor to continue the same filtered result set. Jobs the caller cannot access are omitted.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Application"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:app_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an application ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:can_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a candidate ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches applications whose candidate ID is one of these values; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches applications whose candidate ID is one of these values; combines with other filters using AND.",
            "name": "candidate_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:job_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a job ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches applications whose job ID is one of these values; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches applications whose job ID is one of these values; combines with other filters using AND.",
            "name": "job_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "ACTIVE",
                  "REJECTED",
                  "HIRED",
                  "CONVERTED",
                  "ARCHIVED"
                ]
              },
              "minItems": 1,
              "description": "Matches applications whose status is one of these values; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches applications whose status is one of these values; combines with other filters using AND.",
            "name": "statuses",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "description": "Matches applications whose ATS ID is one of these exact values; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches applications whose ATS ID is one of these exact values; combines with other filters using AND.",
            "name": "ats_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Application"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/applications/{applicationId}": {
      "get": {
        "operationId": "getApplication",
        "summary": "Get an application",
        "description": "Returns the application summary with its candidate, job, current stage, status, and hiring-team assignments. The application must belong to the authenticated organization or the request returns not found. Inaccessible applications return PERMISSION_DENIED.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Application"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:app_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an application ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "applicationId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateApplication",
        "summary": "Update an application",
        "description": "Updates the supplied hiring-team assignments. Omitted fields are preserved; nullable team IDs clear their assignment. The response is re-read after the update and contains the application summary. Inaccessible applications return PERMISSION_DENIED.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Application"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:app_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an application ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "applicationId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/audit-logs/api-requests": {
      "get": {
        "operationId": "listApiAuditLogs",
        "summary": "List API audit logs",
        "description": "Returns paginated REST API request audit log entries for the authenticated organization, including method, path, status code, and captured request and response payloads. Requires the audit_logs:read scope and an acting user with the owner-only READ_AUDIT_LOGS permission; other callers receive PERMISSION_DENIED. Results are newest first. Requires a timestamp window of at most 366 days; use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Audit Log"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:aal_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an API audit log entry ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "aal_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Includes entries recorded at or after this timestamp. Required."
            },
            "required": true,
            "description": "Includes entries recorded at or after this timestamp. Required.",
            "name": "timestamp_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Includes entries recorded before this timestamp. Required."
            },
            "required": true,
            "description": "Includes entries recorded before this timestamp. Required.",
            "name": "timestamp_lt",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiAuditLog"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/audit-logs/mcp-tool-calls": {
      "get": {
        "operationId": "listMcpAuditLogs",
        "summary": "List MCP audit logs",
        "description": "Returns paginated MCP tool-call audit log entries for the authenticated organization, including tool name, caller intent, status, and captured tool input and output payloads. Requires the audit_logs:read scope and an acting user with the owner-only READ_AUDIT_LOGS permission; other callers receive PERMISSION_DENIED. Results are newest first. Requires a timestamp window of at most 366 days; use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Audit Log"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:mal_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a MCP audit log entry ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "mal_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Includes entries recorded at or after this timestamp. Required."
            },
            "required": true,
            "description": "Includes entries recorded at or after this timestamp. Required.",
            "name": "timestamp_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Includes entries recorded before this timestamp. Required."
            },
            "required": true,
            "description": "Includes entries recorded before this timestamp. Required.",
            "name": "timestamp_lt",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/McpAuditLog"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/audit-logs/privacy": {
      "get": {
        "operationId": "listPrivacyAuditLogs",
        "summary": "List privacy audit logs",
        "description": "Returns paginated privacy audit ledger entries for the authenticated organization: who accessed whose personal data, when, from which IP addresses, and through which product area. Reads of this ledger are themselves recorded in the API and MCP audit ledgers. Requires the audit_logs:read scope and an acting user with the owner-only READ_AUDIT_LOGS permission; other callers receive PERMISSION_DENIED. Results are newest first. Requires a timestamp window of at most 366 days; use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Audit Log"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:pal_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a privacy audit log entry ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "pal_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Includes entries recorded at or after this timestamp. Required."
            },
            "required": true,
            "description": "Includes entries recorded at or after this timestamp. Required.",
            "name": "timestamp_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Includes entries recorded before this timestamp. Required."
            },
            "required": true,
            "description": "Includes entries recorded before this timestamp. Required.",
            "name": "timestamp_lt",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PrivacyAuditLog"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/candidates": {
      "get": {
        "operationId": "listCandidates",
        "summary": "List candidates",
        "description": "Returns paginated candidate summaries with contact details, hiring-team assignments, ATS metadata, and anonymization state. Combine IDs, email, name, ATS, and record-timestamp filters to narrow results; every supplied filter is applied together. Results are newest first, ordered by created_at descending. Anonymized candidates return redacted PII, and the returned cursor continues the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Candidate"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:can_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a candidate ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive exact match on candidate email; combines with other filters using AND."
            },
            "required": false,
            "description": "Case-insensitive exact match on candidate email; combines with other filters using AND.",
            "name": "email",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive exact match on the candidate's full name, given name, or family name; combines with other filters using AND."
            },
            "required": false,
            "description": "Case-insensitive exact match on the candidate's full name, given name, or family name; combines with other filters using AND.",
            "name": "name",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "description": "Matches candidates whose ATS ID is one of these exact values; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches candidates whose ATS ID is one of these exact values; combines with other filters using AND.",
            "name": "ats_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "GREENHOUSE",
                "ASHBY",
                "LEVER",
                "WORKDAY",
                "SMARTRECRUITERS",
                "GEM",
                "KOMBO"
              ],
              "description": "Filters by ATS provider."
            },
            "required": false,
            "description": "Filters by ATS provider.",
            "name": "ats_type",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Candidate"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/candidates/{candidateId}": {
      "get": {
        "operationId": "getCandidate",
        "summary": "Get a candidate",
        "description": "Returns the candidate's identity, contact details, hiring-team assignments, ATS metadata, and anonymization state. For anonymized candidates, PII fields may be redacted; an unknown or out-of-organization ID returns not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Candidate"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:can_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a candidate ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "candidateId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Candidate"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateCandidate",
        "summary": "Update a candidate",
        "description": "Updates the supplied hiring-team assignments and candidate profile fields. Omitted fields are preserved; nullable team IDs clear their assignment.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Candidate"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:can_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a candidate ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "candidateId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CandidatePatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Candidate"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/interview-events": {
      "get": {
        "operationId": "listInterviewEvents",
        "summary": "List interview events",
        "description": "Flat scheduled interview-event rows for BI exports and person/candidate/date filtering.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Event"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:int_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an interview event ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "int_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Matches interview events starting at or after this timestamp; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches interview events starting at or after this timestamp; combines with other filters using AND.",
            "name": "start_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Matches interview events starting before this timestamp; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches interview events starting before this timestamp; combines with other filters using AND.",
            "name": "start_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches events with any listed interviewer; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches events with any listed interviewer; combines with other filters using AND.",
            "name": "interviewer_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches events with any listed interview module; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches events with any listed interview module; combines with other filters using AND.",
            "name": "interview_module_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:can_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a candidate ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "can_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches events for any listed candidate; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches events for any listed candidate; combines with other filters using AND.",
            "name": "candidate_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:app_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an application ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches events for any listed application; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches events for any listed application; combines with other filters using AND.",
            "name": "application_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:job_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a job ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches events for any listed job; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches events for any listed job; combines with other filters using AND.",
            "name": "job_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "SCHEDULED",
                  "COMPLETED",
                  "CANCELED"
                ]
              },
              "minItems": 1,
              "description": "Matches events with any listed status; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches events with any listed status; combines with other filters using AND.",
            "name": "statuses",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InterviewEvent"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/interview-events/{interviewEventId}": {
      "get": {
        "operationId": "getInterviewEvent",
        "summary": "Get an interview event",
        "description": "Returns one scheduled interview event with its people, application, job, timing, and status details. The event must belong to the authenticated organization or the request returns not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Event"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:int_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview event ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "int_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "interviewEventId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewEvent"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/interview-modules": {
      "post": {
        "operationId": "createInterviewModule",
        "summary": "Create an interview module",
        "description": "Creates an interview module with its shadow and reverse-shadow requirements, graduation rules, and weekly interview limit. The create body supplies the complete training configuration; null weekly_interview_limit means unlimited. The response includes the new module and its initial member counts.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterviewModuleCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModule"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "listInterviewModules",
        "summary": "List interview modules",
        "description": "Returns paginated interview modules with training requirements, weekly limits, and member counts. Combine IDs, an exact case-insensitive name, and record timestamps to narrow results; every supplied filter is applied together. Use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive exact match on the module name; combines with other filters using AND."
            },
            "required": false,
            "description": "Case-insensitive exact match on the module name; combines with other filters using AND.",
            "name": "name",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InterviewModule"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/interview-modules/{moduleId}": {
      "patch": {
        "operationId": "updateInterviewModule",
        "summary": "Update an interview module",
        "description": "Updates the supplied interview-module configuration, including training requirements, graduation rules, weekly limit, and fast-track setting. Omitted fields are preserved, while supplied approver lists replace the complete list for that graduation step. Null weekly_interview_limit means unlimited.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterviewModulePatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModule"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteInterviewModule",
        "summary": "Permanently delete an interview module",
        "description": "Permanently deletes the interview module and all member training history in it. This action cannot be undone. Unknown and cross-organization module IDs return not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModuleDeleted"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "getInterviewModule",
        "summary": "Get an interview module",
        "description": "Returns an interview module's training requirements, graduation configuration, weekly limit, and member counts. The module must belong to the authenticated organization or the request returns not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModule"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/interview-modules/{moduleId}/members": {
      "post": {
        "operationId": "createInterviewModuleMember",
        "summary": "Add a member to an interview module",
        "description": "Adds one employee as a member of an interview module with optional initial training status and per-member requirements. When supplied, the member weekly-limit override uses null to mean unlimited. The response returns the new membership and calculated training progress.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterviewModuleMemberCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModuleMember"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "listInterviewModuleMembers",
        "summary": "List interview module members",
        "description": "Returns paginated module memberships with each employee's current training status, pause state, limits, and training progress. Filter by member IDs or training statuses; every supplied filter is applied together. Use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "TRAINED",
                  "SHADOW",
                  "REVERSE_SHADOW"
                ]
              },
              "minItems": 1,
              "description": "Matches members with any listed training status; combines with ids using AND."
            },
            "required": false,
            "description": "Matches members with any listed training status; combines with ids using AND.",
            "name": "statuses",
            "in": "query",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InterviewModuleMember"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/interview-modules/{moduleId}/members/{memberId}": {
      "get": {
        "operationId": "getInterviewModuleMember",
        "summary": "Get an interview module member",
        "description": "Returns one employee's membership in the module, including current training status, pause state, limits, and calculated training progress. The module and member must be in the authenticated organization or the request returns not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "memberId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModuleMember"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateInterviewModuleMember",
        "summary": "Update an interview module member",
        "description": "Partially updates a member's training requirements, status, pause state, timestamps, and weekly limit. Changes to required counts can advance training through the module's configured approval rules; setting training_status to TRAINED marks the member trained directly.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "memberId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterviewModuleMemberPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModuleMember"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteInterviewModuleMember",
        "summary": "Remove a member from an interview module",
        "description": "Removes a member from an interview module and deletes that member's training progress in the module. This does not delete the employee or the module itself. An unknown module or member returns not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "memberId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModuleMemberDeleted"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/interview-modules/{moduleId}/members/{memberId}/stats": {
      "get": {
        "operationId": "getInterviewModuleMemberStats",
        "summary": "Get interview module member stats",
        "description": "Returns detailed training counts, remaining requirements, current session state, and pause state for one interview module member.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "memberId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModuleMemberTrainingStats"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/interview-modules/{moduleId}/stats": {
      "get": {
        "operationId": "getInterviewModuleStats",
        "summary": "Get interview module statistics",
        "description": "Returns member training counts for one interview module. Modules outside the authenticated organization are reported as not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Interview Module"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "moduleId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterviewModuleStats"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/job-stages": {
      "get": {
        "operationId": "listJobStages",
        "summary": "List job stages",
        "description": "Returns job-stage summaries and resolved settings for the requested stage IDs or a single job. At least one of ids or job_id is required; when both are supplied, only stages that satisfy both are returned. This operation returns a single unpaginated result page. Jobs the caller cannot access are omitted.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Job Stage"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:stg_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a job stage ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:job_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a job ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": false,
            "description": "Matches stages belonging to this exact job ID. When ids is also supplied, results must match both filters.",
            "name": "job_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/JobStage"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/job-stages/{jobStageId}": {
      "get": {
        "operationId": "getJobStage",
        "summary": "Get a job stage",
        "description": "Returns a job stage with its job reference and resolved settings. An unknown or out-of-organization stage ID returns not found. The request returns PERMISSION_DENIED when the caller cannot access the job.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Job Stage"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:stg_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a job stage ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "jobStageId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobStage"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateJobStage",
        "summary": "Update a job stage",
        "description": "Updates a job stage's settings. Targets the stage settings only; the base stage (name, index, ATS identity, schedulable) is ATS-sync-owned and read-only. Every supplied settings group merges per field, including `self_schedule_defaults` and `availability_request_defaults`; omitted fields are preserved. At least one group is required, each supplied group must contain at least one field, and unknown fields are rejected rather than ignored. Set `automation.create_automated_task_on_behalf_of` to `null` to clear it. The Java handler does not support clearing `automation.default_task`; omit it to preserve the current value. Requires a token with the `jobs:write` scope. The request returns PERMISSION_DENIED when the caller cannot access the job.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Job Stage"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:stg_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a job stage ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "stg_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "jobStageId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobStagePatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobStage"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/jobs": {
      "get": {
        "operationId": "listJobs",
        "summary": "List jobs",
        "description": "Returns paginated job summaries with status and ATS information. Combine IDs, status, name, ATS ID, and record timestamps to narrow results; every supplied filter is applied together. Use the cursor to continue the same filtered result set. Jobs the caller cannot access are omitted.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Job"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:job_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a job ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "DRAFT",
                  "OPEN",
                  "CLOSED"
                ]
              },
              "minItems": 1,
              "description": "Matches jobs with any listed status; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches jobs with any listed status; combines with other filters using AND.",
            "name": "statuses",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive exact match on the job name; combines with other filters using AND."
            },
            "required": false,
            "description": "Case-insensitive exact match on the job name; combines with other filters using AND.",
            "name": "name",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "description": "Matches jobs whose ATS ID is one of these exact values; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches jobs whose ATS ID is one of these exact values; combines with other filters using AND.",
            "name": "ats_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Job"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/jobs/{jobId}": {
      "get": {
        "operationId": "getJob",
        "summary": "Get a job",
        "description": "Returns one job with its resolved scheduling settings and job-stage information. The job must belong to the authenticated organization or the request returns not found. The request returns PERMISSION_DENIED when the caller cannot access the job.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Job"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:job_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a job ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "jobId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDetail"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateJob",
        "summary": "Update a job",
        "description": "Updates the supplied fallback name or internal note for a job. Omitted fields are preserved, and both fields are write-only because the current job summary RPC does not return them. An empty PATCH body is rejected. The request returns PERMISSION_DENIED when the caller cannot access the job.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Job"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:job_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a job ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "jobId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/me": {
      "get": {
        "operationId": "getMe",
        "summary": "Get current identity",
        "description": "Returns the acting user, organization, granted scopes, and registry-level MCP tool access for the authenticated token. tool_access predicts whether each public tool can succeed with the granted scopes; endpoint variant and connection-level tool filtering can further restrict visibility. A tool can still appear in tools/list yet return INSUFFICIENT_SCOPE, so use tool_access to plan calls and tools/list for this connection's visibility. Available to every valid token; no scope is required. No parameters are accepted because identity is determined entirely from authentication.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Me"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Me"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/organization": {
      "get": {
        "operationId": "getOrganization",
        "summary": "Get organization",
        "description": "Returns the organization associated with the authenticated token, including its scheduling defaults. No organization ID is accepted because the caller's organization is determined from authentication.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Organization"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateOrganization",
        "summary": "Update organization",
        "description": "Partially updates the authenticated organization's scheduling defaults. Work hours and daily or weekly load-limit options replace atomically; scalar groups merge per field. Omitted settings are preserved and the response returns the updated organization representation.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Organization"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/schedules": {
      "get": {
        "operationId": "listSchedules",
        "summary": "List schedules",
        "description": "Returns paginated schedule groups, each with its nested interview events. Record timestamp filters narrow the schedule records and are combined with IDs when supplied. Use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:sch_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a schedule ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "sch_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Schedule"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/schedules/{scheduleId}": {
      "get": {
        "operationId": "getSchedule",
        "summary": "Get a schedule",
        "description": "Returns a schedule group and the interview events it contains, including their timing and participants. The schedule must belong to the authenticated organization or the request returns not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:sch_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a schedule ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "sch_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "scheduleId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Schedule"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/task-queues": {
      "get": {
        "operationId": "listTaskQueues",
        "summary": "List task queues",
        "description": "Returns paginated active scheduling-task queues. IDs and a name filter can be combined to narrow results, and deleted queues are excluded. Use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Task Queue"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:que_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a task queue ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "que_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive exact match on the queue name; combines with ids using AND."
            },
            "required": false,
            "description": "Case-insensitive exact match on the queue name; combines with ids using AND.",
            "name": "name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaskQueue"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/task-queues/{taskQueueId}": {
      "get": {
        "operationId": "getTaskQueue",
        "summary": "Get a task queue",
        "description": "Returns the name and timestamps for one active scheduling-task queue. Unknown, deleted, or out-of-organization queues return not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Task Queue"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:que_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a task queue ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "que_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "taskQueueId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskQueue"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/tasks": {
      "post": {
        "operationId": "createSchedulingTask",
        "summary": "Create a scheduling task",
        "description": "Creates a scheduling task for the supplied application and job stage. The task starts with the requested urgency and optional initial note; the server assigns the scheduling-task type. An idempotency key is required so retries return the original result instead of creating another task. Inaccessible jobs return PERMISSION_DENIED.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Scheduling Task"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchedulingTaskCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulingTask"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "listSchedulingTasks",
        "summary": "List scheduling tasks",
        "description": "Lists scheduling tasks with status, flag, urgent, queue, tag, delegation, assignee, job, application, and my_tasks filters. Results are newest first, ordered by created_at descending. Inaccessible jobs are omitted.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Scheduling Task"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:tsk_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a task ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches tasks assigned to any listed employee; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches tasks assigned to any listed employee; combines with other filters using AND.",
            "name": "assignee_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "boolean",
              "description": "When true, returns only tasks assigned to the acting user (the authenticated token's user) — shorthand for assignee_ids with your own user ID. Cannot be combined with assignee_ids."
            },
            "required": false,
            "description": "When true, returns only tasks assigned to the acting user (the authenticated token's user) — shorthand for assignee_ids with your own user ID. Cannot be combined with assignee_ids.",
            "name": "my_tasks",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "NEEDS_AVAILABILITY",
                  "WAITING_FOR_CANDIDATE",
                  "READY_TO_SCHEDULE",
                  "READY_TO_RESCHEDULE",
                  "HOLD",
                  "READY_TO_SEND_TO_CANDIDATE",
                  "SCHEDULED",
                  "COMPLETED",
                  "CANCELED",
                  "NEEDS_DEBRIEF"
                ]
              },
              "minItems": 1,
              "description": "Matches tasks with any listed status; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches tasks with any listed status; combines with other filters using AND.",
            "name": "statuses",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "boolean",
              "description": "Matches the task urgency flag; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches the task urgency flag; combines with other filters using AND.",
            "name": "is_urgent",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:que_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a task queue ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "que_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches tasks in any listed queue; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches tasks in any listed queue; combines with other filters using AND.",
            "name": "queue_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "boolean",
              "description": "When true, returns tasks with at least one flag; when false, returns tasks with no flags. Combines with other filters using AND."
            },
            "required": false,
            "description": "When true, returns tasks with at least one flag; when false, returns tasks with no flags. Combines with other filters using AND.",
            "name": "flagged",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "description": "Matches tasks carrying any listed tag; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches tasks carrying any listed tag; combines with other filters using AND.",
            "name": "tags",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "NONE",
                  "QUEUED",
                  "ACTIVE",
                  "WAITING_ON_CANDIDATE",
                  "WAITING_ON_TEAM",
                  "COMPLETED",
                  "STOPPED"
                ]
              },
              "minItems": 1,
              "description": "Matches tasks with any listed delegation status; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches tasks with any listed delegation status; combines with other filters using AND.",
            "name": "delegate_statuses",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:job_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a job ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "job_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches tasks for applications on any listed job; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches tasks for applications on any listed job; combines with other filters using AND.",
            "name": "job_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:app_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an application ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "app_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches tasks for any listed application; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches tasks for any listed application; combines with other filters using AND.",
            "name": "application_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SchedulingTask"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/tasks/{taskId}": {
      "patch": {
        "operationId": "updateSchedulingTask",
        "summary": "Update a scheduling task",
        "description": "Updates the supplied assignee, urgency, queue, tags, debrief requirement, or meeting location for a scheduling task. Omitted fields are preserved; null clears the assignee, queue, or meeting location, while supplying tags replaces the task's tag list. An empty PATCH body is rejected.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Scheduling Task"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:tsk_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a task ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "taskId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchedulingTaskPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulingTask"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "cancelSchedulingTask",
        "summary": "Cancel a scheduling task",
        "description": "Cancels a scheduling task, optionally recording a cancellation reason. Cancellation is rejected when the underlying scheduler reports a conflict. The returned task shows the resulting scheduling state. Inaccessible jobs return PERMISSION_DENIED.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Scheduling Task"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:tsk_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a task ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "taskId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelSchedulingTaskRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulingTask"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "getSchedulingTask",
        "summary": "Get a scheduling task",
        "description": "Returns one scheduling task with its application, stage, assignee, queue, tags, flags, delegation, notes, and timing metadata. The task must belong to the authenticated organization or the request returns not found. Inaccessible jobs return PERMISSION_DENIED.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Scheduling Task"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:tsk_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a task ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "taskId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulingTask"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/templates": {
      "get": {
        "operationId": "listTemplates",
        "summary": "List templates",
        "description": "Returns paginated organization email and calendar templates with their subject, HTML body, and send metadata. Bodies contain unexpanded {{TOKEN}} placeholders. Combine IDs, template types, an exact case-insensitive name, and record timestamps to narrow results; every supplied filter is applied together. Use the cursor to continue the same filtered result set.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:tpl_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "a template ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "tpl_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "SCHEDULE_CONFIRMATION_CANDIDATE_EMAIL",
                  "SCHEDULE_CONFIRMATION_CANDIDATE_CALENDAR_INVITE",
                  "SCHEDULE_CONFIRMATION_INTERVIEWER_CALENDAR_INVITE",
                  "SCHEDULE_CONFIRMATION_INTERNAL_CHAT_MESSAGE",
                  "DEBRIEF_CONFIRMATION_ATTENDEE_CALENDAR_INVITE",
                  "DEBRIEF_CONFIRMATION_INTERNAL_CHAT_MESSAGE",
                  "CANDIDATE_AVAILABILITY_REQUEST_CANDIDATE_EMAIL",
                  "CANDIDATE_SELF_SCHEDULE_REQUEST_CANDIDATE_EMAIL",
                  "OTHER"
                ]
              },
              "minItems": 1,
              "description": "Matches templates with any listed type; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches templates with any listed type; combines with other filters using AND.",
            "name": "types",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive exact match on the template name; combines with other filters using AND."
            },
            "required": false,
            "description": "Case-insensitive exact match on the template name; combines with other filters using AND.",
            "name": "name",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Template"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/templates/{templateId}": {
      "get": {
        "operationId": "getTemplate",
        "summary": "Get a template",
        "description": "Returns one organization email or calendar template, including its type, subject, HTML body, and send metadata. Bodies contain unexpanded {{TOKEN}} placeholders. The template must belong to the authenticated organization or the request returns not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:tpl_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "a template ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "tpl_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "templateId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Template"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/users": {
      "get": {
        "operationId": "listUsers",
        "summary": "List users",
        "description": "Lists users with interviewer load, pause state, work hours, and module training. Omit statuses for the default active-only view; pass statuses=ACTIVE,ARCHIVED to include both active and archived users.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "User"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters."
            },
            "required": false,
            "description": "Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.",
            "name": "cursor",
            "in": "query"
          },
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "description": "Page size. Must be between 1 and 100; defaults to 25."
            },
            "required": false,
            "description": "Page size. Must be between 1 and 100; defaults to 25.",
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Comma-separated list of IDs; maximum 100 values."
            },
            "required": false,
            "description": "Comma-separated list of IDs; maximum 100 values.",
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive substring search across user name and email; combines with other filters using AND."
            },
            "required": false,
            "description": "Case-insensitive substring search across user name and email; combines with other filters using AND.",
            "name": "search",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive exact match on the user's full name, given name, or family name; combines with other filters using AND."
            },
            "required": false,
            "description": "Case-insensitive exact match on the user's full name, given name, or family name; combines with other filters using AND.",
            "name": "name",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "Case-insensitive exact match on user email; combines with other filters using AND."
            },
            "required": false,
            "description": "Case-insensitive exact match on user email; combines with other filters using AND.",
            "name": "email",
            "in": "query"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "ACTIVE",
                  "ARCHIVED"
                ]
              },
              "minItems": 1,
              "description": "Matches users with any listed status; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches users with any listed status; combines with other filters using AND.",
            "name": "statuses",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:mod_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "mod_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches users assigned to any listed interview module; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches users assigned to any listed interview module; combines with other filters using AND.",
            "name": "module_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
                "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
                "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
              },
              "minItems": 1,
              "description": "Matches users managed by any listed manager; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches users managed by any listed manager; combines with other filters using AND.",
            "name": "manager_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "description": "Matches users whose ATS ID is one of these exact values; combines with other filters using AND."
            },
            "required": false,
            "description": "Matches users whose ATS ID is one of these exact values; combines with other filters using AND.",
            "name": "ats_ids",
            "in": "query",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "GREENHOUSE",
                "ASHBY",
                "LEVER",
                "WORKDAY",
                "SMARTRECRUITERS",
                "GEM",
                "KOMBO"
              ],
              "description": "Filters by ATS provider."
            },
            "required": false,
            "description": "Filters by ATS provider.",
            "name": "ats_type",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or after this timestamp."
            },
            "required": false,
            "description": "Filters records created at or after this timestamp.",
            "name": "created_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records created at or before this timestamp."
            },
            "required": false,
            "description": "Filters records created at or before this timestamp.",
            "name": "created_at_lte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or after this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or after this timestamp.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Filters records updated at or before this timestamp."
            },
            "required": false,
            "description": "Filters records updated at or before this timestamp.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/User"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "required": [
                    "data",
                    "pagination"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/{userId}": {
      "get": {
        "operationId": "getUser",
        "summary": "Get a user",
        "description": "Returns a user profile with load limits, pause state, work hours, attributes, and interview-module memberships. The user must belong to the authenticated organization or the request returns not found.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "User"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "userId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateUser",
        "summary": "Update a user",
        "description": "Updates the admin-managed user profile, scheduling controls, load-limit overrides, and organization attributes. Example: `{\"title\":\"Principal Engineer\",\"timezone\":\"America/Chicago\",\"daily_load_limit\":{\"limit\":4,\"type\":\"NUMBER_OF_INTERVIEWS\"}}`. Set nullable overrides to `null` to clear them. Email and ATS identity are read-only. Requires a token with the `users:write` scope. Changes are attributed to the acting user in API and backend audit telemetry; this administrative update does not create a scheduling activity-timeline entry. Directory- or SCIM-managed profile fields (name, title, manager, LinkedIn URL) are rejected with `CANNOT_UPDATE_SYNC_MANAGED_FIELDS` when the organization pref assigns them to an external sync source.",
        "x-stability": "beta",
        "x-mint": {
          "metadata": {
            "tag": "BETA"
          },
          "content": "<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>"
        },
        "tags": [
          "User"
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^(?:usr_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
              "description": "an user ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.",
              "example": "usr_a1b2c3d4e5f64789a1b2c3d4e5f64789"
            },
            "required": true,
            "name": "userId",
            "in": "path"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Gone",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "webhooks": {},
  "tags": [
    {
      "name": "Activity"
    },
    {
      "name": "Application"
    },
    {
      "name": "Audit Log"
    },
    {
      "name": "Candidate"
    },
    {
      "name": "Interview Event"
    },
    {
      "name": "Interview Module"
    },
    {
      "name": "Job"
    },
    {
      "name": "Job Stage"
    },
    {
      "name": "Me"
    },
    {
      "name": "Organization"
    },
    {
      "name": "Schedule"
    },
    {
      "name": "Scheduling Task"
    },
    {
      "name": "Task Queue"
    },
    {
      "name": "Template"
    },
    {
      "name": "User"
    }
  ]
}
