{
  "openapi": "3.1.1",
  "info": {
    "title": "JobElf.Api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "http://127.0.0.1:5031/"
    }
  ],
  "paths": {
    "/api/health/live": {
      "get": {
        "tags": [
          "JobElf.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/platform/mode": {
      "get": {
        "tags": [
          "JobElf.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/health/ready": {
      "get": {
        "tags": [
          "JobElf.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/platform/status": {
      "get": {
        "tags": [
          "JobElf.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/overview": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/employers": {
      "get": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/employers/{organizationId}/verification": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/employers/{organizationId}/suspend": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SuspendRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SuspendRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SuspendRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/media/queue": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/media/rejection-reasons": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/media/{mediaId}/decision": {
      "post": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MediaDecision"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MediaDecision"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MediaDecision"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/ai": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/admin/audit": {
      "get": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/ai-search/run": {
      "post": {
        "tags": [
          "AiSearch"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RunRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RunRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/ai-search/{runId}": {
      "get": {
        "tags": [
          "AiSearch"
        ],
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/ai-search/suggestions/{suggestionId}/outcome": {
      "post": {
        "tags": [
          "AiSearch"
        ],
        "parameters": [
          {
            "name": "suggestionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OutcomeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OutcomeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OutcomeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/ai-search/runs": {
      "get": {
        "tags": [
          "AiSearch"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/register": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/signin": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignInRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SignInRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SignInRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/signout": {
      "post": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/me": {
      "get": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/sessions": {
      "get": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/sessions/revoke-others": {
      "post": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/forgot-password": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/reset-password": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/billing/summary": {
      "get": {
        "tags": [
          "Billing"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/billing/ledger": {
      "get": {
        "tags": [
          "Billing"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/billing/packages": {
      "get": {
        "tags": [
          "Billing"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/billing/orders": {
      "get": {
        "tags": [
          "Billing"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/candidate/profile": {
      "get": {
        "tags": [
          "Candidate"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/candidate/visibility": {
      "put": {
        "tags": [
          "Candidate"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VisibilityUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VisibilityUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VisibilityUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/candidate/viewers": {
      "get": {
        "tags": [
          "Candidate"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/candidate/viewers/{entitlementId}": {
      "delete": {
        "tags": [
          "Candidate"
        ],
        "parameters": [
          {
            "name": "entitlementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/interviews/employer": {
      "get": {
        "tags": [
          "Interviews"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/interviews/candidate": {
      "get": {
        "tags": [
          "Interviews"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/interviews/propose": {
      "post": {
        "tags": [
          "Interviews"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProposeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProposeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProposeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/interviews/{interviewId}/accept/{slotId}": {
      "post": {
        "tags": [
          "Interviews"
        ],
        "parameters": [
          {
            "name": "interviewId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "slotId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/interviews/{interviewId}/cancel": {
      "post": {
        "tags": [
          "Interviews"
        ],
        "parameters": [
          {
            "name": "interviewId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CancelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/jobs": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Jobs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobUpsert"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/JobUpsert"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/JobUpsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/jobs/{jobId}/publish": {
      "post": {
        "tags": [
          "Jobs"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/jobs/{jobId}/pipeline": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/jobs/applications/{applicationId}/stage": {
      "post": {
        "tags": [
          "Jobs"
        ],
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StageMove"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StageMove"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StageMove"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/jobs/reviews": {
      "post": {
        "tags": [
          "Jobs"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewInput"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewInput"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/jobs/applications/{applicationId}/reviews": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/messages/employer": {
      "get": {
        "tags": [
          "Messages"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/messages/candidate": {
      "get": {
        "tags": [
          "Messages"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/messages/{conversationId}": {
      "get": {
        "tags": [
          "Messages"
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/messages/employer/send": {
      "post": {
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SendRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SendRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/messages/candidate/send": {
      "post": {
        "tags": [
          "Messages"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SendRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SendRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/messages/{conversationId}/block": {
      "post": {
        "tags": [
          "Messages"
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "blocked",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/talent": {
      "get": {
        "tags": [
          "Talent"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "arrangement",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minYears",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "withVideo",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 24
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/talent/{candidateId}": {
      "get": {
        "tags": [
          "Talent"
        ],
        "parameters": [
          {
            "name": "candidateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/talent/unlock": {
      "post": {
        "tags": [
          "Talent"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnlockRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UnlockRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UnlockRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/talent/unlocked": {
      "get": {
        "tags": [
          "Talent"
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CancelRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ForgotRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        }
      },
      "JobUpsert": {
        "required": [
          "title",
          "department",
          "employmentType",
          "locationLabel",
          "remotePolicy",
          "compMinMinor",
          "compMaxMinor",
          "compCurrency",
          "compPeriod",
          "descriptionHtml",
          "requireIntroductionVideo",
          "requiredSkills",
          "organizationId"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "department": {
            "type": [
              "null",
              "string"
            ]
          },
          "employmentType": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationLabel": {
            "type": [
              "null",
              "string"
            ]
          },
          "remotePolicy": {
            "type": [
              "null",
              "string"
            ]
          },
          "compMinMinor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "compMaxMinor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "compCurrency": {
            "type": [
              "null",
              "string"
            ]
          },
          "compPeriod": {
            "type": [
              "null",
              "string"
            ]
          },
          "descriptionHtml": {
            "type": [
              "null",
              "string"
            ]
          },
          "requireIntroductionVideo": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "requiredSkills": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "MediaDecision": {
        "required": [
          "approve",
          "reason",
          "note"
        ],
        "type": "object",
        "properties": {
          "approve": {
            "type": "boolean"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "OutcomeRequest": {
        "required": [
          "outcome",
          "organizationId"
        ],
        "type": "object",
        "properties": {
          "outcome": {
            "type": "string"
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "ProfileUpdate": {
        "required": [
          "fullName",
          "headline",
          "about",
          "locationLabel",
          "workArrangement",
          "yearsExperience",
          "availabilityLabel",
          "availableFrom",
          "openToRelocation",
          "compMinMinor",
          "compMaxMinor",
          "compCurrency",
          "compPeriod",
          "skills",
          "desiredRoles"
        ],
        "type": "object",
        "properties": {
          "fullName": {
            "type": [
              "null",
              "string"
            ]
          },
          "headline": {
            "type": [
              "null",
              "string"
            ]
          },
          "about": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationLabel": {
            "type": [
              "null",
              "string"
            ]
          },
          "workArrangement": {
            "type": [
              "null",
              "string"
            ]
          },
          "yearsExperience": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "availabilityLabel": {
            "type": [
              "null",
              "string"
            ]
          },
          "availableFrom": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "openToRelocation": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "compMinMinor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "compMaxMinor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "compCurrency": {
            "type": [
              "null",
              "string"
            ]
          },
          "compPeriod": {
            "type": [
              "null",
              "string"
            ]
          },
          "skills": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "desiredRoles": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ProposeRequest": {
        "required": [
          "candidateId",
          "jobId",
          "applicationId",
          "slotsUtc",
          "durationMinutes",
          "employerTimeZoneId",
          "provider",
          "conferenceUrl",
          "organizationId"
        ],
        "type": "object",
        "properties": {
          "candidateId": {
            "type": "string",
            "format": "uuid"
          },
          "jobId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "applicationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "slotsUtc": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "date-time"
            }
          },
          "durationMinutes": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "employerTimeZoneId": {
            "type": [
              "null",
              "string"
            ]
          },
          "provider": {
            "type": [
              "null",
              "string"
            ]
          },
          "conferenceUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "RegisterRequest": {
        "required": [
          "email",
          "password",
          "fullName",
          "kind",
          "companyName"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "fullName": {
            "type": [
              "null",
              "string"
            ]
          },
          "kind": {
            "type": "string"
          },
          "companyName": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ResetRequest": {
        "required": [
          "token",
          "password"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "ReviewInput": {
        "required": [
          "applicationId",
          "relevantExperience",
          "clarityOfExplanation",
          "roleKnowledge",
          "workSample",
          "notes",
          "organizationId"
        ],
        "type": "object",
        "properties": {
          "applicationId": {
            "type": "string",
            "format": "uuid"
          },
          "relevantExperience": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "uint8"
          },
          "clarityOfExplanation": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "uint8"
          },
          "roleKnowledge": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "uint8"
          },
          "workSample": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "uint8"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "RunRequest": {
        "required": [
          "brief",
          "location",
          "arrangement",
          "minYears",
          "organizationId"
        ],
        "type": "object",
        "properties": {
          "brief": {
            "type": "string"
          },
          "location": {
            "type": [
              "null",
              "string"
            ]
          },
          "arrangement": {
            "type": [
              "null",
              "string"
            ]
          },
          "minYears": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "SendRequest": {
        "required": [
          "conversationId",
          "candidateId",
          "jobId",
          "subject",
          "body",
          "organizationId"
        ],
        "type": "object",
        "properties": {
          "conversationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "candidateId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "jobId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "subject": {
            "type": [
              "null",
              "string"
            ]
          },
          "body": {
            "type": "string"
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "SignInRequest": {
        "required": [
          "email",
          "password"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "StageMove": {
        "required": [
          "stage",
          "note",
          "organizationId"
        ],
        "type": "object",
        "properties": {
          "stage": {
            "type": "string"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "SuspendRequest": {
        "required": [
          "suspended",
          "reason"
        ],
        "type": "object",
        "properties": {
          "suspended": {
            "type": "boolean"
          },
          "reason": {
            "type": "string"
          }
        }
      },
      "UnlockRequest": {
        "required": [
          "candidateId",
          "organizationId"
        ],
        "type": "object",
        "properties": {
          "candidateId": {
            "type": "string",
            "format": "uuid"
          },
          "organizationId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          }
        }
      },
      "VerifyRequest": {
        "required": [
          "decision",
          "reason"
        ],
        "type": "object",
        "properties": {
          "decision": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        }
      },
      "VisibilityUpdate": {
        "required": [
          "searchStatus",
          "aiDiscoverable"
        ],
        "type": "object",
        "properties": {
          "searchStatus": {
            "type": [
              "null",
              "string"
            ]
          },
          "aiDiscoverable": {
            "type": [
              "null",
              "boolean"
            ]
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "JobElf.Api"
    },
    {
      "name": "Admin"
    },
    {
      "name": "AiSearch"
    },
    {
      "name": "Auth"
    },
    {
      "name": "Billing"
    },
    {
      "name": "Candidate"
    },
    {
      "name": "Interviews"
    },
    {
      "name": "Jobs"
    },
    {
      "name": "Messages"
    },
    {
      "name": "Talent"
    }
  ]
}