---
title: "Create API Package"
method: POST
path: "/v3/api-packages"
tags: ["API Packages"]
---

# Create API Package

`POST /v3/api-packages`

Creates a package of APIs.
An API package is a collection of APIs that can be used to group related APIs together.

## Request body

- object
  - `id` string, uuid — The API Package identifier.
  - `name` string, required — The name of your API Package. The `name + version` combination must be unique for each API Package you publish.
  - `description` string, nullable — A description of your API Package. Will be visible on your live Portal.
  - `slug` string, nullable — The unique slug for your API Package, It should be unique across all APIs and API Packages.
  - `version` string, nullable — An optional version for your API Package. Leave this empty if your API Package is unversioned.
  - `rate_limiting_config` RateLimitingConfig, nullable — Rate limit configuration that can be applied to an API Package or an API Package Operation.
    - `limit` integer, required — The amount of requests allowed for each operation within the specified duration.
    - `duration` 'seconds' | 'minutes' | 'hours', required — The timeframe to ensure that an application does not exceed the request limit.
  - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - `attributes` ApiAttributes — A set of attributes that describe the API
  - `created_at` string, date-time — An ISO-8601 timestamp representation of entity creation date.
  - `updated_at` string, date-time — An ISO-8601 timestamp representation of entity update date.

## Response `201`

API Package

- ApiPackageResponseSchema
  - `id` string, uuid, required — The API Package identifier.
  - `name` string, required — The name of your API Package. The `name + version` combination must be unique for each API Package you publish.
  - `description` string, nullable — A description of your API Package. Will be visible on your live Portal.
  - `slug` string, nullable, required — The unique slug for your API Package, It should be unique across all APIs and API Packages.
  - `version` string, nullable, required — An optional version for your API Package. Leave this empty if your API Package is unversioned.
  - `rate_limiting_config` RateLimitingConfig, nullable, required — Rate limit configuration that can be applied to an API Package or an API Package Operation.
    - `limit` integer, required — The amount of requests allowed for each operation within the specified duration.
    - `duration` 'seconds' | 'minutes' | 'hours', required — The timeframe to ensure that an application does not exceed the request limit.
  - `labels` Labels, required — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - `attributes` ApiAttributes, required — A set of attributes that describe the API
  - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
  - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.

## Other responses

- `400` — Bad Request
- `401` — ApiUnauthorized
- `403` — ApiForbidden
- `404` — Not Found

---

[API](https://skmtc.net/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.net/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/konnect-api-go-sdk/versions/f920f418f552/schema)
