{
 "openapi": "3.0.3",
 "info": {
  "title": "AI Human Jobs static API",
  "version": "1.0.0",
  "description": "Read-only static JSON files rebuilt daily. No auth, no rate limit beyond normal CDN use. Filter client-side."
 },
 "servers": [
  {
   "url": "https://aihumanjobs.com"
  }
 ],
 "paths": {
  "/api/index.json": {
   "get": {
    "operationId": "getIndex",
    "summary": "Site index: totals, categories, companies, endpoint URLs",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/api/jobs.json": {
   "get": {
    "operationId": "listJobs",
    "summary": "All jobs",
    "parameters": [],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/JobList"
        }
       }
      }
     }
    }
   }
  },
  "/api/category/{slug}.json": {
   "get": {
    "operationId": "listJobsByCategory",
    "summary": "Jobs in a category",
    "parameters": [
     {
      "name": "slug",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "enum": [
        "ai-tutor",
        "language",
        "policy",
        "support",
        "content",
        "ops"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/JobList"
        }
       }
      }
     }
    }
   }
  },
  "/api/company/{slug}.json": {
   "get": {
    "operationId": "listJobsByCompany",
    "summary": "Jobs at a company (slugs in /api/index.json)",
    "parameters": [
     {
      "name": "slug",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/JobList"
        }
       }
      }
     }
    }
   }
  }
 },
 "components": {
  "schemas": {
   "Job": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "nullable": true
     },
     "title": {
      "type": "string",
      "nullable": true
     },
     "company": {
      "type": "string",
      "nullable": true
     },
     "company_slug": {
      "type": "string",
      "nullable": true
     },
     "category": {
      "type": "string",
      "nullable": true
     },
     "location": {
      "type": "string",
      "nullable": true
     },
     "posted": {
      "type": "string",
      "nullable": true
     },
     "pay": {
      "type": "string",
      "nullable": true
     },
     "pay_source": {
      "type": "string",
      "nullable": true
     },
     "apply_url": {
      "type": "string",
      "nullable": true
     },
     "page_url": {
      "type": "string",
      "nullable": true
     },
     "remote": {
      "type": "boolean"
     },
     "ongoing": {
      "type": "boolean"
     },
     "categories": {
      "type": "array",
      "items": {
       "type": "string",
       "enum": [
        "ai-tutor",
        "language",
        "policy",
        "support",
        "content",
        "ops"
       ]
      }
     }
    }
   },
   "JobList": {
    "type": "object",
    "properties": {
     "generated_at": {
      "type": "string"
     },
     "count": {
      "type": "integer"
     },
     "jobs": {
      "type": "array",
      "items": {
       "$ref": "#/components/schemas/Job"
      }
     }
    }
   }
  }
 }
}