---
title: "POST /v1/custom-plugins"
method: POST
path: "/v1/custom-plugins"
---

# POST /v1/custom-plugins

`POST /v1/custom-plugins`

Creates a custom plugin using the specified properties.

## Request body

- object
  - `contentType` 'JAR' | 'ZIP', required — The type of the plugin file.
  - `description` string — A summary description of the custom plugin.
  - `location` object, required — Information about the location of a custom plugin.
    - `s3Location` object — The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.
      - `bucketArn` string, required — The Amazon Resource Name (ARN) of an S3 bucket.
      - `fileKey` string, required — The file key for an object in an S3 bucket.
      - `objectVersion` string — The version of an object in an S3 bucket.
  - `name` string, required — The name of the custom plugin.
  - `tags` object — The tags you want to attach to the custom plugin.

## Response `200`

Success

- CreateCustomPluginResponse
  - `customPluginArn` string — The Amazon Resource Name (ARN) that Amazon assigned to the custom plugin.
  - `customPluginState` 'CREATING' | 'CREATE_FAILED' | 'ACTIVE' | 'UPDATING' | 'UPDATE_FAILED' | 'DELETING' — The state of the custom plugin.
  - `name` string — The name of the custom plugin.
  - `revision` integer — The revision of the custom plugin.

## Other responses

- `480` — ConflictException
- `481` — NotFoundException
- `482` — BadRequestException
- `483` — ForbiddenException
- `484` — ServiceUnavailableException
- `485` — TooManyRequestsException
- `486` — UnauthorizedException
- `487` — InternalServerErrorException

---

[API](https://skmtc.net/aws/apis/kafkaconnect.md) · [All operations](https://skmtc.net/aws/apis/kafkaconnect/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/kafkaconnect/versions/bf394e0acb7e/schema)
