Skip to main content
POST
Create UDF version
Beta Disclaimer: This beta endpoint is evolving; the API contract may change.

Consumes a source archive, assigns a version, and starts the UDF build. Optional configuration fields omitted from the request use the defaults documented in the request schema; values are not inherited from the previous version. Retry by requesting a new upload URL and re-uploading.

Authorizations

Authorization
string
header
required

Use key ID and key secret obtained in ClickHouse Cloud console: https://clickhouse.com/docs/cloud/manage/openapi

Path Parameters

organizationId
string<uuid>
required

ID of the requested organization.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$
functionName
string
required

Name of the UDF.

Pattern: ^[A-Za-z][A-Za-z0-9_]*$

Body

application/json
uploadId
string<uuid>
required

Identifier of the uploaded source archive.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$
runtime
enum<string>
required
Available options:
python3.11,
native
arguments
object[]
required
returnType
string
required
type
string
required
Allowed value: "executable"
returnName
string | null
Pattern: ^[A-Za-z][A-Za-z0-9_]*$
commandReadTimeout
integer
default:10000
commandWriteTimeout
integer
default:10000
memoryLimitMib
integer | null
Required range: 1 <= x <= 1048576
sendChunkHeader
boolean
default:false
deterministic
boolean
default:false

Marks the UDF as deterministic so ClickHouse can reuse cached query results. Only set this when the UDF always returns the same result for the same arguments.

format
string
default:TabSeparated
sandboxType
enum<string>
default:basic
Available options:
basic,
netenable
sandboxVersion
enum<string>
default:v2
Available options:
v1,
v2,
v3
poolSize
null
maxCommandExecutionTime
integer | null
default:10
Required range: x > 0

Response

UDF version created and building.

status
integer
required

HTTP status code.

Example:

201

requestId
string<uuid>
required

Unique id assigned to every request. UUIDv4

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$
result
object
required
Last modified on August 3, 2026