---
title: "Create function"
method: POST
path: "/api/{workspaceId}/config/function"
tags: ["Functions"]
---

# Create function

`POST /api/{workspaceId}/config/function`

## Request

- Base URL: `https://use.jitsu.com`
- URL: `https://use.jitsu.com/api/{workspaceId}/config/function`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` string, required

## Request body

- FunctionConfig: A user-defined function (UDF). `code` is the published version; `draft` is the in-progress edit.
  - `id` string, required
  - `type` string, required
  - `workspaceId` string, required
  - `name` string, required
  - `updatedAt` string, nullable
  - `cloneId` string
  - `code` string, required
  - `draft` string
  - `kind` 'profile' | 'event'
  - `description` string
  - `version` string
  - `origin` string
  - `slug` string

## Response `200`

OK

- object
  - `id` string, required

## Other responses

- `400`: Bad request
- `401`: Authorization required
- `403`: Forbidden — no access to this workspace, or the workspace's plan does not include this feature
- `500`: Internal server error

---

[API](https://skmtc.dev/jitsu/apis/jitsu-api.md) - [All operations](https://skmtc.dev/jitsu/apis/jitsu-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jitsu/apis/jitsu-api/revisions/f6b8702d246f?raw)
