Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex API Gateway
  • Getting started
    • All guides
    • Creating an API gateway
    • Viewing operations with service resources
  • Access management
  • Tools
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes
  • FAQ
  1. Step-by-step guides
  2. Creating an API gateway

Creating an API gateway

Written by
Yandex Cloud
Improved by
Danila N.
Updated at September 10, 2025

Before you start, prepare an API specification file based on the OpenAPI 3.0 standard.

Example of the hello-world.yaml specification file
openapi: "3.0.0"
info:
  version: 1.0.0
  title: Test API
paths:
  /hello:
    get:
      summary: Say hello
      operationId: hello
      parameters:
        - name: user
          in: query
          description: User name to appear in greetings.
          required: false
          schema:
            type: string
            default: 'world'
      responses:
        '200':
          description: Greeting.
          content:
            'text/plain':
                schema:
                  type: "string"
      x-yc-apigateway-integration:
        type: dummy
        http_code: 200
        http_headers:
          'Content-Type': "text/plain"
        content:
          'text/plain': "Hello, {user}!\n"
Management console
CLI
Terraform
API
  1. In the management console, go to the folder where you want to create an API gateway.

  2. From the list of services, select API Gateway.

  3. Click Create API gateway.

  4. Enter a name for the API gateway in the Name field.

  5. Optionally, in the Description field, enter a description for the API gateway.

  6. In the Request execution timeout field, specify the execution timeout. The value must not exceed the specified limit.

  7. Under Specification, add the text of the OpenAPI specifications.

    To add the x-yc-apigateway-integration extension to a specification, you can use the specification constructor.

  8. Configure additional API gateway settings if needed.

  9. Click Create.

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

To create an API gateway:

  1. View the description of the CLI command for creating an API gateway:

    yc serverless api-gateway create --help
    
  2. Specify API gateway parameters in the create command (not all the supported parameters are listed):

    yc serverless api-gateway create \
      --name <API_gateway_name> \
      --execution-timeout <request_execution_timeout> \
      --spec=<specification_file_path>
    

    Where:

    • --name: API gateway name:

      • It must be from 2 to 63 characters long.
      • It can only contain lowercase Latin letters, numbers, and hyphens.
      • It must start with a letter and cannot end with a hyphen.
    • --execution-timeout: Request execution timeout. The value is specified in seconds and must not exceed the specified limit. This is an optional parameter. The default value is 300 seconds.

    • --spec: Path to the specification file you created earlier.

With Terraform, you can quickly create a cloud infrastructure in Yandex Cloud and manage it using configuration files. These files store the infrastructure description written in HashiCorp Configuration Language (HCL). If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.

Terraform is distributed under the Business Source License. The Yandex Cloud provider for Terraform is distributed under the MPL-2.0 license.

For more information about the provider resources, see the relevant documentation on the Terraform website or its mirror.

If you do not have Terraform yet, install it and configure the Yandex Cloud provider.

To create an API gateway:

  1. Describe yandex_api_gateway properties in the configuration file:

    • name: API gateway name. Follow these naming requirements:

      • It must be from 2 to 63 characters long.
      • It can only contain lowercase Latin letters, numbers, and hyphens.
      • It must start with a letter and cannot end with a hyphen.
    • description: API gateway description.

    • labels: Labels for the API gateway. Specify a key-value pair.

    • execution_timeout: Request execution timeout. The value is specified in seconds and must not exceed the set limit. This is an optional parameter. The default value is 300 seconds.

    • spec: API gateway specification.

    Here is an example of the configuration file structure:

    resource "yandex_api_gateway" "test-api-gateway" {
      name        = "<API_gateway_name>"
      description = "<API_gateway_description>"
      labels      = {
        label       = "label"
        empty-label = ""
      }
      execution_timeout = "<request_execution_timeout>"
      spec              = <<-EOT
        openapi: "3.0.0"
        info:
          version: 1.0.0
          title: Test API
        paths:
          /hello:
            get:
              summary: Say hello
              operationId: hello
              parameters:
                - name: user
                  in: query
                  description: User name to appear in greetings
                  required: false
                  schema:
                    type: string
                    default: 'world'
              responses:
                '200':
                  description: Greeting
                  content:
                    'text/plain':
                      schema:
                        type: "string"
              x-yc-apigateway-integration:
                type: dummy
                http_code: 200
                http_headers:
                  'Content-Type': "text/plain"
                content:
                  'text/plain': "Hello, {user}!\n"
      EOT
    }
    

    For more information about resource properties in Terraform, see the relevant Terraform documentation.

  2. Make sure the configuration files are correct.

    1. In the command line, go to the directory where you created the configuration file.

    2. Run a check using this command:

      terraform plan
      

    If the configuration is correct, the terminal will display a list of new resources with their properties. If the configuration contains any errors, Terraform will point them out.

  3. Deploy the cloud resources.

    1. If the configuration does not contain any errors, run this command:

      terraform apply
      
    2. Confirm creating the resources: type yes in the terminal and press Enter.

      This will create all the resources you need in the specified folder. You can check the new resources and their settings using the management console or these CLI commands:

      yc serverless api-gateway get <API_gateway_name>
      

To create an API gateway, use the create REST API method for the ApiGateway resource or the ApiGatewayService/Create gRPC API call.

Was the article helpful?

Previous
All guides
Next
Updating API gateways and their specifications
© 2025 Direct Cursus Technology L.L.C.