Vendasta Countries API

The Countries API from Vendasta — 4 operation(s) for countries.

Operations 8

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /countries List countries · List Countries #
Ask an LLM
“Which countries does Vendasta support for addresses?”
“Can I get country names in another language?”
Tell an agent
List all countries.
List countries in language {lang}, {limit} at a time.
OPTIONS /countries Check allowed methods on the countries list · List valid HTTP verbs for /countries #
Ask an LLM
“Which HTTP verbs does the countries collection allow for CORS?”
“What does a preflight on the country list endpoint return?”
Tell an agent
Send a CORS preflight to the countries list.
Show allowed methods for the country collection endpoint.
GET /countries/{id} Get a country · Get Country #
Ask an LLM
“How can I look up one country by its ID?”
“What details come back for a single country?”
Tell an agent
Get country {id}.
Show country {id} with its name in {lang}.
OPTIONS /countries/{id} Check allowed methods on a single country · List valid HTTP verbs for /countries/{id} #
Ask an LLM
“Which HTTP verbs are allowed on one country resource?”
“What does a CORS preflight on a specific country return?”
Tell an agent
Run a CORS preflight against country {id}.
Show which methods the single-country endpoint {id} allows.
GET /countryRegions List states or provinces in a country · List Country Regions #
Ask an LLM
“What states or provinces are available for a given country?”
“Why does a country return no regions at all?”
Tell an agent
List the regions in country {code}.
Show states and provinces for {code} in {lang}.
OPTIONS /countryRegions Check allowed methods on country regions · List valid HTTP verbs for /countryRegions #
Ask an LLM
“Which HTTP verbs does the country regions list accept for CORS?”
“What does a preflight on the regions collection return?”
Tell an agent
Send a CORS preflight to the country regions list.
Show allowed methods for the region collection endpoint.
GET /countryRegions/{id} Get a state or province · Get Country Region #
Ask an LLM
“Can I get the name of one state or province by its ID?”
“What does a single country region record include?”
Tell an agent
Get country region {id}.
Show the name of region {id} in {lang}.
OPTIONS /countryRegions/{id} Check allowed methods on a single region · List valid HTTP verbs for /countryRegions/{id} #
Ask an LLM
“Which HTTP verbs does a single state or province endpoint permit?”
“What does a CORS preflight on a specific state or province return?”
Tell an agent
Preflight the state-or-province endpoint for region {id}.
Show which methods region endpoint {id} allows.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vendasta:vendasta-countries-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vendasta-countries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Platform REST Countries API
  version: Evergreen
servers:
- url: https://prod.apigateway.co/platform
  description: Production
- description: Demo
  url: https://demo.apigateway.co/platform
- description: Local
  url: '{local}/platform'
- url: http://localhost:11001/platform
  description: Localhost
