---
title: "Create a Custom Connector Plugin"
method: POST
path: "/connect/v1/custom-connector-plugins"
tags: ["Custom Connector Plugins (connect/v1)"]
---

# Create a Custom Connector Plugin

`POST /connect/v1/custom-connector-plugins`

[![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)

Make a request to create a custom connector plugin.

## Request body

- object — CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. The API allows you to list, create, read, update, and delete your Custom Connector Plugins. Related guide: [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). ## The Custom Connector Plugins Model <SchemaDefinition schemaRef="#/components/schemas/connect.v1.CustomConnectorPlugin" />
  - `api_version` 'connect/v1' — APIVersion defines the schema version of this representation of a resource.
  - `kind` 'CustomConnectorPlugin' — Kind defines the object this REST resource represents.
  - `id` string — ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").
  - `metadata` object — ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
    - `self` string, uri, required — Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time
    - `resource_name` string, uri — Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name
    - `created_at` string, date-time — The date and time at which this object was created. It is represented in RFC3339 format and is in UTC.
    - `updated_at` string, date-time — The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC.
    - `deleted_at` string, date-time — The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC.
  - `display_name` string, required — Display name of Custom Connector Plugin.
  - `content_format` string — Archive format of Custom Connector Plugin.
  - `description` string — Description of Custom Connector Plugin.
  - `documentation_link` string — Document link of Custom Connector Plugin.
  - `connector_class` string, required — Java class or alias for connector. You can get connector class from connector documentation provided by developer.
  - `connector_type` string, required — Custom Connector type.
  - `cloud` string — Cloud provider where the Custom Connector Plugin archive is uploaded.
  - `sensitive_config_properties` string[] — A sensitive property is a connector configuration property that must be hidden after a user enters property value when setting up connector.
  - `upload_source` object, required — Presigned URL of the uploaded Custom Connector Plugin archive.
    - `location` string, required — Location of the Custom Connector Plugin source.
    - `upload_id` string, required — Upload ID returned by the `/presigned-upload-url` API. This field returns an empty string in all responses.
  - `runtime_language` string — Runtime language of Custom Connector Plugin.

## Response `201`

A Custom Connector Plugin was created.

- object — CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. The API allows you to list, create, read, update, and delete your Custom Connector Plugins. Related guide: [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). ## The Custom Connector Plugins Model <SchemaDefinition schemaRef="#/components/schemas/connect.v1.CustomConnectorPlugin" />
  - `api_version` 'connect/v1' — APIVersion defines the schema version of this representation of a resource.
  - `kind` 'CustomConnectorPlugin' — Kind defines the object this REST resource represents.
  - `id` string — ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").
  - `metadata` object — ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
    - `self` string, uri, required — Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time
    - `resource_name` string, uri — Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name
    - `created_at` string, date-time — The date and time at which this object was created. It is represented in RFC3339 format and is in UTC.
    - `updated_at` string, date-time — The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC.
    - `deleted_at` string, date-time — The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC.
  - `display_name` string, required — Display name of Custom Connector Plugin.
  - `content_format` string — Archive format of Custom Connector Plugin.
  - `description` string — Description of Custom Connector Plugin.
  - `documentation_link` string — Document link of Custom Connector Plugin.
  - `connector_class` string, required — Java class or alias for connector. You can get connector class from connector documentation provided by developer.
  - `connector_type` string, required — Custom Connector type.
  - `cloud` string — Cloud provider where the Custom Connector Plugin archive is uploaded.
  - `sensitive_config_properties` string[] — A sensitive property is a connector configuration property that must be hidden after a user enters property value when setting up connector.
  - `upload_source` object, required — Presigned URL of the uploaded Custom Connector Plugin archive.
    - `location` string, required — Location of the Custom Connector Plugin source.
    - `upload_id` string, required — Upload ID returned by the `/presigned-upload-url` API. This field returns an empty string in all responses.
  - `runtime_language` string — Runtime language of Custom Connector Plugin.

## Other responses

- `400` — Bad Request
- `401` — The request lacks valid authentication credentials for this resource.
- `403` — The access credentials were considered insufficient to grant access
- `409` — The request is in conflict with the current server state
- `422` — Validation Failed
- `429` — Rate Limit Exceeded
- `500` — Oops, something went wrong!

---

[API](https://skmtc.dev/confluent/apis/confluent-cloud-apis.md) · [All operations](https://skmtc.dev/confluent/apis/confluent-cloud-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/confluent/confluent-cloud-apis/revisions/a6a73f98a698/schema)
