openapi: 3.1.0
info:
  title: Overview
  version: '1.0'
  termsOfService: https://kycaid.com/terms-and-conditions/
servers:
  - url: https://api.kycaid.com
components:
  securitySchemes:
    your_api_key:
      type: apiKey
      in: header
      name: Authorization
  schemas:
    '400':
      type: object
      properties:
        type:
          type: string
          example: bad_request
        errors:
          type: array
    '429':
      type: object
      properties:
        type:
          type: string
          example: flow
        errors:
          type: array
          items:
            type: object
            properties:
              parameter:
                type: string
                example: limit_exceeded
              message:
                type: string
                example: Rate limit exceeded
    '500':
      type: object
      properties:
        type:
          type: string
          example: internal_server
        errors:
          type: array
    '502':
      type: string
      example: >-
        <!doctype html><meta charset='utf-8'><meta name=viewport
        content='width=device-width, initial-scale=1'><title>502</title>502 Bad
        Gateway
    business_category_id:
      type: string
      minLength: 36
      maxLength: 36
      example: 52502c011d5d0049ac2accd72f5d5c444afa
      description: >-
        A business category identifier for business activities, that may help to
        faster find a necessary business activity. A business category contains
        one or several business activities
    label--business_category_id:
      type: string
      minLength: 1
      maxLength: 64
      example: Financial and insurance activities
      description: A name of a business category
    language_code--business_category_id:
      type: string
      enum:
        - EN
        - RU
        - UK
      minLength: 2
      maxLength: 2
      example: EN
      description: >-
        A language code of a label (name) of a business category. `EN` is for
        English, `RU` is for Russian, `UK` is for Ukrainian
    business_activity_id:
      type: string
      minLength: 36
      maxLength: 36
      example: 4e46f42a001ee740a40ae35416507b121d00
      description: >-
        A business activity identifier of a an object. The full list of business
        activities and their identifiers is accessible in “Business activities”
        section
    label--business_activity_id:
      type: string
      minLength: 1
      maxLength: 64
      example: Central banking
      description: A name of a business activity
    language_code--business_activity_id:
      type: string
      enum:
        - EN
        - RU
        - UK
      minLength: 2
      maxLength: 2
      example: EN
      description: >-
        A language code of a label (name) of a business activity. `EN` is for
        English, `RU` is for Russian, `UK` is for Ukrainian
    business-activities--get--200:
      type: array
      items:
        type: object
        properties:
          business_category_id:
            $ref: '#/components/schemas/business_category_id'
          labels:
            type: array
            items:
              type: object
              properties:
                label:
                  $ref: '#/components/schemas/label--business_category_id'
                language_code:
                  $ref: '#/components/schemas/language_code--business_category_id'
          activities:
            type: array
            items:
              type: object
              properties:
                business_activity_id:
                  $ref: '#/components/schemas/business_activity_id'
                labels:
                  type: array
                  items:
                    type: object
                    properties:
                      label:
                        $ref: '#/components/schemas/label--business_activity_id'
                      language_code:
                        $ref: >-
                          #/components/schemas/language_code--business_activity_id
    country_code:
      type:
        - string
      minLength: 2
      maxLength: 2
      example: GB
      description: A two-letter country code according to ISO 3166-2
    language_code:
      type: string
      minLength: 2
      maxLength: 2
      example: EN
      description: >-
        A language of an object. A two-letter language code according to ISO
        639-1
    label--country_code:
      type: string
      minLength: 1
      example: Cambodia
      description: A name of a country
    countries--get--200:
      type: array
      items:
        type: object
        properties:
          country_code:
            $ref: '#/components/schemas/country_code'
          labels:
            type: array
            items:
              type: object
              properties:
                language_code:
                  $ref: '#/components/schemas/language_code'
                label:
                  $ref: '#/components/schemas/label--country_code'
security:
  - your_api_key: []
tags:
  - name: Business activities
    description: Business activities
  - name: Languages
    description: Languages
  - name: Countries
    description: Countries
paths:
  /business-activities:
    get:
      tags:
        - Business activities
      summary: Get business activities
      description: >-
        Retrieve a list of business activities and their identifiers from our
        system to use them while creating a KYB applicant (a company)
      operationId: get-business-activities
      requestBody:
        content:
          application/json: {}
      responses:
        '200':
          description: >
            **OK**


            The request was successful, and our system returned an expected
            response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/business-activities--get--200'
        '400':
          description: >
            **Bad Request**


            Our system could not process the request due to invalid syntax,
            missing parameters, or incorrect data format. Check the request
            structure and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400'
        '429':
          description: >
            **Too Many Requests**


            This response indicates that a user has sent too many requests in a
            given amount of time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429'
        '500':
          description: >
            **Internal Server Error**


            This response indicates that our system encountered an unexpected
            condition that prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
        '502':
          description: >
            **Bad Gateway**


            This response indicates that our system is unable to reach or
            communicate properly with an upstream server it relies on, the URL
            provided is incorrect, or a required token is missing from the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/502'
  /languages:
    get:
      tags:
        - Languages
      summary: Get languages
      description: |
        Access the article from the previous version of the documentation:

        # [Get languages](https://docs-v1.kycaid.com/#get-languages)
      operationId: get-languages
  /countries:
    get:
      tags:
        - Countries
      summary: Get countries
      description: >-
        Retrieve a list of countries and their codes from our system to use them
        for country-specific parameters
      operationId: get-countries
      requestBody:
        content:
          application/json: {}
      responses:
        '200':
          description: >
            **OK**


            The request was successful, and our system returned an expected
            response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/countries--get--200'
        '400':
          description: >
            **Bad Request**


            Our system could not process the request due to invalid syntax,
            missing parameters, or incorrect data format. Check the request
            structure and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400'
        '429':
          description: >
            **Too Many Requests**


            This response indicates that a user has sent too many requests in a
            given amount of time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429'
        '500':
          description: >
            **Internal Server Error**


            This response indicates that our system encountered an unexpected
            condition that prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
        '502':
          description: >
            **Bad Gateway**


            This response indicates that our system is unable to reach or
            communicate properly with an upstream server it relies on, the URL
            provided is incorrect, or a required token is missing from the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/502'
