---
title: "Get the webhook's public URL"
method: GET
path: "/dags/{fileName}/webhook/public"
tags: ["webhooks"]
---

# Get the webhook's public URL

`GET /dags/{fileName}/webhook/public`

## Request

- Base URL: `http://localhost/api/v1`
- URL: `http://localhost/api/v1/dags/{fileName}/webhook/public`
- Auth: one of:
  - HTTP bearer
  - HTTP basic
  - none

Returns the webhook's public URL through Dagu Cloud, the state of the
relay connection that holds it, and its latest deliveries.
Developer, manager, or admin only.

## Path parameters

- `fileName` string, regex, required: Name of the DAG file

## Query parameters

- `remoteNode` string

## Response `200`

The public URL and its deliveries

- WebhookPublicDetails: The webhook's public URL, its state, and its latest deliveries
  - `url` string: The public URL; absent until Dagu Cloud has given this server its address
  - `state` 'active' | 'connecting' | 'overLimit' | 'error', required: Whether Dagu Cloud holds the public URL: `active` once it does, `connecting` before then, `overLimit` when the plan allows fewer public URLs than exist and this one is left out, and `error` when the server cannot connect.
  - `error` string: Why the server cannot connect
  - `maxHooks` integer: The most public URLs the plan allows, once known
  - `deliveries` WebhookPublicDelivery[], required: The latest deliveries, newest first
    - `id` string, required: The delivery's ID, which names the run it starts
    - `receivedAt` string, date-time, required: When Dagu Cloud received the request
    - `size` integer, required: The body's size in bytes
    - `event` string: What the request is about, as its sender labels it
    - `outcome` 'started' | 'waiting' | 'rejected' | 'skipped' | 'ignored' | 'failed', required: What became of the delivery: `started` a run, `waiting` at Dagu Cloud to be sent again, `rejected` by the sender's signature check, `skipped` as an event that starts no run, `ignored` while the webhook was disabled, or `failed`.
    - `dagRunId` string: The run a started delivery started
    - `error` string: Why the delivery was rejected, skipped, waiting, or failed
  - `missed` WebhookPublicMissed, required: Deliveries Dagu Cloud dropped since they were last dismissed: those that waited more than 7 days, and those refused while 1,000 waited.
    - `expired` integer, required
    - `refused` integer, required
    - `since` string, date-time: When the first of them was counted

## Other responses

- `404`: No webhook, or no public URL, for this DAG
- `default`: Unexpected error

## Changes

> 208 revisions in range; 1 not diffed.

- **2026-10-14** (v1) `4cf3e5ea421d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dagucloud/apis/dagu/changes/dags/:fileName/webhook/public/get.md)

---

[API](https://skmtc.dev/dagucloud/apis/dagu.md) - [All operations](https://skmtc.dev/dagucloud/apis/dagu/llms.txt) - [OpenAPI document](https://skmtc.dev/dagucloud/apis/dagu/revisions/742c8ecb39ce?raw)
