{
  "openapi": "3.0.1",
  "info": {
    "title": "GenuineIn Enterprise API",
    "description": "Organization-centric APIs for talent intelligence, assessment, credentials, recruitment, and network management. Authenticate with an API key via the X-API-Key header. All responses use a standard envelope: `{ success, data, error, meta }`.",
    "contact": {
      "name": "GenuineIn Developer Support",
      "url": "https://developers.genuinein.com"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://genuinein.com/terms"
    },
    "version": "v1"
  },
  "paths": {
    "/api/enterprise/v1/ai/providers": {
      "post": {
        "tags": [
          "AI Providers"
        ],
        "summary": "POST /api/enterprise/v1/ai/providers — Register a new AI provider.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAIProviderRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAIProviderRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterAIProviderRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AI Providers"
        ],
        "summary": "GET /api/enterprise/v1/ai/providers — List registered AI providers.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/ai/providers/{providerId}/catalogue": {
      "get": {
        "tags": [
          "AI Providers"
        ],
        "summary": "GET /api/enterprise/v1/ai/providers/{providerId}/catalogue — Get tool catalogue in provider's native format.",
        "parameters": [
          {
            "name": "providerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/ai/providers/{providerId}/status": {
      "post": {
        "tags": [
          "AI Providers"
        ],
        "summary": "POST /api/enterprise/v1/ai/providers/{providerId}/status — Update provider status.",
        "parameters": [
          {
            "name": "providerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProviderStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProviderStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProviderStatusRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/analytics/talent": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "GET /api/enterprise/v1/analytics/talent — Talent pool analytics (TEI distribution, locations, skills).",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/analytics/hiring": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "GET /api/enterprise/v1/analytics/hiring — Hiring pipeline (applications by stage, conversion rates).",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/analytics/engagement": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "GET /api/enterprise/v1/analytics/engagement?days=30 — API engagement metrics.",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 30
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/analytics/skills": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "GET /api/enterprise/v1/analytics/skills?top=20 — Skill demand trends across connected candidates.",
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/assessment/programs": {
      "get": {
        "tags": [
          "Assessment"
        ],
        "summary": "GET /api/enterprise/v1/assessment/programs — List assessment programs.",
        "parameters": [
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/assessment/programs/{programId}": {
      "get": {
        "tags": [
          "Assessment"
        ],
        "summary": "GET /api/enterprise/v1/assessment/programs/{programId} — Get program details with batches.",
        "parameters": [
          {
            "name": "programId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/assessment/candidates": {
      "get": {
        "tags": [
          "Assessment"
        ],
        "summary": "GET /api/enterprise/v1/assessment/candidates — List candidates with filtering.",
        "parameters": [
          {
            "name": "ProgramId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "BatchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "RegistrationNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ApplicationStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AttemptStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/assessment/candidates/{candidateId}": {
      "get": {
        "tags": [
          "Assessment"
        ],
        "summary": "GET /api/enterprise/v1/assessment/candidates/{candidateId} — Get candidate details.",
        "parameters": [
          {
            "name": "candidateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/assessment/sessions": {
      "get": {
        "tags": [
          "Assessment"
        ],
        "summary": "GET /api/enterprise/v1/assessment/sessions — List exam sessions.",
        "parameters": [
          {
            "name": "BatchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "SessionStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "FromDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ToDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/assessment/sessions/{candidateId}": {
      "get": {
        "tags": [
          "Assessment"
        ],
        "summary": "GET /api/enterprise/v1/assessment/sessions/{candidateId} — Get session details.",
        "parameters": [
          {
            "name": "candidateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/assessment/results": {
      "get": {
        "tags": [
          "Assessment"
        ],
        "summary": "GET /api/enterprise/v1/assessment/results — List exam results (completed only).",
        "parameters": [
          {
            "name": "ProgramId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "BatchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "RegistrationNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ResultStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IsPassed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "FromDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ToDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/assessment/results/{candidateId}": {
      "get": {
        "tags": [
          "Assessment"
        ],
        "summary": "GET /api/enterprise/v1/assessment/results/{candidateId} — Get detailed result with section breakdown.",
        "parameters": [
          {
            "name": "candidateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/billing/subscription": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "GET /api/enterprise/v1/billing/subscription — Current subscription plan and status.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/billing/plans": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "GET /api/enterprise/v1/billing/plans — List available subscription plans.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/billing/usage": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "GET /api/enterprise/v1/billing/usage — Current usage summary (requests, credits, keys).",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/billing/usage/history": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "GET /api/enterprise/v1/billing/usage/history?days=30 — Daily usage breakdown.",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 30
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/billing/invoices": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "GET /api/enterprise/v1/billing/invoices — List billing orders/invoices.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/compliance/audit-trail": {
      "get": {
        "tags": [
          "Compliance"
        ],
        "summary": "GET /api/enterprise/v1/compliance/audit-trail — Query API access audit trail.\r\nReturns recent API requests with timestamps, endpoints, status codes, and IPs.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "endpoint",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusCode",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/compliance/data-classification": {
      "get": {
        "tags": [
          "Compliance"
        ],
        "summary": "GET /api/enterprise/v1/compliance/data-classification — Data classification matrix.\r\nShows what data is exposed at each access level and MCP tool.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/compliance/readiness": {
      "get": {
        "tags": [
          "Compliance"
        ],
        "summary": "GET /api/enterprise/v1/compliance/readiness — SOC 2 / ISO 27001 compliance readiness report.\r\nReturns which controls are implemented, partially implemented, or not yet addressed.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/credentials/templates": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "GET /api/enterprise/v1/credentials/templates — List credential templates.",
        "parameters": [
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ActiveOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/credentials/templates/{templateId}": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "GET /api/enterprise/v1/credentials/templates/{templateId} — Get template details.",
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/credentials/issued": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "GET /api/enterprise/v1/credentials/issued — List issued credentials.",
        "parameters": [
          {
            "name": "TemplateId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "RecipientEmail",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/credentials/issued/{credentialId}": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "GET /api/enterprise/v1/credentials/issued/{credentialId} — Get issued credential details.",
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/credentials/verifications": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "GET /api/enterprise/v1/credentials/verifications — List verification requests.",
        "parameters": [
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/credentials/verifications/{verificationId}": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "GET /api/enterprise/v1/credentials/verifications/{verificationId} — Get verification request details.",
        "parameters": [
          {
            "name": "verificationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/credentials/issued/{credentialId}/revoke": {
      "post": {
        "tags": [
          "Credentials"
        ],
        "summary": "POST /api/enterprise/v1/credentials/issued/{credentialId}/revoke — Revoke an issued credential.",
        "parameters": [
          {
            "name": "credentialId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeCredentialRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeCredentialRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeCredentialRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/sdk": {
      "get": {
        "tags": [
          "Developer"
        ],
        "summary": "GET /api/enterprise/v1/sdk — SDK metadata and download links per language.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/quickstart": {
      "get": {
        "tags": [
          "Developer"
        ],
        "summary": "GET /api/enterprise/v1/quickstart — Step-by-step onboarding guide for new integrators.\r\nReturns a structured JSON guide for the 5-minute first-API-call flow.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/docs": {
      "get": {
        "tags": [
          "Documentation"
        ],
        "summary": "GET /api/enterprise/v1/docs — Complete documentation index (30+ documents).",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/governance/integrations": {
      "post": {
        "tags": [
          "Governance"
        ],
        "summary": "POST /api/enterprise/v1/governance/integrations — Register a new integration.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterIntegrationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterIntegrationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterIntegrationRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "GET /api/enterprise/v1/governance/integrations — List all registered integrations.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/governance/integrations/{integrationId}/deactivate": {
      "post": {
        "tags": [
          "Governance"
        ],
        "summary": "POST /api/enterprise/v1/governance/integrations/{integrationId}/deactivate — Deactivate an integration.",
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/governance/lifecycle": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "GET /api/enterprise/v1/governance/lifecycle — API domain lifecycle and version status.\r\nShows all domains, their version, status, and any deprecation notices.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/governance/summary": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "GET /api/enterprise/v1/governance/summary — Org's integration summary dashboard data.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/health": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "GET /api/enterprise/v1/health — Public health check (no auth required).\r\nUse for load balancer health probes and uptime monitoring.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/health/live": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "GET /api/enterprise/v1/health/live — Liveness probe for container orchestration.\r\nReturns 200 if the process is running (no dependency checks).\r\nUse for Kubernetes livenessProbe.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/health/ready": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "GET /api/enterprise/v1/health/ready — Readiness probe for container orchestration.\r\nReturns 200 only if critical dependencies (DB) are available.\r\nUse for Kubernetes readinessProbe.",
        "responses": {
          "200": {
            "description": "OK"
          },
          "503": {
            "description": "Service Unavailable"
          }
        }
      }
    },
    "/api/enterprise/v1/status": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "GET /api/enterprise/v1/status — Full platform status page data.\r\nShows system health, all services, uptime, and active incidents.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/ping": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "GET /api/enterprise/v1/ping — Authenticated connectivity test.\r\nVerifies API key is valid and returns org context.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/info": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "GET /api/enterprise/v1/info — API metadata and capabilities.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/jobs": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "GET /api/enterprise/v1/jobs — List job postings for the organization.",
        "parameters": [
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LiveOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "WorkMode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/jobs/{jobId}": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "GET /api/enterprise/v1/jobs/{jobId} — Get job posting details with rounds.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/jobs/applications": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "GET /api/enterprise/v1/jobs/applications — List job applications with filtering.",
        "parameters": [
          {
            "name": "JobPostId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "StatusId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/jobs/applications/{applicationId}": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "GET /api/enterprise/v1/jobs/applications/{applicationId} — Get application details.",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/learners": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/learners — list learners in the organization.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Free-text search (name/email/title depending on endpoint).",
            "schema": {
              "maxLength": 100,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Optional status filter. Meaning is per-endpoint:\r\nlearners: A=Active, B=Blocked, L=Left; courses: published/draft;\r\nenrollments: A=Active, C=Completed, R=Revoked, I=In-progress.",
            "schema": {
              "maxLength": 20,
              "minLength": 0,
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_List_LmsLearnerResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/learners/{candidateId}": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/learners/{candidateId} — a single learner in the organization.",
        "parameters": [
          {
            "name": "candidateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LmsLearnerResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/learners/{candidateId}/progress": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/learners/{candidateId}/progress — progress across the learner's courses.",
        "parameters": [
          {
            "name": "candidateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Free-text search (name/email/title depending on endpoint).",
            "schema": {
              "maxLength": 100,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Optional status filter. Meaning is per-endpoint:\r\nlearners: A=Active, B=Blocked, L=Left; courses: published/draft;\r\nenrollments: A=Active, C=Completed, R=Revoked, I=In-progress.",
            "schema": {
              "maxLength": 20,
              "minLength": 0,
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_List_LmsProgressResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/courses": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/courses — list courses owned by the organization.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Free-text search (name/email/title depending on endpoint).",
            "schema": {
              "maxLength": 100,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Optional status filter. Meaning is per-endpoint:\r\nlearners: A=Active, B=Blocked, L=Left; courses: published/draft;\r\nenrollments: A=Active, C=Completed, R=Revoked, I=In-progress.",
            "schema": {
              "maxLength": 20,
              "minLength": 0,
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_List_LmsCourseResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/courses/{courseId}": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/courses/{courseId} — a single course owned by the organization.",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LmsCourseResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/courses/{courseId}/enrollments": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/courses/{courseId}/enrollments — enrollments for one course.",
        "parameters": [
          {
            "name": "courseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Free-text search (name/email/title depending on endpoint).",
            "schema": {
              "maxLength": 100,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Optional status filter. Meaning is per-endpoint:\r\nlearners: A=Active, B=Blocked, L=Left; courses: published/draft;\r\nenrollments: A=Active, C=Completed, R=Revoked, I=In-progress.",
            "schema": {
              "maxLength": 20,
              "minLength": 0,
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_List_LmsEnrollmentResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/enrollments": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/enrollments — list enrollments across the org (filter by course_id / candidate_id / status).",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Free-text search (name/email/title depending on endpoint).",
            "schema": {
              "maxLength": 100,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Optional status filter. Meaning is per-endpoint:\r\nlearners: A=Active, B=Blocked, L=Left; courses: published/draft;\r\nenrollments: A=Active, C=Completed, R=Revoked, I=In-progress.",
            "schema": {
              "maxLength": 20,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "course_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "candidate_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_List_LmsEnrollmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/progress": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/progress — progress for a specific learner+course (candidate_id and course_id required).",
        "parameters": [
          {
            "name": "candidate_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "course_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LmsProgressResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/login-urls": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/login-urls — all hosted login URLs for the organization.\r\nExternal sites redirect/link users to these; login and session stay on the LMS\r\n(no credentials pass through the API). Optional: return_url and email.",
        "parameters": [
          {
            "name": "return_url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LmsLoginUrlSetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/login-urls/{userType}": {
      "get": {
        "tags": [
          "LMS"
        ],
        "summary": "GET /lms/login-urls/{userType} — one hosted login URL.\r\nuserType: learner, student, parent, org_user, learner_register, universal.",
        "parameters": [
          {
            "name": "userType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "return_url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LmsLoginUrlResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/auth/login": {
      "post": {
        "tags": [
          "LMS Authentication"
        ],
        "summary": "Validates one LMS user's credentials for the API key's organization and returns\r\na 60-second, single-use browser redirect. Call this only from an external server.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LmsCredentialLoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LmsCredentialLoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LmsCredentialLoginRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LmsCredentialLoginResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/lms/auth/complete": {
      "get": {
        "tags": [
          "LMS Authentication"
        ],
        "summary": "Consumes the one-time handoff and establishes the normal GenuineIn browser session.",
        "parameters": [
          {
            "name": "ticket",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/lms/sso/authorize": {
      "get": {
        "tags": [
          "LMS learner SSO"
        ],
        "parameters": [
          {
            "name": "response_type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "redirect_uri",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code_challenge",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code_challenge_method",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/lms/sso/complete": {
      "get": {
        "tags": [
          "LMS learner SSO"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/lms/sso/token": {
      "post": {
        "tags": [
          "LMS learner SSO"
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "grant_type": {
                    "type": "string"
                  },
                  "client_id": {
                    "type": "string"
                  },
                  "client_secret": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string"
                  },
                  "redirect_uri": {
                    "type": "string"
                  },
                  "code_verifier": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "grant_type": {
                  "style": "form"
                },
                "client_id": {
                  "style": "form"
                },
                "client_secret": {
                  "style": "form"
                },
                "code": {
                  "style": "form"
                },
                "redirect_uri": {
                  "style": "form"
                },
                "code_verifier": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/lms/sso/userinfo": {
      "get": {
        "tags": [
          "LMS learner SSO"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/mcp/info": {
      "get": {
        "tags": [
          "MCP"
        ],
        "summary": "GET /api/enterprise/v1/mcp/info — MCP server discovery and capabilities.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/mcp/catalogue": {
      "get": {
        "tags": [
          "MCP"
        ],
        "summary": "GET /api/enterprise/v1/mcp/catalogue — Public tool catalogue (no auth required).\r\nReturns tool metadata (name, domain, description, risk level) without requiring an API key.\r\nDoes NOT include permission-filtered results — shows the full catalogue.\r\nUse /mcp/tools (authenticated) for permission-scoped listing.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/mcp/tools": {
      "get": {
        "tags": [
          "MCP"
        ],
        "summary": "GET /api/enterprise/v1/mcp/tools — List available tools (filtered by caller's permissions).",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/mcp/tools/{toolName}": {
      "post": {
        "tags": [
          "MCP"
        ],
        "summary": "POST /api/enterprise/v1/mcp/tools/{toolName} — Invoke an MCP tool.",
        "parameters": [
          {
            "name": "toolName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/JsonNode"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/JsonNode"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/JsonNode"
                }
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "MCP"
        ],
        "summary": "GET /api/enterprise/v1/mcp/tools/{toolName} — Get tool metadata and schema.",
        "parameters": [
          {
            "name": "toolName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/stats": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/stats — Network overview (members, batches, partners, invitations).",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/connections": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/connections — List connected candidates (members).\r\nSupports filtering by status, batch, and search.",
        "parameters": [
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "BatchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/connections/{connectionId}": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/connections/{connectionId} — Get connection/member details.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/requests": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/requests — List pending candidate-initiated join requests.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/batches": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/batches — List org batches (groups/cohorts).",
        "parameters": [
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ActiveOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/batches/{batchId}": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/batches/{batchId} — Get batch details.",
        "parameters": [
          {
            "name": "batchId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/batches/{batchId}/members": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/batches/{batchId}/members — List candidates in a batch.",
        "parameters": [
          {
            "name": "batchId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/requests/{connectionId}/approve": {
      "post": {
        "tags": [
          "Network"
        ],
        "summary": "POST /api/enterprise/v1/network/requests/{connectionId}/approve — Approve a pending connection request.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/requests/{connectionId}/reject": {
      "post": {
        "tags": [
          "Network"
        ],
        "summary": "POST /api/enterprise/v1/network/requests/{connectionId}/reject — Reject a pending connection request.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/invitations": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/invitations — List org-sent network invitations.",
        "parameters": [
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "BatchId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/network/partners": {
      "get": {
        "tags": [
          "Network"
        ],
        "summary": "GET /api/enterprise/v1/network/partners — List partner/supervision org connections.",
        "parameters": [
          {
            "name": "ConnectionType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/notifications/send": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "summary": "POST /api/enterprise/v1/notifications/send — Send a notification to a candidate.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendNotificationApiRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SendNotificationApiRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SendNotificationApiRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/notifications/batch": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "summary": "POST /api/enterprise/v1/notifications/batch — Send notification to multiple candidates.\r\nMax 500 recipients per batch.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchNotificationApiRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchNotificationApiRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BatchNotificationApiRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/notifications/sent": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "GET /api/enterprise/v1/notifications/sent — List recently sent notifications.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/notifications/stats": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "GET /api/enterprise/v1/notifications/stats — Delivery statistics.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/oauth/token": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "summary": "POST /api/enterprise/v1/oauth/token — Issue access token via Client Credentials grant.\r\nAccepts form-encoded body per RFC 6749.",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "grant_type": {
                    "type": "string"
                  },
                  "client_id": {
                    "type": "string"
                  },
                  "client_secret": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "grant_type": {
                  "style": "form"
                },
                "client_id": {
                  "style": "form"
                },
                "client_secret": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OAuthTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OAuthErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OAuthErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/oauth/clients": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "summary": "POST /api/enterprise/v1/oauth/clients — Register a new OAuth client.\r\nRequires API key with org admin access.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOAuthClientRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOAuthClientRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOAuthClientRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "OAuth"
        ],
        "summary": "GET /api/enterprise/v1/oauth/clients — List OAuth clients for the org.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/oauth/clients/{clientId}/revoke": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "summary": "POST /api/enterprise/v1/oauth/clients/{clientId}/revoke — Revoke an OAuth client.",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeOAuthClientRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeOAuthClientRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeOAuthClientRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/oauth/keys/{keyId}/rotate": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "summary": "POST /api/enterprise/v1/oauth/keys/{keyId}/rotate — Rotate an API key.\r\nCreates a new key and puts the old one into a grace period (default 24h).\r\nBoth keys work during the grace window for zero-downtime rotation.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RotateKeyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RotateKeyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RotateKeyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/categories": {
      "get": {
        "tags": [
          "Records"
        ],
        "summary": "GET /records/categories",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/templates": {
      "get": {
        "tags": [
          "Records"
        ],
        "summary": "GET /records/{pecid}/templates",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "maxLength": 100,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "IsActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Records"
        ],
        "summary": "POST /records/{pecid}/templates",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTemplateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTemplateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/templates/{id}": {
      "get": {
        "tags": [
          "Records"
        ],
        "summary": "GET /records/{pecid}/templates/{id}",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Records"
        ],
        "summary": "PUT /records/{pecid}/templates/{id}",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTemplateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTemplateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Records"
        ],
        "summary": "DELETE /records/{pecid}/templates/{id}",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/publish": {
      "post": {
        "tags": [
          "Records"
        ],
        "summary": "POST /records/{pecid}/publish",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": { }
            },
            "text/json": {
              "schema": { }
            },
            "application/*+json": {
              "schema": { }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/distribute": {
      "post": {
        "tags": [
          "Records"
        ],
        "summary": "POST /records/{pecid}/distribute\r\nSmart routing: GPIN receivers → live publish, email/name receivers → draft.",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": { }
            },
            "text/json": {
              "schema": { }
            },
            "application/*+json": {
              "schema": { }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/published": {
      "get": {
        "tags": [
          "Records"
        ],
        "summary": "GET /records/{pecid}/published",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/pending": {
      "get": {
        "tags": [
          "Records"
        ],
        "summary": "GET /records/{pecid}/pending",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/{id}/approve": {
      "post": {
        "tags": [
          "Records"
        ],
        "summary": "POST /records/{pecid}/{id}/approve",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRecordRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRecordRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRecordRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/{id}/reject": {
      "post": {
        "tags": [
          "Records"
        ],
        "summary": "POST /records/{pecid}/{id}/reject",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectRecordRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectRecordRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RejectRecordRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/candidate/{gpin}": {
      "get": {
        "tags": [
          "Records"
        ],
        "summary": "GET /records/{pecid}/candidate/{gpin}",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/records/{pecid}/reference/{type}": {
      "get": {
        "tags": [
          "Records"
        ],
        "summary": "GET /records/{pecid}/reference/{type}",
        "parameters": [
          {
            "name": "pecid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/status": {
      "get": {
        "tags": [
          "Sandbox"
        ],
        "summary": "GET /api/enterprise/v1/sandbox/status — Check if sandbox mode is active.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/talent/search": {
      "post": {
        "tags": [
          "Sandbox"
        ],
        "summary": "POST /api/enterprise/v1/sandbox/talent/search — Sandbox talent search (returns test data).",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/talent/profiles/{gpin}": {
      "get": {
        "tags": [
          "Sandbox"
        ],
        "summary": "GET /api/enterprise/v1/sandbox/talent/profiles/{gpin} — Sandbox profile (test data).",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/talent/pool/add": {
      "post": {
        "tags": [
          "Sandbox"
        ],
        "summary": "POST /api/enterprise/v1/sandbox/talent/pool/add — Sandbox pool add (always succeeds).",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/webhooks/test": {
      "post": {
        "tags": [
          "Sandbox"
        ],
        "summary": "POST /api/enterprise/v1/sandbox/webhooks/test — Test webhook delivery (sandbox).",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/assessment/results": {
      "get": {
        "tags": [
          "Sandbox"
        ],
        "summary": "GET /api/enterprise/v1/sandbox/assessment/results — Sandbox exam results.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/jobs": {
      "get": {
        "tags": [
          "Sandbox"
        ],
        "summary": "GET /api/enterprise/v1/sandbox/jobs — Sandbox job postings.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/credentials/issued": {
      "get": {
        "tags": [
          "Sandbox"
        ],
        "summary": "GET /api/enterprise/v1/sandbox/credentials/issued — Sandbox issued credentials.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/sandbox/network/stats": {
      "get": {
        "tags": [
          "Sandbox"
        ],
        "summary": "GET /api/enterprise/v1/sandbox/network/stats — Sandbox network overview.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/enterprise/v1/talent/search": {
      "post": {
        "tags": [
          "Talent"
        ],
        "summary": "POST /api/enterprise/v1/talent/search — Search candidates visible to the organization.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentSearchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentSearchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TalentSearchRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/bulk-search": {
      "post": {
        "tags": [
          "Talent"
        ],
        "summary": "POST /api/enterprise/v1/talent/bulk-search — Bulk lookup by GPINs or emails (max 100).",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentBulkSearchRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentBulkSearchRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TalentBulkSearchRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin} — Get full profile by GPIN.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TalentProfileDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}/summary": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin}/summary — Lightweight profile summary.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TalentProfileSummaryDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/pool": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/pool — Get org's talent pool.",
        "parameters": [
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "maxLength": 200,
              "minLength": 0,
              "type": "string"
            }
          },
          {
            "name": "Skills",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "MinTei",
            "in": "query",
            "schema": {
              "maximum": 1000,
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Tags",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/pool/add": {
      "post": {
        "tags": [
          "Talent"
        ],
        "summary": "POST /api/enterprise/v1/talent/pool/add — Add candidate to org's pool.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentPoolAddRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentPoolAddRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TalentPoolAddRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/pool/{gpin}": {
      "delete": {
        "tags": [
          "Talent"
        ],
        "summary": "DELETE /api/enterprise/v1/talent/pool/{gpin} — Remove candidate from pool.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/insights": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/insights — Talent pool analytics.",
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}/records": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin}/records — All records for the candidate.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}/records/{category}": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin}/records/{category} — Records by PECID category.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}/skills": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin}/skills — Skill map.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}/tei": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin}/tei — TEI score + breakdown.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}/assessments": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin}/assessments — Assessment history.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}/credentials": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin}/credentials — Verified credentials.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/profiles/{gpin}/career-dna": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/profiles/{gpin}/career-dna — Career DNA analysis.",
        "parameters": [
          {
            "name": "gpin",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/export": {
      "post": {
        "tags": [
          "Talent"
        ],
        "summary": "POST /api/enterprise/v1/talent/export — Start async export job.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentExportRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentExportRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TalentExportRequest"
              }
            }
          }
        },
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/export/{jobId}/status": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/export/{jobId}/status — Check export job status.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/export/{jobId}/download": {
      "get": {
        "tags": [
          "Talent"
        ],
        "summary": "GET /api/enterprise/v1/talent/export/{jobId}/download — Download completed export.",
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Object"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/auth/login": {
      "post": {
        "tags": [
          "Talent Authentication"
        ],
        "summary": "Validates a current candidate of the API key's organization and returns a\r\n60-second, single-use browser redirect. Call this endpoint only from a trusted server.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentCandidateLoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TalentCandidateLoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TalentCandidateLoginRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TalentCandidateLoginResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/enterprise/v1/talent/auth/complete": {
      "get": {
        "tags": [
          "Talent Authentication"
        ],
        "summary": "Consumes the one-time handoff and establishes the candidate browser session.",
        "parameters": [
          {
            "name": "ticket",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApiError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "status_code": {
            "type": "integer",
            "format": "int32"
          },
          "details": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApiMeta": {
        "type": "object",
        "properties": {
          "total_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "has_more": {
            "type": "boolean",
            "nullable": true
          },
          "request_id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApiResponse_List_LmsCourseResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LmsCourseResponse"
            },
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_List_LmsEnrollmentResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LmsEnrollmentResponse"
            },
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_List_LmsLearnerResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LmsLearnerResponse"
            },
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_List_LmsProgressResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LmsProgressResponse"
            },
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_LmsCourseResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/LmsCourseResponse"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_LmsCredentialLoginResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/LmsCredentialLoginResponse"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_LmsLearnerResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/LmsLearnerResponse"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_LmsLoginUrlResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/LmsLoginUrlResponse"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_LmsLoginUrlSetResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/LmsLoginUrlSetResponse"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_LmsProgressResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/LmsProgressResponse"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_Object": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_TalentCandidateLoginResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/TalentCandidateLoginResponse"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_TalentProfileDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/TalentProfileDto"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApiResponse_TalentProfileSummaryDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/TalentProfileSummaryDto"
          },
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        },
        "additionalProperties": false,
        "description": "Standard API response wrapper for all external API endpoints"
      },
      "ApproveRecordRequest": {
        "type": "object",
        "properties": {
          "notes": {
            "maxLength": 500,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BatchNotificationApiRequest": {
        "type": "object",
        "properties": {
          "gpins": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "action_url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateOAuthClientRequest": {
        "type": "object",
        "properties": {
          "client_name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "permissions": {
            "type": "string",
            "nullable": true
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "rate_limit_per_minute": {
            "type": "integer",
            "format": "int32"
          },
          "allowed_ips": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "token_lifetime_seconds": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateTemplateRequest": {
        "required": [
          "description",
          "record_title",
          "template_name"
        ],
        "type": "object",
        "properties": {
          "template_name": {
            "maxLength": 120,
            "minLength": 0,
            "type": "string"
          },
          "record_title": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string"
          },
          "description": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string"
          },
          "publish_tag": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "validity_days": {
            "maximum": 3650,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DependencyStatus": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "responseTimeMs": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "error": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HealthDependencies": {
        "type": "object",
        "properties": {
          "database": {
            "$ref": "#/components/schemas/DependencyStatus"
          },
          "cache": {
            "$ref": "#/components/schemas/DependencyStatus"
          },
          "redis": {
            "$ref": "#/components/schemas/DependencyStatus"
          }
        },
        "additionalProperties": false
      },
      "HealthResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "environment": {
            "type": "string",
            "nullable": true
          },
          "dependencies": {
            "$ref": "#/components/schemas/HealthDependencies"
          }
        },
        "additionalProperties": false
      },
      "JsonNode": {
        "type": "object",
        "properties": {
          "options": {
            "$ref": "#/components/schemas/JsonNodeOptions"
          },
          "parent": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "root": {
            "$ref": "#/components/schemas/JsonNode"
          }
        },
        "additionalProperties": false
      },
      "JsonNodeOptions": {
        "type": "object",
        "properties": {
          "propertyNameCaseInsensitive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "LmsCourseResponse": {
        "type": "object",
        "properties": {
          "course_id": {
            "type": "integer",
            "format": "int64"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "type": "string",
            "description": "Difficulty: B=Beginner, I=Intermediate, A=Advanced.",
            "nullable": true
          },
          "visibility": {
            "type": "string",
            "description": "Visibility: P=Private, O=Org, R=Public, D=Draft.",
            "nullable": true
          },
          "is_published": {
            "type": "boolean"
          },
          "duration_minutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "total_members": {
            "type": "integer",
            "format": "int64"
          },
          "avg_rating": {
            "type": "number",
            "format": "double"
          },
          "publish_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "A course owned by the calling organization."
      },
      "LmsCredentialLoginRequest": {
        "required": [
          "email",
          "password",
          "user_type"
        ],
        "type": "object",
        "properties": {
          "user_type": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "maxLength": 320,
            "minLength": 0,
            "type": "string",
            "format": "email"
          },
          "password": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "return_url": {
            "maxLength": 500,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LmsCredentialLoginResponse": {
        "type": "object",
        "properties": {
          "authenticated": {
            "type": "boolean"
          },
          "user_type": {
            "type": "string",
            "nullable": true
          },
          "redirect_url": {
            "type": "string",
            "nullable": true
          },
          "expires_in": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "LmsEnrollmentResponse": {
        "type": "object",
        "properties": {
          "enrollment_id": {
            "type": "integer",
            "format": "int64"
          },
          "course_id": {
            "type": "integer",
            "format": "int64"
          },
          "course_title": {
            "type": "string",
            "nullable": true
          },
          "candidate_id": {
            "type": "integer",
            "format": "int64"
          },
          "learner_name": {
            "type": "string",
            "nullable": true
          },
          "learner_email": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "A=Active, C=Completed, R=Revoked, I=In-progress.",
            "nullable": true
          },
          "percentage": {
            "type": "number",
            "format": "double"
          },
          "score": {
            "type": "number",
            "format": "double"
          },
          "is_certificate": {
            "type": "boolean"
          },
          "enrolled_at": {
            "type": "string",
            "format": "date-time"
          },
          "completed_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "last_accessed_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "validity_until": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An enrollment of a learner into a course within the org."
      },
      "LmsLearnerResponse": {
        "type": "object",
        "properties": {
          "candidate_id": {
            "type": "integer",
            "format": "int64"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "first_name": {
            "type": "string",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "nullable": true
          },
          "full_name": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "job_title": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "description": "Membership role in this org: L=Learner, G=Guest, A=Alumni.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Membership status in this org: A=Active, B=Blocked, L=Left.",
            "nullable": true
          },
          "is_email_verified": {
            "type": "boolean"
          },
          "total_courses": {
            "type": "integer",
            "format": "int32"
          },
          "joined_at": {
            "type": "string",
            "format": "date-time"
          },
          "last_login_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A learner (candidate) as a member of the calling organization."
      },
      "LmsLoginUrlResponse": {
        "type": "object",
        "properties": {
          "user_type": {
            "type": "string",
            "description": "Stable user-type key: learner, student, parent, org_user, learner_register, universal.",
            "nullable": true
          },
          "label": {
            "type": "string",
            "description": "Human-friendly label for display in a portal.",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "Fully-qualified hosted URL to redirect/link the user to.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "What the URL is for.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A single hosted login (or registration) URL for one user type."
      },
      "LmsLoginUrlSetResponse": {
        "type": "object",
        "properties": {
          "base_url": {
            "type": "string",
            "description": "The resolved base URL these links were built against.",
            "nullable": true
          },
          "org_name": {
            "type": "string",
            "description": "Organization display name.",
            "nullable": true
          },
          "urls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LmsLoginUrlResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "All hosted login URLs for the organization, keyed by user type."
      },
      "LmsProgressResponse": {
        "type": "object",
        "properties": {
          "candidate_id": {
            "type": "integer",
            "format": "int64"
          },
          "course_id": {
            "type": "integer",
            "format": "int64"
          },
          "course_title": {
            "type": "string",
            "nullable": true
          },
          "completion_percent": {
            "type": "number",
            "format": "double"
          },
          "is_completed": {
            "type": "boolean"
          },
          "completed_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "last_accessed_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Per-learner progress/completion for a single course."
      },
      "OAuthErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "nullable": true
          },
          "error_description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "OAuth2 error response (RFC 6749 §5.2)."
      },
      "OAuthTokenResponse": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "nullable": true
          },
          "token_type": {
            "type": "string",
            "nullable": true
          },
          "expires_in": {
            "type": "integer",
            "format": "int32"
          },
          "scope": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "OAuth2 token response (RFC 6749 §5.1)."
      },
      "PingResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "orgId": {
            "type": "integer",
            "format": "int64"
          },
          "apiKeyId": {
            "type": "integer",
            "format": "int64"
          },
          "keyName": {
            "type": "string",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "apiVersion": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RecordCategoryCount": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "nullable": true
          },
          "pecid": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "RegisterAIProviderRequest": {
        "type": "object",
        "properties": {
          "provider_name": {
            "type": "string",
            "nullable": true
          },
          "provider_type": {
            "type": "string",
            "nullable": true
          },
          "allowed_tools": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "blocked_tools": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "max_requests_per_minute": {
            "type": "integer",
            "format": "int32"
          },
          "max_requests_per_day": {
            "type": "integer",
            "format": "int32"
          },
          "require_approval_for_writes": {
            "type": "boolean"
          },
          "webhook_url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RegisterIntegrationRequest": {
        "type": "object",
        "properties": {
          "app_name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "integration_type": {
            "type": "string",
            "nullable": true
          },
          "environment": {
            "type": "string",
            "nullable": true
          },
          "contact_name": {
            "type": "string",
            "nullable": true
          },
          "contact_email": {
            "type": "string",
            "nullable": true
          },
          "domains_used": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RejectRecordRequest": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "maxLength": 500,
            "minLength": 0,
            "type": "string"
          },
          "rejection_template_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RevokeCredentialRequest": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RevokeOAuthClientRequest": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RotateKeyRequest": {
        "type": "object",
        "properties": {
          "grace_period_hours": {
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SendNotificationApiRequest": {
        "type": "object",
        "properties": {
          "gpin": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "action_url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentBulkSearchRequest": {
        "type": "object",
        "properties": {
          "gpins": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "emails": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentCandidateLoginRequest": {
        "required": [
          "password",
          "username"
        ],
        "type": "object",
        "properties": {
          "username": {
            "maxLength": 320,
            "minLength": 0,
            "type": "string",
            "format": "email"
          },
          "password": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "landing_page": {
            "maxLength": 500,
            "minLength": 0,
            "type": "string",
            "description": "A local GenuineIn path to open after the browser session is established.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Server-to-server candidate login request. Username is the candidate's email address."
      },
      "TalentCandidateLoginResponse": {
        "type": "object",
        "properties": {
          "authenticated": {
            "type": "boolean"
          },
          "redirect_url": {
            "type": "string",
            "nullable": true
          },
          "expires_in": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TalentExportRequest": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "$ref": "#/components/schemas/TalentSearchFilters"
          }
        },
        "additionalProperties": false
      },
      "TalentLocationDto": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "country_code": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentPoolAddRequest": {
        "required": [
          "gpin"
        ],
        "type": "object",
        "properties": {
          "gpin": {
            "maxLength": 20,
            "minLength": 5,
            "type": "string"
          },
          "notes": {
            "maxLength": 500,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentProfileDto": {
        "type": "object",
        "properties": {
          "gpin": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "headline": {
            "type": "string",
            "nullable": true
          },
          "about": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "$ref": "#/components/schemas/TalentLocationDto"
          },
          "tei": {
            "$ref": "#/components/schemas/TalentTeiDto"
          },
          "skills": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TalentSkillDto"
            },
            "nullable": true
          },
          "records": {
            "$ref": "#/components/schemas/TalentRecordsSummary"
          },
          "experience_years": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "connection_status": {
            "type": "string",
            "nullable": true
          },
          "is_in_pool": {
            "type": "boolean"
          },
          "profile_picture_url": {
            "type": "string",
            "nullable": true
          },
          "last_active_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentProfileSummaryDto": {
        "type": "object",
        "properties": {
          "gpin": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "headline": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "$ref": "#/components/schemas/TalentLocationDto"
          },
          "tei_score": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tei_tier": {
            "type": "string",
            "nullable": true
          },
          "top_skills": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "experience_years": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "verified_records_count": {
            "type": "integer",
            "format": "int32"
          },
          "connection_status": {
            "type": "string",
            "nullable": true
          },
          "is_in_pool": {
            "type": "boolean"
          },
          "profile_picture_url": {
            "type": "string",
            "nullable": true
          },
          "last_active_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentRecordsSummary": {
        "type": "object",
        "properties": {
          "total_count": {
            "type": "integer",
            "format": "int32"
          },
          "verified_count": {
            "type": "integer",
            "format": "int32"
          },
          "by_category": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecordCategoryCount"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentSearchFilters": {
        "type": "object",
        "properties": {
          "skills": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "min_tei_score": {
            "maximum": 1000,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "max_tei_score": {
            "maximum": 1000,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "experience_years_min": {
            "maximum": 50,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "experience_years_max": {
            "maximum": 50,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "education_level": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "location_country": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "location_city": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "certifications": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "industries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "verified_only": {
            "type": "boolean",
            "nullable": true
          },
          "connected_only": {
            "type": "boolean",
            "nullable": true
          },
          "pool_only": {
            "type": "boolean",
            "nullable": true
          },
          "last_active_within_days": {
            "maximum": 365,
            "minimum": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentSearchRequest": {
        "type": "object",
        "properties": {
          "query": {
            "maxLength": 500,
            "minLength": 0,
            "type": "string",
            "description": "Free-text search query (skills, title, keywords).",
            "nullable": true
          },
          "filters": {
            "$ref": "#/components/schemas/TalentSearchFilters"
          },
          "sort": {
            "$ref": "#/components/schemas/TalentSearchSort"
          },
          "page": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "page_size": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TalentSearchSort": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentSkillDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "proficiency_level": {
            "type": "string",
            "nullable": true
          },
          "endorsement_count": {
            "type": "integer",
            "format": "int32"
          },
          "verified": {
            "type": "boolean"
          },
          "source": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TalentTeiDto": {
        "type": "object",
        "properties": {
          "score": {
            "type": "integer",
            "format": "int32"
          },
          "tier": {
            "type": "string",
            "nullable": true
          },
          "percentile": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "calculated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateProviderStatusRequest": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateTemplateRequest": {
        "type": "object",
        "properties": {
          "template_name": {
            "maxLength": 120,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "record_title": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "publish_tag": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "validity_days": {
            "maximum": 3650,
            "minimum": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "is_active": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "description": "Organization API key (obtained from Developer Portal). Required for all endpoints except /health and /info.",
        "name": "X-API-Key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "ApiKey": [ ]
    }
  ],
  "tags": [
    {
      "name": "Health",
      "description": "Health checks, connectivity tests, and API metadata. Use for monitoring and integration verification."
    },
    {
      "name": "Talent",
      "description": "Search, profiles, talent pool, records, skills, TEI scores, and async export. Core talent intelligence endpoints."
    },
    {
      "name": "Assessment",
      "description": "Exam programs, candidate enrollment, sessions, and results. Read-only access to assessment data."
    },
    {
      "name": "Jobs",
      "description": "Job postings and applications. Read-only access to recruitment pipeline data."
    },
    {
      "name": "Credentials",
      "description": "Credential templates, issued credentials, verification requests, and revocation."
    },
    {
      "name": "Network",
      "description": "Organization network: connections, batches, invitations, partners, and connection approval/rejection."
    },
    {
      "name": "Records",
      "description": "Category-based academic and professional records. 16 PECIDs supported. Publish, distribute, verify, and query."
    },
    {
      "name": "Sandbox",
      "description": "Sandbox environment returning predictable test data. Use for integration testing without affecting production."
    },
    {
      "name": "OAuth",
      "description": "OAuth2 Client Credentials flow — token issuance and client management for server-to-server authentication."
    },
    {
      "name": "MCP",
      "description": "Model Context Protocol gateway — AI assistant tool discovery, invocation, and policy enforcement across all Enterprise domains."
    },
    {
      "name": "AI Providers",
      "description": "AI provider registration and management — control which AI systems (ChatGPT, Claude, Gemini, Kiro) can access tools, with per-provider allowlists and rate limits."
    },
    {
      "name": "Developer",
      "description": "Developer onboarding, SDK metadata, quickstart guides, and integration helpers for new API consumers."
    },
    {
      "name": "Governance",
      "description": "Enterprise governance — integration registry, API lifecycle status, and platform summary for compliance and operations."
    },
    {
      "name": "Compliance",
      "description": "Compliance and audit — audit trail access, data classification matrix, SOC 2/ISO 27001 readiness assessment."
    },
    {
      "name": "Documentation",
      "description": "Documentation index — complete listing of all API guides, references, and operational documents."
    },
    {
      "name": "Billing",
      "description": "Subscription management, usage metering, plan catalog, and invoice history for the organization."
    },
    {
      "name": "Notifications",
      "description": "Send notifications to connected candidates, track delivery, and view engagement analytics."
    },
    {
      "name": "Analytics",
      "description": "Organization-level intelligence: talent pool distribution, hiring pipeline, engagement metrics, and skill trends."
    },
    {
      "name": "Analytics",
      "description": "Enterprise Analytics API — org-level intelligence and dashboards.\r\nProvides talent distribution, hiring pipeline, engagement metrics, and skill trends.\r\nBase route: /api/enterprise/v1/analytics\r\nAuth: X-API-Key or OAuth Bearer (org-scoped)"
    },
    {
      "name": "Assessment",
      "description": "Enterprise Assessment API — Organization-facing exam program, candidate, session, and result management.\r\nBase route: /api/enterprise/v1/assessment\r\nAuth: X-API-Key header (org-scoped)"
    },
    {
      "name": "Billing",
      "description": "Enterprise Billing API — subscription status, usage metering, plan catalog, and invoices.\r\nBase route: /api/enterprise/v1/billing\r\nAuth: X-API-Key or OAuth Bearer (org-scoped)"
    },
    {
      "name": "Credentials",
      "description": "Enterprise Credentials API — Organization-facing credential template, issuance, and verification management.\r\nBase route: /api/enterprise/v1/credentials\r\nAuth: X-API-Key header (org-scoped)"
    },
    {
      "name": "AI Providers",
      "description": "AI Provider management — register, list, and control which AI systems\r\ncan access Enterprise MCP tools. Enables ChatGPT, Claude, Gemini, Kiro\r\nconnections with per-provider tool allowlists and rate limits."
    },
    {
      "name": "Compliance",
      "description": "Enterprise Compliance — audit trail access, data classification report,\r\nand compliance readiness assessment for SOC 2 / ISO 27001."
    },
    {
      "name": "Developer",
      "description": "Developer onboarding and SDK discovery endpoints.\r\nProvides quickstart guidance, SDK metadata, and integration helpers.\r\nAll public (no auth required) to facilitate discovery and onboarding."
    },
    {
      "name": "Documentation",
      "description": "Enterprise API documentation index — lists all available documentation\r\nresources for the platform including guides, references, and runbooks."
    },
    {
      "name": "Governance",
      "description": "Enterprise Governance — integration registry, API lifecycle, and platform status.\r\nEnables orgs to track all connected systems and monitor API health."
    },
    {
      "name": "Health",
      "description": "Enterprise API health check and status endpoints.\r\nProvides dependency health status for monitoring and client-side resilience."
    },
    {
      "name": "MCP",
      "description": "Enterprise MCP (Model Context Protocol) Gateway.\r\nEnables AI assistants (ChatGPT, Claude, Gemini, Kiro) to discover and invoke\r\nEnterprise services via a unified tool interface. All providers reach the\r\nsame canonical service layer — no vendor-specific logic."
    },
    {
      "name": "OAuth",
      "description": "Enterprise OAuth2 endpoints — Client Credentials token issuance and client management.\r\nToken endpoint is public (authenticates via client_id/client_secret).\r\nClient management endpoints require existing API key auth (org admin)."
    },
    {
      "name": "Sandbox",
      "description": "Sandbox environment for testing Enterprise API integrations.\r\nReturns predictable test data without touching production databases.\r\nAccess via: X-Sandbox: true header OR sandbox API keys (prefix gin_test_)."
    },
    {
      "name": "Jobs",
      "description": "Enterprise Jobs API — Organization-facing job posting and application management.\r\nBase route: /api/enterprise/v1/jobs\r\nAuth: X-API-Key header (org-scoped)"
    },
    {
      "name": "LMS",
      "description": "LMS Enterprise API — read-only, organization-scoped access to learners,\r\ncourses, enrollments, and progress. Replaces iframe/embed integrations with\r\na proper documented REST surface.\r\n            \r\nAuth: X-API-Key header (or EnterpriseOAuth bearer). The org is resolved from\r\nthe key — callers never pass an org id. Permissions are checked per endpoint\r\nagainst the key's \"lms\" resource scope.\r\n            \r\nRoute: /api/enterprise/v1/lms"
    },
    {
      "name": "Network",
      "description": "Enterprise Network API — Organization-facing network: members, directory/batches, invitations, and partner orgs.\r\nBase route: /api/enterprise/v1/network\r\nAuth: X-API-Key header (org-scoped)"
    },
    {
      "name": "Notifications",
      "description": "Enterprise Notifications API — send notifications to connected candidates,\r\ntrack delivery status, and view analytics.\r\nBase route: /api/enterprise/v1/notifications\r\nAuth: X-API-Key or OAuth Bearer (org-scoped)"
    },
    {
      "name": "Records",
      "description": "Enterprise Records API — Category-based routes.\r\n16 supported PECIDs. No bulk/cumulative. Organization-scoped.\r\nRoute: /api/enterprise/v1/records"
    },
    {
      "name": "Talent",
      "description": "Enterprise TalentIO API — Organization-facing talent search, profiles, and pool management.\r\nBase route: /api/enterprise/v1/talent\r\nAuth: X-API-Key header (org-scoped)"
    },
    {
      "name": "Talent Authentication",
      "description": "Secure, organization-scoped candidate login handoff for TalentIO integrations."
    }
  ]
}