> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hookpulse.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Webhook Template by UUID

> Retrieve detailed information about a specific webhook template by its UUID

Retrieve detailed information about a specific webhook template by its UUID.

## Base URL

All API requests should be made to:

```
https://api.hookpulse.io
```

## Example request

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.hookpulse.io/v1/api/single_webhook_template_detail/ \
    -H "x-hookpulse-api-key: {{x-hookpulse-api-key}}" \
    -H "x-brand-uuid: {{x-brand-uuid}}" \
    -H "Content-Type: application/json" \
    -d '{
      "webhook_uuid": "{{webhook_uuid}}"
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.hookpulse.io/v1/api/single_webhook_template_detail/', {
    method: 'POST',
    headers: {
      'x-hookpulse-api-key': '{{x-hookpulse-api-key}}',
      'x-brand-uuid': '{{x-brand-uuid}}',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      webhook_uuid: '{{webhook_uuid}}'
    })
  });

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  url = 'https://api.hookpulse.io/v1/api/single_webhook_template_detail/'
  headers = {
      'x-hookpulse-api-key': '{{x-hookpulse-api-key}}',
      'x-brand-uuid': '{{x-brand-uuid}}',
      'Content-Type': 'application/json'
  }
  payload = {
      'webhook_uuid': '{{webhook_uuid}}'
  }

  response = requests.post(url, headers=headers, json=payload)
  print(response.json())
  ```

  ```ruby Ruby theme={null}
  require 'net/http'
  require 'json'
  require 'uri'

  uri = URI('https://api.hookpulse.io/v1/api/single_webhook_template_detail/')
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  request = Net::HTTP::Post.new(uri.path)
  request['x-hookpulse-api-key'] = '{{x-hookpulse-api-key}}'
  request['x-brand-uuid'] = '{{x-brand-uuid}}'
  request['Content-Type'] = 'application/json'
  request.body = {
    webhook_uuid: '{{webhook_uuid}}'
  }.to_json

  response = http.request(request)
  puts JSON.parse(response.body)
  ```

  ```php PHP theme={null}
  <?php

  $url = 'https://api.hookpulse.io/v1/api/single_webhook_template_detail/';
  $data = [
      'webhook_uuid' => '{{webhook_uuid}}'
  ];

  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
  curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'x-hookpulse-api-key: {{x-hookpulse-api-key}}',
      'x-brand-uuid: {{x-brand-uuid}}',
      'Content-Type: application/json'
  ]);

  $response = curl_exec($ch);
  curl_close($ch);

  echo $response;
  ?>
  ```
</RequestExample>

## Request body

| Field          | Type   | Required | Description                              |
| -------------- | ------ | -------- | ---------------------------------------- |
| `webhook_uuid` | string | Yes      | UUID of the webhook template to retrieve |

## Example response

<ResponseExample>
  ```json theme={null}
  {
    "data": {
      "path": "{{path}}",
      "method": "{{method}}",
      "timezone": "{{timezone}}",
      "inserted_at": "{{inserted_at}}",
      "webhook_uuid": "{{webhook_uuid}}",
      "webhook_name": "{{webhook_name}}",
      "headers_json": {
        "Authentication": "Bearer {{ #key }}"
      },
      "query_params_json": {
        "variable_path": "{{ initial.test_path }}"
      },
      "request_body_json": {
        "key1": "{{value1}}",
        "key2": "{{value2}}",
        "key3": "{{ initial.test_name }}",
        "key4": "{{ initial.test_name2 }}",
        "key5": "{{ #key }}"
      },
      "expected_system_variables": [],
      "webhook_description": "{{webhook_description}}",
      "request_timeout_in_milliseconds": {{request_timeout_in_milliseconds}},
      "max_retries": {{max_retries}},
      "retry_delay": {{retry_delay}},
      "retry_backoff_mode": "{{retry_backoff_mode}}",
      "domain_details": {
        "domain": "{{domain}}",
        "protocol_type": "{{protocol_type}}"
      }
    },
    "success": true
  }
  ```
</ResponseExample>

## Response fields

### Data object

| Field                             | Type    | Description                                                                                                   |
| --------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| `path`                            | string  | URL path for the webhook template                                                                             |
| `method`                          | string  | HTTP method (e.g., "GET", "POST", "PUT", "DELETE")                                                            |
| `timezone`                        | string  | IANA timezone identifier indicating the timezone used for timestamps (matches your brand's selected timezone) |
| `inserted_at`                     | string  | ISO 8601 timestamp when the template was created (in your brand's selected timezone with offset)              |
| `webhook_uuid`                    | string  | Unique identifier for the webhook template                                                                    |
| `webhook_name`                    | string  | Name of the webhook template                                                                                  |
| `headers_json`                    | object  | HTTP headers as JSON object (supports template variables)                                                     |
| `query_params_json`               | object  | Query parameters as JSON object (supports template variables)                                                 |
| `request_body_json`               | object  | Request body as JSON object (supports template variables)                                                     |
| `expected_system_variables`       | array   | Array of system secret variable names expected in this template (e.g., `["api_key", "service_token"]`)        |
| `webhook_description`             | string  | Description of the webhook template                                                                           |
| `request_timeout_in_milliseconds` | integer | Request timeout in milliseconds                                                                               |
| `max_retries`                     | integer | Maximum number of retry attempts                                                                              |
| `retry_delay`                     | integer | Delay in seconds between retry attempts                                                                       |
| `retry_backoff_mode`              | string  | Retry backoff strategy ("linear" or "exponential")                                                            |
| `domain_details`                  | object  | Domain information associated with this template                                                              |
| `domain_details.domain`           | string  | Domain name                                                                                                   |
| `domain_details.protocol_type`    | string  | Protocol type (e.g., "https", "http")                                                                         |

### Root fields

| Field     | Type    | Description                             |
| --------- | ------- | --------------------------------------- |
| `success` | boolean | Indicates if the request was successful |
| `data`    | object  | Webhook template details object         |


## OpenAPI

````yaml POST /v1/api/single_webhook_template_detail/
openapi: 3.0.3
info:
  title: Hookpulse API
  description: >-
    Complete API documentation for Hookpulse. Build powerful integrations with
    our RESTful API.
  version: 1.0.0
  contact:
    name: Hookpulse Support
    email: care@hookpulse.io
    url: https://hookpulse.io
servers:
  - url: https://api.hookpulse.io
    description: Production server
security:
  - apiKeyAuth: []
    brandUuidAuth: []
paths:
  /v1/api/single_webhook_template_detail/:
    post:
      description: >-
        Retrieve detailed information about a specific webhook template by its
        UUID
      requestBody:
        description: Webhook template lookup request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetWebhookTemplateUuidRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetWebhookTemplateUuidResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    GetWebhookTemplateUuidRequest:
      required:
        - webhook_uuid
      type: object
      properties:
        webhook_uuid:
          type: string
          description: UUID of the webhook template to retrieve
    GetWebhookTemplateUuidResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Indicates if the request was successful
        data:
          $ref: '#/components/schemas/WebhookTemplateDetails'
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
    WebhookTemplateDetails:
      type: object
      properties:
        path:
          type: string
          description: URL path for the webhook template
        method:
          type: string
          description: HTTP method (e.g., 'GET', 'POST', 'PUT', 'DELETE')
        timezone:
          type: string
          description: >-
            IANA timezone identifier indicating the timezone used for timestamps
            (matches your brand's selected timezone)
        inserted_at:
          type: string
          format: date-time
          description: >-
            ISO 8601 timestamp when the template was created (in your brand's
            selected timezone with offset)
        webhook_uuid:
          type: string
          description: Unique identifier for the webhook template
        webhook_name:
          type: string
          description: Name of the webhook template
        webhook_description:
          type: string
          description: Description of the webhook template
        request_timeout_in_milliseconds:
          type: integer
          description: Request timeout in milliseconds
        max_retries:
          type: integer
          description: Maximum number of retry attempts
        retry_delay:
          type: integer
          description: Delay in seconds between retry attempts
        retry_backoff_mode:
          type: string
          description: Retry backoff strategy
          enum:
            - linear
            - exponential
        domain_details:
          type: object
          properties:
            domain:
              type: string
              description: Domain name
            protocol_type:
              type: string
              description: Protocol type (e.g., 'https', 'http')
        expected_system_variables:
          type: array
          items:
            type: string
          description: Array of system secret variable names expected in this template
        headers_json:
          type: object
          description: HTTP headers as JSON object (supports template variables)
        query_params_json:
          type: object
          description: Query parameters as JSON object (supports template variables)
        request_body_json:
          type: object
          description: Request body as JSON object (supports template variables)
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-hookpulse-api-key
      description: >-
        API key for authentication. Get this from your dashboard by selecting a
        brand and going to API Keys section.
    brandUuidAuth:
      type: apiKey
      in: header
      name: x-brand-uuid
      description: >-
        Brand UUID for authentication. Get this from your dashboard after adding
        a brand - it will be displayed in the UI.

````