{"source":"stillinger","operation":"get_recent_jobs","description":"Job vacancies posted or changed at/after a date, from NAV's stillingsfeed.","parameters":[{"name":"since","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"ISO date or datetime (UTC), e.g. \"2026-07-01\" or \"2026-07-01T08:00:00Z\". Default: 24 hours ago. Earlier dates cover more but walk more pages (see max_pages). A `since` in the future returns nothing."},{"name":"keyword","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Case-insensitive substring filter on job title and employer."},{"name":"municipality","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Case-insensitive substring filter on the ad's municipality (e.g. \"OSLO\", \"Bergen\")."},{"name":"active_only","schema":{"type":"boolean"},"required":false,"default":true,"description":"If True (default), return only ads whose latest state is ACTIVE. False also includes ads that have since gone INACTIVE."},{"name":"max_results","schema":{"type":"integer"},"required":false,"default":50,"description":"Cap on returned ads, 1-200 (default 50). Newest first."},{"name":"max_pages","schema":{"type":"integer"},"required":false,"default":20,"description":"Safety cap on feed pages walked, 1-100 (default 20). Each page is up to 1000 events. If hit before reaching the newest page, `truncated` is True and the newest ads may be missing; narrow `since` toward now or raise this."},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100)."},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page."}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/stillinger/get_recent_jobs?since={since}&keyword={keyword}&municipality={municipality}&active_only=true&max_results=50&max_pages=20&limit=25&offset=0","schema_scope":"#/data in the successful operation envelope","response_schema":{"type":"object","properties":{"since":{"type":"string"},"match_count":{"type":"integer"},"returned":{"type":"integer"},"jobs":{"anyOf":[{"type":"array","items":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."}},{"type":"array","items":{"type":"array","items":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."}}},{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."}]},"note":{"type":"string"},"pages_scanned":{"type":"integer"},"unique_ads_scanned":{"type":"integer"},"truncated":{"type":"boolean"}},"additionalProperties":false},"response_schema_status":{"status":"incomplete","codegen_safe":false,"description":"Not suitable for typed model generation: the container shape and field names are useful, but unresolved values accept any JSON value."},"entity_projection":{"status":"projected","entity_types":["job","organization"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"error_contract":{"scope":"top-level HTTP error response; never part of a success payload","schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"details":{"type":"object"}},"additionalProperties":false,"required":["code","message","retryable"]},"suggestion":{"type":"string"},"_meta":{"type":"object","properties":{"retrieved_at":{"type":"string","format":"date-time"},"language":{"type":"string","const":"en"},"content_languages":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"object"}}},"required":["retrieved_at","language","content_languages","sources"]},"_links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"api_index":{"type":"string","format":"uri"}},"required":["self","api_index"],"additionalProperties":false}},"additionalProperties":false,"required":["error","suggestion","_meta","_links"]},"statuses":{"400":{"codes":["MISSING_PARAMETER","INVALID_PARAMETER","INVALID_REQUEST"],"retryable":false},"404":{"codes":["SOURCE_NOT_FOUND","OPERATION_NOT_FOUND","ENTITY_NOT_FOUND"],"retryable":false},"429":{"codes":["RATE_LIMITED","GATEWAY_RATE_LIMITED"],"retryable":true},"502":{"codes":["SOURCE_UNAVAILABLE"],"retryable":true},"500":{"codes":["INTERNAL_ERROR"],"retryable":true}}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/stillinger/get_recent_jobs/schema","operation":"https://allemannsdata.com/wiki/api/v1/kilder/stillinger/get_recent_jobs","source":"https://allemannsdata.com/wiki/api/v1/kilder/stillinger"},"output_fields":["since","match_count","returned","jobs","note","pages_scanned","unique_ads_scanned","truncated"],"output_fields_truncated":false,"canonical_field_aliases":{}}
