---
title: "List Webhook URLs"
method: GET
path: "/service/webhooks"
tags: ["Webhooks"]
---

# List Webhook URLs

`GET /service/webhooks`

Get the list of registered webhook URLs.
Service implementations SHOULD take steps to avoid displaying URLs to users other than those who have suitable permissions (e.g. the owning user).
Availability of this endpoint is indicated by the name "webhooks" appearing in the `event_stream_mechanisms` list on the [/service](#/operations/GET_service) endpoint.

Webhooks are sorted in alphabetical order of their `url` by default.

## Query parameters

- `reverse_order` boolean
- `tag.{name}` string — A list of tag values, formatted for use in query string parameters
- `tag_exists.{name}` boolean
- `page` string
- `limit` integer

## Response `200`

Return the list of known webhook URLs.

- Webhookget[]
  - `url` string, required — The URL to which the service instance should make HTTP POST requests with event data
  - `api_key_name` string — The HTTP header name that is added to the event POST
  - `events` string[], required — List of event types to receive
  - `flow_ids` Uuid[] — Limit Flow and Flow Segment events to Flows in the given list of Flow IDs
  - `source_ids` Uuid[] — Limit Flow, Flow Segment and Source events to Sources in the given list of Source IDs
  - `flow_collected_by_ids` Uuid[] — Limit Flow and Flow Segment events to those with a Flow that is collected by a Flow Collection in the given list of Flow Collection IDs. An empty array limits events to Flows that are not collected by any Flow Collection.
  - `source_collected_by_ids` Uuid[] — Limit Flow, Flow Segment and Source events to those with a Source that is collected by a Source Collection in the given list of Source Collection IDs. An empty array limits events to Sources that are not collected by any Source Collection.
  - `accept_get_urls` string[] — List of labels of URLs to include in the `get_urls` property in `flows/segments_added` events. Where multiple `get_urls` filter query parameters are provided, the included `get_urls` will match all filters. This option is the same as the `accept_get_urls` query parameter for the [/flows/{flowId}/segments](#/operations/GET_flows-flowId-segments) API endpoint, except that the labels are represented using a JSON array rather than a (comma separated list) string.
  - `accept_storage_ids` Uuid[] — List of labels of `storage_id`s to include in the `get_urls` property in `flows/segments_added` events. Where multiple `get_urls` filter query parameters are provided, the included `get_urls` will match all filters. This option is the same as the `accept_storage_ids` query parameter for the [/flows/{flowId}/segments](#/operations/GET_flows-flowId-segments) API endpoint, except that the IDs are represented using a JSON array rather than a (comma separated list) string.
  - `presigned` boolean — Whether to include presigned/non-presigned URLs in the `get_urls` property in `flows/segments_added` events. Where multiple `get_urls` filter query parameters are provided, the included `get_urls` will match all filters. This option is the same as the `presigned` query parameter for the [/flows/{flowId}/segments](#/operations/GET_flows-flowId-segments) API endpoint.
  - `verbose_storage` boolean — Whether to include storage metadata in the `get_urls` property in `flows/segments_added` events. This option is the same as the `verbose_storage` query parameter for the [/flows/{flowId}/segments](#/operations/GET_flows-flowId-segments) API endpoint.
  - `include_object_timerange` boolean — If set to `true`, the underlying object's timerange should appear in `flows/segments_added` events. Assume `false` if omitted. This option is the same as the `include_object_timerange` query parameter for the [/flows/{flowId}/segments](#/operations/GET_flows-flowId-segments) API endpoint.
  - `tags` Tags — Key is a freeform string. Value is a freeform string, or an array of freeform strings.
  - `id` string, required — A Universally Unique Identifier (UUID) as defined in [RFC9562](https://www.rfc-editor.org/rfc/rfc9562)
  - `error` Error — Provides more information for an error status.
    - `type` string, required — The error type name.
    - `summary` string, required — Summary description of the error and causes.
    - `traceback` string[] — Stack trace leading to error (as a list of strings)
    - `time` string, date-time, required — Time at which the error ocurred, to aid in log correlation
  - `status` 'created' | 'started' | 'disabled' | 'error', required — Status of the Webhook. `created` indicates the webhook has been successfully registered but is yet to begin sending events or, depending on the service implementation, the worker responsible for sending the events has yet to start. `started` indicates the webhook is active and sending events. `disabled` indicates the webhook has been disabled by a client and is not currently sending events. `error` indicates an error condition has been encountered and the webhook has been disabled by the service instance. More information about the error condition will be indicated by the service instance in the `error` parameter. Service implementations SHOULD implement appropriate retries and only enter the `error` state when absolutely necesary. A webhook in the `error` or `disabled` state may be re-enabled by a client by setting the status to `created`. A webhook in the `created` or `started` state may be disabled by a client by setting the status to `disabled`. Attempting to transition an `error` status to `disabled` SHOULD be rejected.

## Other responses

- `404` — Webhooks are not supported by this API implementation

## Changes

> 23 revisions in range; 1 could not be searched.

- **2026-08-10** `73a77c2ab589` — 1 info
  - added the new optional `query` request parameter `reverse_order`
- **2026-07-03** `3b6c8b10d051` — 1 info
  - added the optional property `items/allOf[subschema #1: Webhook Details]/allOf[subschema #1: Register Webhook]/include_object_timerange` to the response with the `200` status
- **2025-10-15** `552be51d35bd` — 1 breaking
  - removed 'propertyNames' constraint from the `items/allOf[subschema #1: Webhook Details]/allOf[subschema #1: Register Webhook]/tags` response property for the status `200`
- **2025-10-15** `8639ecff0b6c` — 3 info
  - added the new optional `query` request parameter `tag.{name}`
  - added the new optional `query` request parameter `tag_exists.{name}`
  - added the optional property `items/allOf[subschema #1: Webhook Details]/allOf[subschema #1: Register Webhook]/tags` to the response with the `200` status
- **2025-10-06** `0eeba8c316ce` — 2 breaking, 9 warning, 3 info
  - removed the required property `items/events` from the response with the `200` status
  - removed the required property `items/url` from the response with the `200` status
  - removed the optional property `items/accept_get_urls` from the response with the `200` status
  - removed the optional property `items/accept_storage_ids` from the response with the `200` status
  - …10 more

[Full history](https://skmtc.dev/aws-samples/apis/time-addressable-media-store/changes/service/webhooks/get.md)

---

[API](https://skmtc.dev/aws-samples/apis/time-addressable-media-store.md) · [All operations](https://skmtc.dev/aws-samples/apis/time-addressable-media-store/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/aws-samples/time-addressable-media-store/revisions/eb3977b33601/schema)
