{"openapi":"3.0.3","info":{"title":"LexGO public jobs API","version":"v1","description":"Unauthenticated read API for live Belgian and Luxembourg legal jobs. Additive-only. Search is compact; call getJob for the sanitized description before recommending. Send candidates to click_url. Do not apply on their behalf. languages is the posting content locale, not required spoken languages. Errors use RFC 9457 application/problem+json."},"servers":[{"url":"https://www.lexgo.be"},{"url":"https://www.lexgo.lu"}],"externalDocs":{"description":"Versioning and deprecation policy. v1 is additive-only; breaking changes require /api/v2.","url":"https://www.lexgo.be/developers/versioning"},"paths":{"/api/v1/jobs":{"get":{"operationId":"searchJobs","summary":"Search live vacancies","description":"Returns currently public legal jobs without descriptions. Paginate with next_cursor. Call getJob before recommending. Send candidates to click_url.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":80,"description":"Literal match on titles, employer name, and practice-area names. LIKE wildcards are treated as characters."}},{"name":"domain","in":"query","required":false,"schema":{"type":"string","enum":["be","lu"]}},{"name":"function_id","in":"query","required":false,"schema":{"type":"integer"}},{"name":"discipline_id","in":"query","required":false,"schema":{"type":"integer","description":"Practice-area id from GET /api/v1/taxonomies."}},{"name":"work_environment_id","in":"query","required":false,"schema":{"type":"integer","description":"Employer-type id from GET /api/v1/taxonomies."}},{"name":"region_id","in":"query","required":false,"schema":{"type":"integer","description":"Address region id (Address::REGIONS). Never jobs.region_id."}},{"name":"experience_id","in":"query","required":false,"schema":{"type":"integer","description":"Experience band id from GET /api/v1/taxonomies (0 unknown, 1 0-3 years, 2 3-6, 3 +6)."}},{"name":"remote","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"contract","in":"query","required":false,"schema":{"type":"string","enum":["permanent","temporary","self_employed"]}},{"name":"language","in":"query","required":false,"schema":{"type":"string","enum":["nl","fr","en"],"description":"Posting content locale (nl/fr/en), not required spoken languages."}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobList"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"304":{"description":"Not Modified. Revalidate with If-None-Match."}}}},"/api/v1/jobs/{id}":{"get":{"operationId":"getJob","summary":"Fetch one live vacancy","description":"Sanitized plaintext descriptions and structured facets. id is an integer, id-slug, or an allowlisted lexgo.be/lu job URL (url or click_url). Call this before recommending a vacancy.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Integer id, id-slug, or an allowlisted lexgo.be/lu job URL (url or click_url)"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDetail"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Gone","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"304":{"description":"Not Modified. Revalidate with If-None-Match."}}}},"/api/v1/functions":{"get":{"operationId":"listFunctions","summary":"List function names","description":"Function names for use as function_id filters. Names only; no SEO HTML.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunctionList"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/v1/taxonomies":{"get":{"operationId":"listTaxonomies","summary":"List filter vocabularies","description":"Function, discipline, region, work-environment ids and names, plus static experience/contract/work-arrangement enums. Names only; no SEO HTML.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Taxonomies"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/v1/events":{"get":{"operationId":"listEvents","summary":"List upcoming scheduled events","description":"Upcoming legal trainings and events. On-demand webinars are excluded. Paginate with next_cursor.","parameters":[{"name":"domain","in":"query","required":false,"schema":{"type":"string","enum":["be","lu"]}},{"name":"language","in":"query","required":false,"schema":{"type":"string","enum":["nl","fr","en"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventList"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/v1/events/{id}":{"get":{"operationId":"getEvent","summary":"Fetch one upcoming event","description":"id is an integer, id-slug, or an allowlisted lexgo.be/lu event URL.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Integer id, id-slug, or an allowlisted lexgo.be/lu event URL"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"410":{"description":"Gone","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"schemas":{"LocalizedStrings":{"type":"object","additionalProperties":false,"properties":{"nl":{"type":"string","nullable":true},"fr":{"type":"string","nullable":true},"en":{"type":"string","nullable":true}}},"CompanyName":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","nullable":true}}},"Function":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"nl_name":{"type":"string","nullable":true},"fr_name":{"type":"string","nullable":true},"en_name":{"type":"string","nullable":true}}},"Region":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"nl_name":{"type":"string","nullable":true},"fr_name":{"type":"string","nullable":true},"en_name":{"type":"string","nullable":true}}},"NamedTerm":{"type":"object","additionalProperties":false,"properties":{"id":{"oneOf":[{"type":"integer"},{"type":"string"}]},"nl_name":{"type":"string","nullable":true},"fr_name":{"type":"string","nullable":true},"en_name":{"type":"string","nullable":true}}},"Experience":{"type":"object","additionalProperties":false,"nullable":true,"properties":{"id":{"type":"integer"},"nl_name":{"type":"string","nullable":true},"fr_name":{"type":"string","nullable":true},"en_name":{"type":"string","nullable":true}}},"ContractFlags":{"type":"object","additionalProperties":false,"properties":{"permanent":{"type":"boolean"},"temporary":{"type":"boolean"},"self_employed":{"type":"boolean"}}},"WorkArrangement":{"type":"object","additionalProperties":false,"properties":{"fulltime":{"type":"boolean"},"parttime":{"type":"boolean"},"remote_friendly":{"type":"boolean"}}},"Location":{"type":"object","additionalProperties":false,"properties":{"city":{"type":"string","nullable":true},"country":{"type":"string","nullable":true}}},"Salary":{"type":"object","additionalProperties":false,"properties":{"currency":{"type":"string"},"period":{"type":"string"},"minimum":{"type":"integer","nullable":true},"maximum":{"type":"integer","nullable":true}}},"Job":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"url":{"type":"string","format":"uri"},"click_url":{"type":"string","format":"uri","description":"LexGO page with tracking. Send candidates here."},"domain":{"type":"string","enum":["be","lu"]},"languages":{"type":"array","items":{"type":"string","enum":["nl","fr","en"]},"description":"Posting content locales, not required spoken languages."},"published_at":{"type":"string","format":"date-time","nullable":true},"offline_at":{"type":"string","format":"date-time","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true},"titles":{"$ref":"#/components/schemas/LocalizedStrings"},"summaries":{"$ref":"#/components/schemas/LocalizedStrings"},"company":{"$ref":"#/components/schemas/CompanyName"},"functions":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"disciplines":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"work_environments":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"regions":{"type":"array","items":{"$ref":"#/components/schemas/Region"}},"experience":{"$ref":"#/components/schemas/Experience"},"contract":{"$ref":"#/components/schemas/ContractFlags"},"work_arrangement":{"$ref":"#/components/schemas/WorkArrangement"},"location":{"$ref":"#/components/schemas/Location"}}},"JobDetail":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"url":{"type":"string","format":"uri"},"click_url":{"type":"string","format":"uri","description":"LexGO page with tracking. Send candidates here."},"domain":{"type":"string","enum":["be","lu"]},"languages":{"type":"array","items":{"type":"string","enum":["nl","fr","en"]},"description":"Posting content locales, not required spoken languages."},"published_at":{"type":"string","format":"date-time","nullable":true},"offline_at":{"type":"string","format":"date-time","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true},"titles":{"$ref":"#/components/schemas/LocalizedStrings"},"summaries":{"$ref":"#/components/schemas/LocalizedStrings"},"company":{"$ref":"#/components/schemas/CompanyName"},"functions":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"disciplines":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"work_environments":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"regions":{"type":"array","items":{"$ref":"#/components/schemas/Region"}},"experience":{"$ref":"#/components/schemas/Experience"},"contract":{"$ref":"#/components/schemas/ContractFlags"},"work_arrangement":{"$ref":"#/components/schemas/WorkArrangement"},"location":{"$ref":"#/components/schemas/Location"},"descriptions":{"$ref":"#/components/schemas/LocalizedStrings"},"salary":{"$ref":"#/components/schemas/Salary"}}},"JobList":{"type":"object","additionalProperties":false,"properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"next_cursor":{"type":"string","nullable":true}}},"FunctionList":{"type":"object","additionalProperties":false,"properties":{"functions":{"type":"array","items":{"$ref":"#/components/schemas/Function"}}}},"Taxonomies":{"type":"object","additionalProperties":false,"properties":{"functions":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"disciplines":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"work_environments":{"type":"array","items":{"$ref":"#/components/schemas/Function"}},"regions":{"type":"array","items":{"$ref":"#/components/schemas/Region"}},"experience":{"type":"array","items":{"$ref":"#/components/schemas/Experience"}},"contract":{"type":"array","items":{"$ref":"#/components/schemas/NamedTerm"}},"work_arrangement":{"type":"array","items":{"$ref":"#/components/schemas/NamedTerm"}}}},"Event":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"integer"},"url":{"type":"string","format":"uri"},"click_url":{"type":"string","format":"uri"},"domain":{"type":"string","enum":["be","lu"]},"languages":{"type":"array","items":{"type":"string","enum":["nl","fr","en"]}},"event_starts_at":{"type":"string","format":"date-time","nullable":true},"event_ends_at":{"type":"string","format":"date-time","nullable":true},"titles":{"$ref":"#/components/schemas/LocalizedStrings"},"summaries":{"$ref":"#/components/schemas/LocalizedStrings"},"company":{"$ref":"#/components/schemas/CompanyName"}}},"EventList":{"type":"object","additionalProperties":false,"properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/Event"}},"next_cursor":{"type":"string","nullable":true}}},"Problem":{"type":"object","additionalProperties":true,"required":["type","title","status","detail","code"],"properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"code":{"type":"string"},"instance":{"type":"string"},"error":{"type":"string","description":"v1 alias of code"},"message":{"type":"string","description":"v1 alias of detail"},"docs":{"type":"string","format":"uri","description":"v1 alias pointing at /developers"}}}}}}