---
title: "Request a presigned upload URL for a new Custom Connect Plugin."
method: POST
path: "/ccpm/v1/presigned-upload-url"
tags: ["Presigned Urls (ccpm/v1)"]
---

# Request a presigned upload URL for a new Custom Connect Plugin.

`POST /ccpm/v1/presigned-upload-url`

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

Request a presigned upload URL to upload a Custom Connect Plugin archive.

## Request body

- object — Request a presigned upload URL for new Custom Connect Plugin. Note that the URL policy expires in one hour. If the policy expires, you can request a new presigned upload URL. Related guide: [Custom Connect Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). ## The Presigned Urls Model <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.PresignedUrl" />
  - `api_version` 'ccpm/v1' — APIVersion defines the schema version of this representation of a resource.
  - `kind` 'PresignedUrl' — Kind defines the object this REST resource represents.
  - `content_format` string, required — Content format of the Custom Connect Plugin archive.
  - `cloud` string, required — Cloud provider where the Custom Connect Plugin archive is uploaded.
  - `upload_id` string — Unique identifier of this upload.
  - `upload_url` string, uri — Upload URL for the Custom Connect Plugin archive.
  - `upload_form_data` object — Upload form data of the Custom Connect Plugin. All values should be strings.
  - `environment` object, required — The environment to which this belongs.
    - `id` string, required — ID of the referred resource
    - `environment` string — Environment of the referred resource, if env-scoped
    - `related` string, uri, required — API URL for accessing or modifying the referred object
    - `resource_name` string, uri, required — CRN reference to the referred resource

## Response `201`

A Presigned Url was created.

- object — Request a presigned upload URL for new Custom Connect Plugin. Note that the URL policy expires in one hour. If the policy expires, you can request a new presigned upload URL. Related guide: [Custom Connect Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). ## The Presigned Urls Model <SchemaDefinition schemaRef="#/components/schemas/ccpm.v1.PresignedUrl" />
  - `api_version` 'ccpm/v1' — APIVersion defines the schema version of this representation of a resource.
  - `kind` 'PresignedUrl' — Kind defines the object this REST resource represents.
  - `content_format` string, required — Content format of the Custom Connect Plugin archive.
  - `cloud` string, required — Cloud provider where the Custom Connect Plugin archive is uploaded.
  - `upload_id` string — Unique identifier of this upload.
  - `upload_url` string, uri — Upload URL for the Custom Connect Plugin archive.
  - `upload_form_data` object — Upload form data of the Custom Connect Plugin. All values should be strings.
  - `environment` object, required — The environment to which this belongs.
    - `id` string, required — ID of the referred resource
    - `environment` string — Environment of the referred resource, if env-scoped
    - `related` string, uri, required — API URL for accessing or modifying the referred object
    - `resource_name` string, uri, required — CRN reference to the referred resource

## 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)
