{"openapi":"3.1.0","info":{"title":"AllJobs Developer API","version":"1.0.0","description":"A REST API for registering companies, publishing jobs, and receiving applications on the AllJobs job board. Agent-friendly: a single POST /register call provisions a company, owner user, and API key.","contact":{"email":"support@humanlike.co","url":"https://humanlike.co/alljobs/developers"}},"servers":[{"url":"https://humanlike.co/api/v1","description":"Production"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Company-scoped key. Format: hk_live_<64 hex>."}},"schemas":{"Error":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"message":{"type":"string"},"details":{"type":"string","nullable":true}},"required":["message"]}},"required":["success","error"]},"Company":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"logo_url":{"type":"string","nullable":true},"hq_location":{"type":"string","nullable":true},"industry":{"type":"string","nullable":true},"setup_completed":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"}}},"Job":{"type":"object","properties":{"job_id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string"},"department":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"location_type":{"type":"string","enum":["remote","hybrid","on-site"]},"employment_type":{"type":"string","enum":["full-time","part-time","contract","internship"]},"experience_level":{"type":"string","nullable":true},"salary_range":{"type":"string","nullable":true},"status":{"type":"string","enum":["draft","published","archived"]},"published_at":{"type":"string","format":"date-time","nullable":true},"expires_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"}}},"ApiKey":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"key":{"type":"string","description":"Full API key. Shown once on creation only."},"key_prefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"rate_limit_per_minute":{"type":"integer"},"expires_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"}}}}},"security":[{"ApiKeyAuth":[]}],"paths":{"/register":{"post":{"summary":"Register a company, owner user, and API key","description":"Agentic bootstrap. Creates the auth user, company, company_users link, and partner_api_keys row in one transaction. Idempotent on owner.email.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["company","owner"],"properties":{"company":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"website":{"type":"string"},"description":{"type":"string"},"logo_url":{"type":"string"},"hq_location":{"type":"string"},"industry":{"type":"string"}}},"owner":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"},"first_name":{"type":"string"},"last_name":{"type":"string"},"phone":{"type":"string"},"job_title":{"type":"string"}}},"key_name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"201":{"description":"Tenant created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/Company"},"owner":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"}}},"api_key":{"$ref":"#/components/schemas/ApiKey"},"next_steps":{"type":"array","items":{"type":"string"}}}}}}}}},"400":{"description":"Validation failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Owner email taken and existing user could not be loaded"}}}},"/companies/me":{"get":{"summary":"Fetch the authenticated company","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object","properties":{"company":{"$ref":"#/components/schemas/Company"}}}}}}}}}},"patch":{"summary":"Update or publish the company profile","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"website":{"type":"string"},"logo_url":{"type":"string"},"hq_location":{"type":"string"},"industry":{"type":"string"},"setup_completed":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Updated"},"400":{"description":"No updatable fields provided"}}}},"/jobs":{"get":{"summary":"List jobs for the company","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"status","in":"query","schema":{"type":"string","default":"published"}},{"name":"department","in":"query","schema":{"type":"string"}},{"name":"location","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","maximum":100,"default":50}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"List of jobs"}}},"post":{"summary":"Create a job (draft or published)","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["title","description"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"department":{"type":"string"},"location":{"type":"string"},"location_type":{"type":"string","enum":["remote","hybrid","on-site"]},"employment_type":{"type":"string","enum":["full-time","part-time","contract","internship"]},"experience_level":{"type":"string"},"salary_range":{"type":"string"},"status":{"type":"string","enum":["draft","published","archived"],"default":"draft"},"expires_at":{"type":"string","format":"date-time"},"custom_application_questions":{"type":"array","items":{"type":"object"}}}}}}},"responses":{"201":{"description":"Created"},"400":{"description":"Validation"}}}},"/jobs/{jobId}":{"parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"summary":"Fetch a single job","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Job"}}},"patch":{"summary":"Update or publish a job","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"department":{"type":"string"},"location":{"type":"string"},"location_type":{"type":"string","enum":["remote","hybrid","on-site"]},"employment_type":{"type":"string","enum":["full-time","part-time","contract","internship"]},"experience_level":{"type":"string"},"salary_range":{"type":"string"},"status":{"type":"string","enum":["draft","published","archived"]},"expires_at":{"type":"string","format":"date-time"}}}}}},"responses":{"200":{"description":"Updated"}}},"delete":{"summary":"Soft-delete a job (archived)","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Deleted"}}}},"/applications":{"post":{"summary":"Submit a candidate application","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["job_id","candidate"],"properties":{"job_id":{"type":"string","format":"uuid"},"candidate":{"type":"object","required":["first_name","last_name","email"],"properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"linkedin_url":{"type":"string"},"resume_url":{"type":"string"}}},"custom_fields":{"type":"object"},"source":{"type":"string"},"external_id":{"type":"string"}}}}}},"responses":{"201":{"description":"Application created"},"409":{"description":"Duplicate application"}}},"get":{"summary":"List applications received","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"job_id","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"status","in":"query","schema":{"type":"string"}},{"name":"since","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","schema":{"type":"integer","maximum":100,"default":50}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"List of applications"}}}}}}