tags:
- name: Countries
paths:
  /countries:
    get:
      summary: List Countries
      operationId: get-countries
      tags:
      - Countries
      security:
      - OAuth2Demo:
        - sales.contact
        - business
        - user.profile:read
        - user.contact:read
        - user.permission:read
        - user.admin
        - self.user.admin
        - self.user.contact:read
        - openid
        - profile
        - sales.account
      - OAuth2Prod:
        - sales.contact
        - business
        - user.profile:read
        - user.contact:read
        - user.permission:read
        - user.admin
        - self.user.admin
        - self.user.contact:read
        - openid
        - profile
        - sales.account
      x-lifecycle:
        status: trustedTester
      description: 'Status: `Trusted Tester`


        Produces a list of countries.


        To see the regions (state/province) within a country use [/platform/countryRegions?filter[countryCode]=yourcode](platform.yaml/paths/~1countryRegions/get)'
      parameters:
      - schema:
          type: string
          example: Bearer <Access Token>
          pattern: ^Bearer\s\S+
        in: header
        name: Authorization
        description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
        required: true
      - schema:
          type: integer
          minimum: 0
          maximum: 1000
          default: 10
        in: query
        name: page[limit]
        description: The maximum number of tasks you would like returned in a single batch. Use the links.next member in the response to get the remainder. [Pagination Docs](https://developers.vendasta.com/platform/ZG9jOjEwMTkzMDg0-overview#paging).
      - schema:
          type: string
        in: query
        name: page[cursor]
        description: The cursor stores all your filters and current location in the list to allow paging over the results in smaller batches. The value will be provided in the response links. [Pagination Docs](https://developers.vendasta.com/platform/ZG9jOjEwMTkzMDg0-overview#paging).
      - schema:
          type: string
        in: header
        name: Accept-Language
      responses:
        '200':
          description: OK
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/countries'
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                      first:
                        type: string
                        description: Provides a link back to the first page of results
                        format: uri
                      next:
                        type: string
                        description: The URI at which the next batch of countries can be gotten from
                        format: uri
              examples: {}
    options:
      operationId: options-countries
      summary: List valid HTTP verbs for /countries
      description: Used solely for CORS the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user's security. You should not call this operation directly.
      responses:
        '204':
          description: No Content
      tags:
      - Countries
  /countries/{id}:
    parameters:
    - schema:
        type: string
      name: id
      in: path
      required: true
      description: The ISO Alpha2 code for the country
    get:
      summary: Get Country
      operationId: get-countries-id
      tags:
      - Countries
      security:
      - OAuth2Demo:
        - sales.contact
        - business
        - user.profile:read
        - user.contact:read
        - user.permission:read
        - user.admin
        - self.user.admin
        - self.user.contact:read
        - openid
        - profile
        - sales.account
      - OAuth2Prod:
        - sales.contact
        - business
        - user.profile:read
        - user.contact:read
        - user.permission:read
        - user.admin
        - self.user.admin
        - self.user.contact:read
        - openid
        - profile
        - sales.account
      x-lifecycle:
        status: trustedTester
      description: 'Status: `Trusted Tester`


        Get a specific country by id'
      parameters:
      - schema:
          type: string
          example: Bearer <Access Token>
          pattern: ^Bearer\s\S+
        in: header
        name: Authorization
        description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
        required: true
      - schema:
          type: string
        in: header
        name: Accept-Language
      responses:
        '200':
          description: OK
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/countries'
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                      first:
                        type: string
                        description: Provides a link back to the first page of results
                        format: uri
                      next:
                        type: string
                        description: The URI at which the next batch of countries can be gotten from
                        format: uri
              examples: {}
    options:
      operationId: options-countries-id
      summary: List valid HTTP verbs for /countries/{id}
      description: Used solely for CORS the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user's security. You should not call this operation directly.
      responses:
        '204':
          description: No Content
      tags:
      - Countries
  /countryRegions:
    get:
      summary: List Country Regions
      operationId: get-country-regions
      tags:
      - Countries
      security:
      - OAuth2Demo:
        - sales.contact
        - business
        - user.profile:read
        - user.contact:read
        - user.permission:read
        - user.admin
        - self.user.admin
        - self.user.contact:read
        - openid
        - profile
        - sales.account
      - OAuth2Prod:
        - sales.contact
        - business
        - user.profile:read
        - user.contact:read
        - user.permission:read
        - user.admin
        - self.user.admin
        - self.user.contact:read
        - openid
        - profile
        - sales.account
      x-lifecycle:
        status: trustedTester
      description: 'Status: `Trusted Tester`


        Produces a list of regions within a country.


        Note: Our list of regions currently updates based on data provided by Google. You will find that countries that do not normally use regions in their addresses do not have any listed here.'
      parameters:
      - schema:
          type: string
          example: Bearer <Access Token>
          pattern: ^Bearer\s\S+
        in: header
        name: Authorization
        description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
        required: true
      - schema:
          type: integer
          minimum: 0
          maximum: 1000
          default: 10
        in: query
        name: page[limit]
        description: The maximum number of tasks you would like returned in a single batch. Use the links.next member in the response to get the remainder. [Pagination Docs](https://developers.vendasta.com/platform/ZG9jOjEwMTkzMDg0-overview#paging).
      - schema:
          type: string
        in: query
        name: page[cursor]
        description: The cursor stores all your filters and current location in the list to allow paging over the results in smaller batches. The value will be provided in the response links. [Pagination Docs](https://developers.vendasta.com/platform/ZG9jOjEwMTkzMDg0-overview#paging).
      - schema:
          type: string
        in: header
        name: Accept-Language
      - schema:
          type: string
          pattern: ^[A-Z]{2}$
          minLength: 2
          maxLength: 2
        in: query
        name: filter[countryCode]
        required: true
        description: 'The two letter country code defined by [ISO 3166-1](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)''  Examples: CA, US, AU'
      responses:
        '200':
          description: OK
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/countryRegions'
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                      first:
                        type: string
                        description: Provides a link back to the first page of results
                        format: uri
                      next:
                        type: string
                        description: The URI at which the next batch of countries can be gotten from
                        format: uri
              examples: {}
    options:
      operationId: options-countryRegions
      summary: List valid HTTP verbs for /countryRegions
      description: Used solely for CORS the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user's security. You should not call this operation directly.
      responses:
        '204':
          description: No Content
      tags:
      - Countries
  /countryRegions/{id}:
    parameters:
    - schema:
        type: string
        pattern: ^[A-Z]{2}-[\w]{1,3}$
        minLength: 4
        maxLength: 6
      name: id
      in: path
      required: true
      description: The ISO region code
    get:
      summary: Get Country Region
      operationId: get-country-regions-id
      tags:
      - Countries
      security:
      - OAuth2Demo:
        - sales.contact
        - business
        - user.profile:read
        - user.contact:read
        - user.permission:read
        - user.admin
        - self.user.admin
        - self.user.contact:read
        - openid
        - profile
        - sales.account
      - OAuth2Prod:
        - sales.contact
        - business
        - user.profile:read
        - user.contact:read
        - user.permission:read
        - user.admin
        - self.user.admin
        - self.user.contact:read
        - openid
        - profile
        - sales.account
      x-lifecycle:
        status: trustedTester
      description: 'Status: `Trusted Tester`


        Get a specific country region''s name by id'
      parameters:
      - schema:
          type: string
          example: Bearer <Access Token>
          pattern: ^Bearer\s\S+
        in: header
        name: Authorization
        description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
        required: true
      - schema:
          type: string
        in: header
        name: Accept-Language
      responses:
        '200':
          description: OK
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/countryRegions'
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
              examples: {}
    options:
      operationId: options-countryRegions-id
      summary: List valid HTTP verbs for /countryRegions/{id}
      description: Used solely for CORS the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user's security. You should not call this operation directly.
      responses:
        '204':
          description: No Content
      tags:
      - Countries
components:
  schemas:
    countryRegions:
      title: Country Region
      type: object
      x-lifecycle:
        status: trustedTester
      description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`


        A country region that is valid for use with the API'
      x-tags:
      - Countries
      properties:
        id:
          type: string
          example: CA-SK
          readOnly: true
        type:
          type: string
          default: countryRegions
          enum:
          - countryRegions
          example: countryRegions
          readOnly: true
        attributes:
          type: object
          properties:
            name:
              type: string
              description: A user friendly description for the Country region.
              readOnly: true
        relationships:
          type: object
          properties:
            country:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                    type:
                      type: string
                      example: countries
                      enum:
                      - countries
    countries:
      title: Country
      type: object
      x-lifecycle:
        status: trustedTester
      description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`


        A country that is valid for use with the API'
      x-tags:
      - Countries
      properties:
        id:
          type: string
          example: CA
          readOnly: true
        type:
          type: string
          default: countries
          enum:
          - countries
          readOnly: true
        attributes:
          type: object
          properties:
            name:
              type: string
              description: A user friendly description for the Country.
              readOnly: true
  securitySchemes:
    JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
    OAuth2Demo:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://sso-api-demo.apigateway.co/oauth2/auth
          tokenUrl: https://sso-api-demo.apigateway.co/oauth2/token
          scopes:
            sales.contact: Read-write access to sales contact details
            business:read: Read only access to business details
            business: Read-write access to business details
            partner:read: Read-write access to details about your partner
            financial: Read-write access to financial details
            order: Read-write access to order details
            order:read: Read only access to order details
            user.profile:read: Read access to the profile fields of all categories of users
            user.contact:read: Read access to the contact info (email, phone, address) of all categories of users
            user.permission:read: Read access to the permission info (accessible locations, features and roles) of all categories of users
            user.permission: Read-write access to the permission info (accessible locations, features and roles) of all categories of users
            user.admin: Read-write access to manage all users
            user.list: '''Allows searching for users based on a set of filters. (ex: email, name, category, organization). Without this scope an exact user id is required.'
            self.user.admin: Allows editing the profile, contact info and profile image for the current user.
            self.user.contact:read: Read access to the contact info (email, phone, address) of the current user.
            openid: Allows getting the user id of the current user
            profile: Readonly access to the user profile, including name, locale, and language preferences.
            email: Allows readonly access to the email of the current user.
            phone: Allows readonly access to the phone numbers of the current user.
            address: Allows readonly access to the address of the current user.
            sales.account: Allows read-write access to account records
            sales.proposals: Allows read-write access to proposals
            product: Read access to the product details
            automation:read: Read only access to automations
          refreshUrl: ''
    OAuth2Prod:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://sso-api-prod.apigateway.co/oauth2/auth
          tokenUrl: https://sso-api-prod.apigateway.co/oauth2/token
          scopes:
            sales.contact: Read-write access to sales contact details
            business:read: Read only access to business details
            business: Read-write access to business details
            partner:read: Read-write access to details about your partner
            financial: Read-write access to financial details
            order:read: Read only access to order details
            order: Read-write access to order details
            user.profile:read: Read access to the profile fields of all categories of users
            user.contact:read: Read access to the contact info (email, phone, address) of all categories of users
            user.permission:read: Read access to the permission info (accessible locations, features and roles) of all categories of users
            user.permission: Read-write access to the permission info (accessible locations, features and roles) of all categories of users
            user.admin: Read-write access to manage all users
            user.list: '''Allows searching for users based on a set of filters. (ex: email, name, category, organization). Without this scope an exact user id is required.'
            self.user.admin: Allows editing the profile, contact info and profile image for the current user.
            self.user.contact:read: Read access to the contact info (email, phone, address) of the current user.
            openid: Allows getting the user id of the current user
            profile: Readonly access to the user profile, including name, locale, and language preferences.
            email: Allows readonly access to the email of the current user.
            phone: Allows readonly access to the phone numbers of the current user.
            address: Allows readonly access to the address of the current user.
            sales.account: Allows read-write access to account records
            sales.proposals: Allows read-write access to proposals
            product: Read access to the product details
            automation:read: Read only access to automations
          refreshUrl: ''