---
title: "Create Registration"
method: POST
path: "/v3/portals/{portalId}/applications/{applicationId}/registrations"
tags: ["Application Registrations"]
---

# Create Registration

`POST /v3/portals/{portalId}/applications/{applicationId}/registrations`

## Request

- Base URL: `https://global.api.konghq.com`
- URL: `https://global.api.konghq.com/v3/portals/{portalId}/applications/{applicationId}/registrations`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Creates a new registration for this application to access a specific API. Registrations created through the portal management API will respect the auto-approve settings of the portal and/or API publication. API publications that do not use auto-approve must be manually approved by an administrator after creation.

## Request body

- CreateApplicationRegistrationRequest
  - `api_id` string, uuid, required: The ID of the API the application is registering for.
  - `status` 'approved' | 'pending': The status of the application registration. It must be a valid status value for a registration creation.
  - `additional_data` FormResponseInput: The developer's answers to a custom form, as a map from each field's `name` to its value. Built-in fields like `full_name` and `email` go in their own top-level properties, not here.

## Response `201`

Details about an application registration.

- GetApplicationRegistrationResponse: A application's registration for a specific version of an API.
  - `id` string, uuid, required: Contains a unique identifier used for this resource.
  - `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.
  - `status` 'approved' | 'pending' | 'revoked' | 'rejected', required: The status of an application registration request. Each registration is linked to a single API, and application credentials will not grant access to the API until the registration is approved. Pending, revoked, and rejected registrations will not provide access to the API.
  - `additional_data` FormResponseData: A developer's submitted answers to a form, as a map from each field's `name` to a record of that answer. Each record captures the field's `label`, `type`, and `value` exactly as they appeared when the developer submitted the form. Encrypted at rest.
  - `api` object, required: Details about the API the application is registered to.
    - `id` string, uuid, required: Contains a unique identifier used for this resource.
    - `name` string, required: The name of the API the application is registered to.
    - `version` string, nullable, required: The version of the API the application is registered to.
    - `entity_type` 'api' | 'api_package', required: The type of entity that is being published. Can be either an API or an API Package.
  - `application` object, required: Details about the application the registration is part of.
    - `id` string, uuid, required: Contains a unique identifier used for this resource.
    - `name` string, required: The name of the application the registration is part of.
  - `consumer` object: Details about the consumer associated with this application registration.
    - `id` string, uuid, required: Contains a unique identifier used for this resource.
    - `custom_id` string: The custom ID of the associated consumer.
    - `username` string: The username of the associated consumer.
    - `control_plane_id` string, uuid, required: Contains a unique identifier used for this resource.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict

## Changes

- **2026-10-15** `7aab863a6daa`: 1 breaking, 2 warning
  - added `#/components/schemas/InvalidParameterMinimumTime, #/components/schemas/InvalidParameterMaximumTime` to the `invalid_parameters/items/` response property `oneOf` list for the response status `400`
  - added the new `key_invalid` enum value to the `invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
  - added the new `unique` enum value to the `invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
- **2026-09-25** `68d43091b84d`: 4 warning
  - added the new `400.00` enum value to the `status` response property for the response status `400`
  - added the new `403.00` enum value to the `status` response property for the response status `403`
  - added the new `404.00` enum value to the `status` response property for the response status `404`
  - added the new `409.00` enum value to the `status` response property for the response status `409`
- **2026-09-18** `f324fb7610e4`: 4 breaking, 30 info
  - the response's body type changed from no type to `object` for status `400`
  - the response's body type changed from no type to `object` for status `403`
  - the response's body type changed from no type to `object` for status `404`
  - the response's body type changed from no type to `object` for status `409`
  - …30 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/kong/apis/konnect-api-go-sdk/changes/v3/portals/:portalId/applications/:applicationId/registrations/post.md)

---

[API](https://skmtc.dev/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.dev/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc.dev/kong/apis/konnect-api-go-sdk/revisions/7aab863a6daa?raw)
