openapi: 3.1.0 info: title: OpenAQ Averages Countries API description: ' OpenAQ is a nonprofit organization providing universal access to air quality data to empower a global community of changemakers to solve air inequality-the unequal access to clean air.' version: 2.0.0 tags: - name: Countries paths: /v3/countries/{countries_id}: get: tags: - Countries summary: OpenAQ Get a country by ID description: Provides a country by country ID operationId: country_get_v3_countries__countries_id__get security: - APIKeyHeader: [] parameters: - name: countries_id in: path required: true schema: type: integer title: Countries Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/openaq_api__v3__models__responses__CountriesResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v3/countries: get: tags: - Countries summary: OpenAQ Get countries description: Provides a list of countries operationId: countries_get_v3_countries_get security: - APIKeyHeader: [] parameters: - name: order_by in: query required: false schema: anyOf: - $ref: '#/components/schemas/CountriesSortFields' - type: 'null' description: The field by which to order results examples: - order_by=id default: id title: Order By description: The field by which to order results - name: sort_order in: query required: false schema: anyOf: - $ref: '#/components/schemas/SortOrder' - type: 'null' description: Sort results ascending or descending. Default ASC examples: - sort=desc default: asc title: Sort Order description: Sort results ascending or descending. Default ASC - name: providers_id in: query required: false schema: anyOf: - type: array items: type: integer - type: 'null' description: Limit the results to a specific provider or multiple providers with a single provider ID or a comma delimited list of IDs examples: - '1' - 1,2,3 title: Providers Id description: Limit the results to a specific provider or multiple providers with a single provider ID or a comma delimited list of IDs - name: parameters_id in: query required: false schema: anyOf: - type: array items: type: integer - type: 'null' title: Parameters Id - name: limit in: query required: false schema: type: integer description: "Change the number of results returned.\n e.g. limit=100 will return up to 100 results" examples: - '100' default: 100 title: Limit description: "Change the number of results returned.\n e.g. limit=100 will return up to 100 results" - name: page in: query required: false schema: type: integer description: Paginate through results. e.g. page=1 will return first page of results examples: - '1' default: 1 title: Page description: Paginate through results. e.g. page=1 will return first page of results responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/openaq_api__v3__models__responses__CountriesResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v2/countries/{country_id}: get: tags: - Countries summary: OpenAQ Get country by ID description: Provides a single country by country ID operationId: countries_by_path_v2_countries__country_id__get deprecated: true security: - APIKeyHeader: [] parameters: - name: country_id in: path required: true schema: type: integer title: Country Id - name: limit in: query required: false schema: type: integer description: Limit the number of results returned. e.g. limit=100 will return up to 100 results examples: - '100' default: 100 title: Limit description: Limit the number of results returned. e.g. limit=100 will return up to 100 results - name: page in: query required: false schema: anyOf: - type: integer - type: 'null' description: Paginate through results. e.g. page=1 will return first page of results examples: - '1' default: 1 title: Page description: Paginate through results. e.g. page=1 will return first page of results - name: offset in: query required: false schema: anyOf: - type: integer - type: 'null' default: 0 title: Offset - name: sort in: query required: false schema: anyOf: - $ref: '#/components/schemas/Sort' - type: 'null' description: Define sort order. e.g. ?sort=asc default: asc title: Sort description: Define sort order. e.g. ?sort=asc - name: order_by in: query required: false schema: allOf: - $ref: '#/components/schemas/CountriesOrder' description: Order by a field e.g. ?order_by=name examples: - name default: name title: Order By description: Order by a field e.g. ?order_by=name responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/openaq_api__models__responses__CountriesResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/countries/{country_id}: get: tags: - Countries summary: OpenAQ Get country by ID description: Provides a single country by country ID operationId: countries_by_path_v1_countries__country_id__get deprecated: true security: - APIKeyHeader: [] parameters: - name: country_id in: path required: true schema: type: integer title: Country Id - name: limit in: query required: false schema: type: integer description: Limit the number of results returned. e.g. limit=100 will return up to 100 results examples: - '100' default: 100 title: Limit description: Limit the number of results returned. e.g. limit=100 will return up to 100 results - name: page in: query required: false schema: anyOf: - type: integer - type: 'null' description: Paginate through results. e.g. page=1 will return first page of results examples: - '1' default: 1 title: Page description: Paginate through results. e.g. page=1 will return first page of results - name: offset in: query required: false schema: anyOf: - type: integer - type: 'null' default: 0 title: Offset - name: sort in: query required: false schema: anyOf: - $ref: '#/components/schemas/Sort' - type: 'null' description: Define sort order. e.g. ?sort=asc default: asc title: Sort description: Define sort order. e.g. ?sort=asc - name: order_by in: query required: false schema: allOf: - $ref: '#/components/schemas/CountriesOrder' description: Order by a field e.g. ?order_by=name examples: - name default: name title: Order By description: Order by a field e.g. ?order_by=name responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/openaq_api__models__responses__CountriesResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v2/countries: get: tags: - Countries summary: OpenAQ Get countries description: Provides a list of countries operationId: countries_get_v2_countries_get deprecated: true security: - APIKeyHeader: [] parameters: - name: limit in: query required: false schema: type: integer default: 100 title: Limit - name: page in: query required: false schema: anyOf: - type: integer - type: 'null' default: 1 title: Page - name: offset in: query required: false schema: anyOf: - type: integer - type: 'null' default: 0 title: Offset - name: sort in: query required: false schema: anyOf: - $ref: '#/components/schemas/Sort' - type: 'null' default: asc title: Sort - name: country_id in: query required: false schema: anyOf: - type: integer - type: 'null' title: Country Id - name: order_by in: query required: false schema: allOf: - $ref: '#/components/schemas/CountriesOrder' default: name title: Order By requestBody: content: application/json: schema: anyOf: - type: array items: type: string - type: 'null' title: Country responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/openaq_api__models__responses__CountriesResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/countries: get: tags: - Countries summary: OpenAQ Get countries description: Providecs a list of countries operationId: countries_getv1_v1_countries_get deprecated: true security: - APIKeyHeader: [] parameters: - name: limit in: query required: false schema: type: integer default: 100 title: Limit - name: page in: query required: false schema: anyOf: - type: integer - type: 'null' default: 1 title: Page - name: offset in: query required: false schema: anyOf: - type: integer - type: 'null' default: 0 title: Offset - name: sort in: query required: false schema: anyOf: - $ref: '#/components/schemas/Sort' - type: 'null' default: asc title: Sort - name: order_by in: query required: false schema: allOf: - $ref: '#/components/schemas/CountriesOrderV1' default: code title: Order By responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CountriesResponseV1' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: Sort: type: string enum: - asc - desc title: Sort ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError CountriesResponseV1: properties: meta: allOf: - $ref: '#/components/schemas/openaq_api__models__responses__Meta' default: license: '' limit: 100 name: openaq-api page: 1 website: / results: items: $ref: '#/components/schemas/CountriesRowV1' type: array title: Results type: object required: - results title: CountriesResponseV1 openaq_api__models__responses__CountriesResponse: properties: meta: allOf: - $ref: '#/components/schemas/openaq_api__models__responses__Meta' default: license: '' limit: 100 name: openaq-api page: 1 website: / results: items: $ref: '#/components/schemas/CountriesRow' type: array title: Results type: object required: - results title: CountriesResponse ParameterBase: properties: id: type: integer title: Id name: type: string title: Name units: type: string title: Units displayName: anyOf: - type: string - type: 'null' title: Displayname type: object required: - id - name - units title: ParameterBase HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError Country: properties: id: type: integer title: Id code: type: string title: Code name: type: string title: Name datetimeFirst: anyOf: - type: string format: date-time - type: 'null' title: Datetimefirst datetimeLast: anyOf: - type: string format: date-time - type: 'null' title: Datetimelast parameters: anyOf: - items: $ref: '#/components/schemas/ParameterBase' type: array - type: 'null' title: Parameters type: object required: - id - code - name title: Country openaq_api__v3__models__responses__Meta: properties: name: type: string title: Name default: openaq-api website: type: string title: Website default: / page: type: integer title: Page default: 1 limit: type: integer title: Limit default: 100 found: anyOf: - type: integer - type: string - type: 'null' title: Found type: object title: Meta openaq_api__models__responses__Meta: properties: name: type: string title: Name default: openaq-api license: type: string title: License default: '' website: type: string title: Website default: / page: type: integer title: Page default: 1 limit: type: integer title: Limit default: 100 found: anyOf: - type: integer - type: string - type: 'null' title: Found type: object title: Meta CountriesRowV1: properties: code: type: string title: Code name: type: string title: Name locations: type: integer title: Locations count: type: integer title: Count cities: type: integer title: Cities type: object required: - code - name - locations - count - cities title: CountriesRowV1 openaq_api__v3__models__responses__CountriesResponse: properties: meta: allOf: - $ref: '#/components/schemas/openaq_api__v3__models__responses__Meta' default: limit: 100 name: openaq-api page: 1 website: / results: items: $ref: '#/components/schemas/Country' type: array title: Results type: object required: - results title: CountriesResponse CountriesSortFields: type: string const: id title: CountriesSortFields CountriesOrderV1: type: string enum: - code - count - locations - cities - name title: CountriesOrderV1 SortOrder: type: string enum: - asc - desc title: SortOrder CountriesOrder: type: string enum: - code - name - locations - firstUpdated - lastUpdated - parameters - count - cities - sources title: CountriesOrder CountriesRow: properties: code: type: string title: Code name: type: string title: Name locations: type: integer title: Locations firstUpdated: type: string title: Firstupdated lastUpdated: type: string title: Lastupdated parameters: items: type: string type: array title: Parameters count: type: integer title: Count cities: type: integer title: Cities sources: type: integer title: Sources type: object required: - code - name - locations - firstUpdated - lastUpdated - parameters - count - cities - sources title: CountriesRow securitySchemes: APIKeyHeader: type: apiKey in: header name: X-API-Key