/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/jobs/{country}/search/{page}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Search the Adzuna job database * @description Search the Adzuna job database */ get: operations["search"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/jobs/{country}/categories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List available categories * @description List available categories */ get: operations["categories"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/jobs/{country}/histogram": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Provide histogram data of salary data * @description Provide histogram data of salary data */ get: operations["histogram"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/jobs/{country}/top_companies": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List the top employers for the search terms supplied * @description List the top employers for the search terms supplied */ get: operations["topCompanies"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/jobs/{country}/geodata": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Provides salary data for locations inside an area * @description Provides salary data for locations inside an area */ get: operations["geodata"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/jobs/{country}/history": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Provides historical average salary data * @description Provides historical average salary data */ get: operations["history"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/version": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Returns the current version of this API * @description Returns the current version of this API */ get: operations["version"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::JobSearchResults for fuller details */ JobSearchResults: { /** @description The total number of advertisements found. */ count?: number; /** @description The mean salary across all the results. */ mean?: number; /** @description Results of the job search in the order requested. */ results: components["schemas"]["Job"][]; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::JobGeoData for fuller details */ JobGeoData: { /** @description The number of live job ads in any given location, followed by a list of sub-locations and the number of live jobs in each of them, ordered from most jobs to least. Locations with 0 jobs are not returned. */ locations?: components["schemas"]["LocationJobs"][]; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Ad for fuller details */ Ad: { /** @description A string uniquely identifying this advertisement. */ id: string; /** @description A summary of the advertisement. */ title: string; /** @description The details of the advertisement, truncated to 500 characters. */ description: string; /** @description The date the advertisement was placed, as an ISO 8601 date time string. */ created: string; /** @description A URL which will redirect to the advertisement as displayed on the advertiser's site. Using this URL send a user to the advertiser's site is necessary to be compliant with Adzuna's terms and conditions. */ redirect_url?: string; /** @description The latitude of the workspace in degrees. */ latitude?: number; /** @description The longitude of the workspace in degrees */ longitude?: number; /** @description The nearest locality to the advertisement. */ location?: components["schemas"]["Location"]; /** @description The category of the advertisement. */ category?: components["schemas"]["Category"]; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Version for fuller details */ Version: { /** @description The major version of the API. */ api_version: number; /** @description The version of the software providing the API. */ software_version: string; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::SalaryHistogram for fuller details */ SalaryHistogram: { /** @description The distribution of jobs by salary. Returns an object with salary values as keys (strings) and the number of live jobs that pay as much or more than each salary as values (integers). */ histogram?: { [key: string]: number; }; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Location for fuller details */ Location: { /** @description A human readable name for the location. */ display_name?: string; /** @description A description of the location, as an array of strings, each refining the location more than the previous. */ area?: string[]; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Source for fuller details */ Source: { /** @description The name of the advertiser. */ name?: string; /** @description A URL linking to the advertiser's logo. */ logo_url?: string; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Agent for fuller details */ Agent: { /** @description The name of the agent, supplied by the advertiser. */ display_name?: string; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Category for fuller details */ Category: { /** @description The string which should be passed to search endpoint using the "category" query parameter. */ tag: string; /** @description A text string describing the category, suitable for display. */ label: string; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Company for fuller details */ Company: { /** @description The name of the company, in the form provided by the advertiser. */ display_name?: string; /** @description A normalised string of the company name. */ canonical_name?: string; /** @description The total number of job advertisements posted by this company. Only provided for statistics queries. */ count?: number; /** @description The average salary in job advertisements posted by this company. Only provided for statistics queries. */ average_salary?: number; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::LocationJobs for fuller details */ LocationJobs: { /** @description The number of jobs advertised at this location. */ count?: number; /** @description The location being described. */ location?: components["schemas"]["Location"]; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Exception for fuller details */ Exception: { /** @description A string representing the class of exception. */ exception: string; /** @description A human readable friendly error message for display. */ display?: string; /** @description A URL linking to the relevant documentation. */ doc?: string; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Job for fuller details */ Job: { /** @description A string uniquely identifying the advertisement. */ id: string; /** @description A summary of the advertisement. */ title: string; /** @description The details of the advertisement, truncated to 500 characters. */ description: string; /** @description The date the advertisement was placed, as an ISO 8601 date time string. */ created: string; /** @description A URL that redirects to the advertisement on the advertiser's site. Use this URL to send users to the advertiser's site to comply with Adzuna's terms and conditions. */ redirect_url?: string; /** @description A string which may be used with the 'ad' endpoint to re-retrieve this advertisement in the future. You may do this to confirm that the advertisement is still current. */ adref?: string; /** @description The latitude of the workspace in degrees. */ latitude?: number; /** @description The longitude of the workspace in degrees */ longitude?: number; /** @description The nearest locality to the advertisement. */ location?: components["schemas"]["Location"]; /** @description The category of the advertisement. */ category?: components["schemas"]["Category"]; /** @description The company behind the advertisement. */ company?: components["schemas"]["Company"]; /** @description The bottom end of the pay scale for this job, given in the local currency. */ salary_min?: number; /** @description The top end of the pay scale for this job, given in the local currency. */ salary_max?: number; /** * @description '1' if the salary was predicted by our Jobsworth tool, '0' otherwise. * @enum {string} */ salary_is_predicted?: "0" | "1"; /** * @description Either 'full_time' or 'part_time' to indicate the hours of the job. * @enum {string} */ contract_time?: "full_time" | "part_time"; /** * @description Either 'permanent' or 'contract' to indicate whether the job is permanent or just a short-term contract. * @enum {string} */ contract_type?: "permanent" | "contract"; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::TopCompanies for fuller details */ TopCompanies: { /** @description A list of companies, ordered by the number of jobs they are advertising. Only companies in Adzunaâs index will show up in these results. To suggest an addition to this index please email: info [at] adzuna [dot] com */ leaderboard?: components["schemas"]["Company"][]; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::Categories for fuller details */ Categories: { /** @description An array of all the categories discovered as Adzuna::API::Response::Category objects. */ results: components["schemas"]["Category"][]; }; /** @description See https://api.adzuna.com/v1/doc/Adzuna::API::Response::HistoricalSalary for fuller details */ HistoricalSalary: { /** @description A series of average salary values, by month, for all jobs with a given category, title and/or location. This is only available for locations with significant numbers (20 or more) of jobs. Dates are formatted as ISO 8601 month/year (e.g., '2025-08'). Salaries are given in local currency. */ month?: { [key: string]: number; }; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { search: { parameters: { query: { /** @description Application ID, supplied by Adzuna */ app_id: string; /** @description Application key, supplied by Adzuna */ app_key: string; /** @description The number of results to include on a page of search results. */ results_per_page?: number; /** @description The keywords to search for. Multiple terms may be space separated. */ what?: string; /** @description The keywords to search for, all keywords must be found. */ what_and?: string; /** @description An entire phrase which must be found in the description or title. */ what_phrase?: string; /** @description The keywords to search for, any keywords may be found. Multiple terms may be space separated. */ what_or?: string; /** @description Keywords to exclude from the search. Multiple terms may be space separated. */ what_exclude?: string; /** @description Keywords to find, but only in the title. Multiple terms may be space separated. */ title_only?: string; /** @description The geographic centre of the search. Place names, postal codes, etc. may be used. */ where?: string; /** @description The distance in kilometres from the centre of the place described by the 'where' parameter. Defaults to 5km. */ distance?: number; /** @description The location fields may be used to describe a location, in a similar form to that returned in a Adzuna::API::Response::Location object. For example, 'location0=UK&location1=South East England&location2=Surrey' will performn a search over the county of Surrey. */ location0?: string; /** @description See location0 */ location1?: string; /** @description See location0 */ location2?: string; /** @description See location0 */ location3?: string; /** @description See location0 */ location4?: string; /** @description See location0 */ location5?: string; /** @description See location0 */ location6?: string; /** @description See location0 */ location7?: string; /** @description The age of the oldest advertisment in days that will be returned. */ max_days_old?: number; /** @description The category tag, as returned by the "category" endpoint. */ category?: string; /** @description The direction to order the search results. */ sort_dir?: "up" | "down"; /** @description The ordering of the search results. */ sort_by?: "default" | "hybrid" | "date" | "salary" | "relevance"; /** @description The minimum salary we wish to get results for. */ salary_min?: number; /** @description The maximum salary we wish to get results for. */ salary_max?: number; /** @description If set it '1', jobs without a known salary are returned. */ salary_include_unknown?: "1"; /** @description If set to '1', only full time jobs will be returned. */ full_time?: "1"; /** @description If set to '1', only part time jobs will be returned. */ part_time?: "1"; /** @description If set to '1', only contract jobs will be returned. */ contract?: "1"; /** @description If set to '1', only permanent jobs will be returned. */ permanent?: "1"; /** @description The canonical company name. This may be returned in a Adzuna::API::Response::Company object when a job is returned. */ company?: string; }; header?: never; path: { /** @description ISO 8601 country code of the country of interest */ country: "gb" | "us" | "at" | "au" | "be" | "br" | "ca" | "ch" | "de" | "es" | "fr" | "in" | "it" | "mx" | "nl" | "nz" | "pl" | "sg" | "za"; /** @description Page number */ page: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful search results */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["JobSearchResults"]; }; }; /** @description Incorrect parameters */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Resource could not be found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Authorisation failed */ 410: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Internal server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; }; }; categories: { parameters: { query: { /** @description Application ID, supplied by Adzuna */ app_id: string; /** @description Application key, supplied by Adzuna */ app_key: string; }; header?: never; path: { /** @description ISO 8601 country code of the country of interest */ country: "gb" | "us" | "at" | "au" | "be" | "br" | "ca" | "ch" | "de" | "es" | "fr" | "in" | "it" | "mx" | "nl" | "nz" | "pl" | "sg" | "za"; }; cookie?: never; }; requestBody?: never; responses: { /** @description Category list */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Categories"]; }; }; /** @description Incorrect parameters */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Resource could not be found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Authorisation failed */ 410: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Internal server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; }; }; histogram: { parameters: { query: { /** @description Application ID, supplied by Adzuna */ app_id: string; /** @description Application key, supplied by Adzuna */ app_key: string; /** @description The keywords to search for. Multiple terms may be space separated. */ what?: string; /** @description The locationN fields may be used to describe a location, in a similar form to that returned in a Adzuna::API::Response::Location object. For example, 'location0=UK&location1=South East England&location2=Surrey' will performn a search over the county of Surrey. */ location0?: string; /** @description See location0 */ location1?: string; /** @description See location0 */ location2?: string; /** @description See location0 */ location3?: string; /** @description See location0 */ location4?: string; /** @description See location0 */ location5?: string; /** @description See location0 */ location6?: string; /** @description See location0 */ location7?: string; /** @description The category tag, as returned by the 'category' endpoint. */ category?: string; }; header?: never; path: { /** @description ISO 8601 country code of the country of interest */ country: "gb" | "us" | "at" | "au" | "be" | "br" | "ca" | "ch" | "de" | "es" | "fr" | "in" | "it" | "mx" | "nl" | "nz" | "pl" | "sg" | "za"; }; cookie?: never; }; requestBody?: never; responses: { /** @description Histogram data */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SalaryHistogram"]; }; }; /** @description Incorrect parameters */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Resource could not be found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Authorisation failed */ 410: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Internal server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; }; }; topCompanies: { parameters: { query: { /** @description Application ID, supplied by Adzuna */ app_id: string; /** @description Application key, supplied by Adzuna */ app_key: string; /** @description The keywords to search for. Multiple terms may be space separated. */ what?: string; /** @description The locationN fields may be used to describe a location, in a similar form to that returned in a Adzuna::API::Response::Location object. For example, 'location0=UK&location1=South East England&location2=Surrey' will performn a search over the county of Surrey. */ location0?: string; /** @description See location0 */ location1?: string; /** @description See location0 */ location2?: string; /** @description See location0 */ location3?: string; /** @description See location0 */ location4?: string; /** @description See location0 */ location5?: string; /** @description See location0 */ location6?: string; /** @description See location0 */ location7?: string; /** @description The category tag, as returned by the 'category' endpoint. */ category?: string; }; header?: never; path: { /** @description ISO 8601 country code of the country of interest */ country: "gb" | "us" | "at" | "au" | "be" | "br" | "ca" | "ch" | "de" | "es" | "fr" | "in" | "it" | "mx" | "nl" | "nz" | "pl" | "sg" | "za"; }; cookie?: never; }; requestBody?: never; responses: { /** @description Top company data */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TopCompanies"]; }; }; /** @description Incorrect parameters */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Resource could not be found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Authorisation failed */ 410: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Internal server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; }; }; geodata: { parameters: { query: { /** @description Application ID, supplied by Adzuna */ app_id: string; /** @description Application key, supplied by Adzuna */ app_key: string; /** @description The locationN fields may be used to describe a location, in a similar form to that returned in a Adzuna::API::Response::Location object. For example, 'location0=UK&location1=South East England&location2=Surrey' will performn a search over the county of Surrey. */ location0?: string; /** @description See location0 */ location1?: string; /** @description See location0 */ location2?: string; /** @description See location0 */ location3?: string; /** @description See location0 */ location4?: string; /** @description See location0 */ location5?: string; /** @description See location0 */ location6?: string; /** @description See location0 */ location7?: string; /** @description The category tag, as returned by the 'category' endpoint. */ category?: string; }; header?: never; path: { /** @description ISO 8601 country code of the country of interest */ country: "gb" | "us" | "at" | "au" | "be" | "br" | "ca" | "ch" | "de" | "es" | "fr" | "in" | "it" | "mx" | "nl" | "nz" | "pl" | "sg" | "za"; }; cookie?: never; }; requestBody?: never; responses: { /** @description Regional salary data */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["JobGeoData"]; }; }; /** @description Incorrect parameters */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Resource could not be found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Authorisation failed */ 410: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Internal server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; }; }; history: { parameters: { query: { /** @description Application ID, supplied by Adzuna */ app_id: string; /** @description Application key, supplied by Adzuna */ app_key: string; /** @description The locationN fields may be used to describe a location, in a similar form to that returned in a Adzuna::API::Response::Location object. For example, 'location0=UK&location1=South East England&location2=Surrey' will performn a search over the county of Surrey. */ location0?: string; /** @description See location0 */ location1?: string; /** @description See location0 */ location2?: string; /** @description See location0 */ location3?: string; /** @description See location0 */ location4?: string; /** @description See location0 */ location5?: string; /** @description See location0 */ location6?: string; /** @description See location0 */ location7?: string; /** @description The category tag, as returned by the 'category' endpoint. */ category?: string; /** @description The number of months back for which to retrieve data. */ months?: number; }; header?: never; path: { /** @description ISO 8601 country code of the country of interest */ country: "gb" | "us" | "at" | "au" | "be" | "br" | "ca" | "ch" | "de" | "es" | "fr" | "in" | "it" | "mx" | "nl" | "nz" | "pl" | "sg" | "za"; }; cookie?: never; }; requestBody?: never; responses: { /** @description Historical salary data */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HistoricalSalary"]; }; }; /** @description Incorrect parameters */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Resource could not be found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Authorisation failed */ 410: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Internal server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; }; }; version: { parameters: { query: { /** @description Application ID, supplied by Adzuna */ app_id: string; /** @description Application key, supplied by Adzuna */ app_key: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Current API version */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Version"]; }; }; /** @description Incorrect parameters */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Resource could not be found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Authorisation failed */ 410: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; /** @description Internal server error */ 500: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Exception"]; }; }; }; }; }