---
title: "List hook templates"
method: GET
path: "/api/v1/hook_templates"
tags: ["Hook Template"]
---

# List hook templates

`GET /api/v1/hook_templates`

Retrieve all hook template objects.

## Query parameters

- `page_size` integer
- `cursor` string
- `ordering` 'order' | '-order'

## Response `200`

OK

- object
  - `pagination` Pagination, required
    - `next` string, uri, nullable — URL for the next page of results. Contains an opaque signed `cursor` query parameter. Use this URL directly to fetch the next page — do not attempt to construct or modify the cursor value.
    - `previous` string, uri, nullable — URL for the previous page of results. Contains an opaque signed `cursor` query parameter. Use this URL directly to fetch the previous page — do not attempt to construct or modify the cursor value.
  - `results` HookTemplate[], required
    - `id` integer, required — ID of the hook template.
    - `type` 'webhook' | 'function', required — Hook type.
    - `name` string, required — Name of the hook template.
    - `url` string, uri, required — URL of the hook template.
    - `events` string[], required — List of events, when the hook should be notified. For the list of events see Webhook events.
    - `sideload` string[], required — List of related objects that should be included in hook request. For the list of possible sideloads see Webhook events.
    - `metadata` Metadata, required — Client data. May be used to store e.g. external system object IDs. See [Metadata](/guides/overview#metadata) for more details.
    - `config` object, required — Configuration of the hook.
    - `test` object, required — Input saved for hook testing purposes, see Test a hook.
    - `description` string, required — Hook description text.
    - `extension_source` string, required — Import source of the extension. For more, see Extension sources.
    - `settings` object, required — Specific settings that will be included in the payload when executing the hook.
    - `settings_schema` object, nullable, required — JSON schema for settings field, specifying the JSON structure of this field.
    - `secrets_schema` object, nullable, required — JSON schema for secrets field, specifying the JSON structure of this field.
    - `guide` string, required — Description how to use the extension.
    - `read_more_url` string, uri, required — URL address leading to more info page.
    - `extension_image_url` string, uri, required — URL address of extension picture.
    - `settings_description` object[], required — Contains description for settings.
      - `name` string — Name of settings attribute.
      - `description` string — Description of settings attribute.
      - `tooltip` string — Tooltip for the attribute.
    - `store_description` string, required — Description of hook displayed in Rossum store.
    - `external_url` string, required — External URL to be called (relates to webhook type).
    - `use_token_owner` boolean, required — Whether the hook should use token owner.
    - `install_action` 'copy' | 'request_access', required — Whether the hook is added directly via application (copy) or on customer's request (request_access).
    - `token_lifetime_s` integer, nullable, required — Lifetime number of seconds for rossum_authorization_token (min=0, max=7200). This setting will ensure the token will be valid after hook response is returned. If null, default lifetime of 600 is used.
    - `order` integer, required — Hook templates can be ordered or grouped by this parameter.

## Other responses

- `400` — Invalid input data.
- `401` — The username/password is invalid or token is invalid (e.g. expired).
- `403` — Insufficient permission, missing authentication, invalid CSRF token and similar issue.
- `404` — The specified resource was not found.
- `409` — Conflict
- `429` — Request rate is too high, wait before sending more requests. See [Rate Limiting](/guides/overview#rate-limiting) for more details.
- `500` — Server failure while processing the request.
- `502` — Invalid response from the upstream server.
- `503` — We're temporarily offline for maintenance. Please try again later.
- `504` — Upstream server could not complete the request in time.

---

[API](https://skmtc.dev/rossum/apis/rossum-api.md) · [All operations](https://skmtc.dev/rossum/apis/rossum-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rossum/rossum-api/revisions/f1b5a910991d/schema)
