> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reqi.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Resolve country (canonical)

> Match a country from free-text query, ISO codes, or maintained aliases. Returns a single object. Use fields= to embed a projected country record. On failure, 404 includes suggestions when matches are ambiguous.



## OpenAPI

````yaml https://api.reqi.dev/openapi/countries.json get /v1/countries/resolve
openapi: 3.1.0
info:
  title: Countries API — Countries
  version: 1.0.0
  description: >-
    JSON country records under /v1/countries Subset of the full API contract at
    /openapi.json (31 paths).
servers:
  - url: https://api.reqi.dev
    description: API host
  - url: https://cdn.reqi.dev
    description: Flag CDN
security: []
tags:
  - name: Countries
    description: JSON country records under /v1/countries
paths:
  /v1/countries/resolve:
    get:
      tags:
        - Countries
      summary: Resolve country (canonical)
      description: >-
        Match a country from free-text query, ISO codes, or maintained aliases.
        Returns a single object. Use fields= to embed a projected country
        record. On failure, 404 includes suggestions when matches are ambiguous.
      operationId: resolveCountry
      parameters:
        - name: q
          in: query
          required: true
          description: Country name, alias, or ISO code.
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Resolved country identity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResolveCountry'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    fields:
      name: fields
      in: query
      description: >-
        Comma-separated field list. Supports dot paths (name.common). Use * or
        omit for the full object.
      schema:
        type: string
  schemas:
    ResolveCountry:
      type: object
      required:
        - query
        - match
        - cca2
        - cca3
        - name
      properties:
        query:
          type: string
        match:
          type: string
          enum:
            - cca2
            - cca3
            - ccn3
            - cioc
            - alias
            - name_exact
            - name_partial
            - alt_spelling
            - translation
        cca2:
          type: string
        cca3:
          type: string
        ccn3:
          type: string
          nullable: true
        name:
          $ref: '#/components/schemas/CountryName'
        country:
          type: object
          additionalProperties: true
    CountryName:
      type: object
      required:
        - common
        - official
      properties:
        common:
          type: string
        official:
          type: string
        native:
          type: object
          additionalProperties: true
    Error:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
        status:
          type: integer
  responses:
    BadRequest:
      description: Invalid query parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: No matching country or flag asset.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.