---
title: "Create a New Output"
method: POST
path: "/v1/buckets/{bucketID}/outputs"
tags: ["Outputs"]
---

# Create a New Output

`POST /v1/buckets/{bucketID}/outputs`

Create one or more outputs for the bucket to start forwarding webhooks to those destinations.

## Request body

- Output
  - `id` string
  - `created_at` integer
  - `updated_at` integer
  - `bucket_id` string
  - `name` string
  - `disabled` boolean — Allows to disable specific output destination without deleting the output itself.
  - `internal` boolean — When internal output receives webhook, it forwards it to any connected agent (relay CLI, Docker agent or WebSocket connection)
  - `tls_verification` boolean — Enforce TLS verification where possible (internal and public destinations)
  - `destination` string — Destination, where to forward the webhook, such as 'http://localhost:4000'
  - `headers` Headers — A hashmap of header keys and a list of values for each string, Go equivalent map[string][]string
  - `rules` Rules
    - `and` Rules[]
    - `or` Rules[]
    - `not` Rules[]
    - `match` MatchRule
      - `parameter` RuleParameter
        - `name` string
        - `source` 'header' | 'payload' | 'query'
      - `type` 'value' | 'contains' | 'does-not-contain' | 'regex' | 'payload-hash-sha1' | 'payload-hash-sha256'
      - `value` string
      - `substring` string
      - `regex` string
      - `secret` string
  - `timeout` integer — Timeout in seconds, value between 0 and 180
  - `description` string
  - `function_id` string — ID of the function that will be executed for this output

## Response `201`

Created

- Output
  - `id` string
  - `created_at` integer
  - `updated_at` integer
  - `bucket_id` string
  - `name` string
  - `disabled` boolean — Allows to disable specific output destination without deleting the output itself.
  - `internal` boolean — When internal output receives webhook, it forwards it to any connected agent (relay CLI, Docker agent or WebSocket connection)
  - `tls_verification` boolean — Enforce TLS verification where possible (internal and public destinations)
  - `destination` string — Destination, where to forward the webhook, such as 'http://localhost:4000'
  - `headers` Headers — A hashmap of header keys and a list of values for each string, Go equivalent map[string][]string
  - `rules` Rules
    - `and` Rules[]
    - `or` Rules[]
    - `not` Rules[]
    - `match` MatchRule
      - `parameter` RuleParameter
        - `name` string
        - `source` 'header' | 'payload' | 'query'
      - `type` 'value' | 'contains' | 'does-not-contain' | 'regex' | 'payload-hash-sha1' | 'payload-hash-sha256'
      - `value` string
      - `substring` string
      - `regex` string
      - `secret` string
  - `timeout` integer — Timeout in seconds, value between 0 and 180
  - `description` string
  - `function_id` string — ID of the function that will be executed for this output

## Other responses

- `400` — Invalid output request supplied

---

[API](https://skmtc.dev/webhookrelay/apis/webhook-relay.md) · [All operations](https://skmtc.dev/webhookrelay/apis/webhook-relay/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/webhookrelay/webhook-relay/revisions/ce8fd4d3cf19/schema)
