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

Creates a new UDF. See User-defined functions in Cloud.

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

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"
functionName
string
required
Pattern: ^[A-Za-z][A-Za-z0-9_]*$
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 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