> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/api-reference/ar/webhooks.md).

# Webhooks

APIs to create, update, list webhooks

## ListWebhooks

> Returns List of Webhook Details

```json
{"openapi":"3.0.0","info":{"title":"Harness Artifact Registry API","version":"1.0.0"},"tags":[{"description":"APIs to create, update, list webhooks","name":"Webhooks"}],"servers":[{"url":"/api"}],"paths":{"/v1/registry/{registry_ref}/webhooks":{"get":{"description":"Returns List of Webhook Details","operationId":"ListWebhooks","parameters":[{"$ref":"#/components/parameters/registryRefPathParam"},{"$ref":"#/components/parameters/pageNumber"},{"$ref":"#/components/parameters/pageSize"},{"$ref":"#/components/parameters/sortOrder"},{"$ref":"#/components/parameters/sortField"},{"$ref":"#/components/parameters/searchTerm"}],"responses":{"200":{"$ref":"#/components/responses/ListWebhooksResponse"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthenticated"},"403":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"ListWebhooks","tags":["Webhooks"]}}},"components":{"parameters":{"registryRefPathParam":{"description":"Reference to the scope in which the registry exists.\n\nFormat depends on the scope:\n\n- **Account-level**: `account_id/registry_name/+`\n- **Organization-level**: `account_id/org_id/registry_name/+`\n- **Project-level**: `account_id/org_id/project_id/registry_name/+`\n\nThe `/+` suffix is used internally to route scoped requests.\nIt must be included **exactly as shown** in the URL.\n","in":"path","name":"registry_ref","required":true,"schema":{"type":"string"}},"pageNumber":{"description":"Current page number","in":"query","name":"page","schema":{"default":1,"format":"int64","type":"integer"}},"pageSize":{"description":"Number of items per page","in":"query","name":"size","schema":{"default":20,"format":"int64","type":"integer"}},"sortOrder":{"description":"sortOrder","in":"query","name":"sort_order","schema":{"type":"string"}},"sortField":{"description":"sortField","in":"query","name":"sort_field","schema":{"type":"string"}},"searchTerm":{"description":"search Term.","in":"query","name":"search_term","schema":{"type":"string"}}},"responses":{"ListWebhooksResponse":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ListWebhooks"},"status":{"$ref":"#/components/schemas/Status"}},"required":["status","data"],"type":"object"}}},"description":"response for list webhooks"},"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was invalid or malformed"},"Unauthenticated":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed or missing credentials"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Access denied due to insufficient permissions"},"InternalServerError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected server error occurred"}},"schemas":{"ListWebhooks":{"description":"A list of Harness Registries webhooks","properties":{"itemCount":{"description":"The total number of items","format":"int64","type":"integer"},"pageCount":{"description":"The total number of pages","format":"int64","type":"integer"},"pageIndex":{"description":"The current page","format":"int64","type":"integer"},"pageSize":{"description":"The number of items per page","type":"integer"},"webhooks":{"description":"A list of Registries webhooks","items":{"$ref":"#/components/schemas/Webhook"},"type":"array"}},"required":["webhooks"],"type":"object"},"Webhook":{"description":"Harness Regstries Webhook","properties":{"createdAt":{"type":"string"},"createdBy":{"format":"int64","type":"integer"},"description":{"type":"string"},"enabled":{"type":"boolean"},"extraHeaders":{"items":{"$ref":"#/components/schemas/ExtraHeader"},"type":"array"},"identifier":{"type":"string"},"insecure":{"type":"boolean"},"internal":{"type":"boolean"},"latestExecutionResult":{"$ref":"#/components/schemas/WebhookExecResult"},"modifiedAt":{"type":"string"},"name":{"type":"string"},"secretIdentifier":{"type":"string"},"secretSpaceId":{"format":"int64","type":"integer"},"secretSpacePath":{"type":"string"},"triggers":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array"},"url":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["identifier","url","name","enabled","insecure"],"type":"object"},"ExtraHeader":{"description":"Webhook Extra Header","properties":{"key":{"type":"string"},"masked":{"default":false,"type":"boolean"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"WebhookExecResult":{"description":"refers to webhook execution","enum":["SUCCESS","RETRIABLE_ERROR","FATAL_ERROR"],"type":"string"},"Trigger":{"description":"refers to trigger","enum":["ARTIFACT_CREATION","ARTIFACT_DELETION"],"type":"string"},"Status":{"description":"Request processing status indicator","enum":["SUCCESS","FAILURE","ERROR"],"type":"string"},"Error":{"description":"Standard error response with code, message and optional details","properties":{"code":{"description":"The HTTP error code","type":"string"},"details":{"description":"Additional context and details about the error.\nMay include field-specific validation errors or debugging information.\n","type":"object"},"message":{"description":"Human-readable error message explaining what went wrong","type":"string"}},"required":["code","message"],"type":"object"}}}}
```

## CreateWebhook

> Returns Webhook Details

```json
{"openapi":"3.0.0","info":{"title":"Harness Artifact Registry API","version":"1.0.0"},"tags":[{"description":"APIs to create, update, list webhooks","name":"Webhooks"}],"servers":[{"url":"/api"}],"paths":{"/v1/registry/{registry_ref}/webhooks":{"post":{"description":"Returns Webhook Details","operationId":"CreateWebhook","parameters":[{"$ref":"#/components/parameters/registryRefPathParam"}],"requestBody":{"$ref":"#/components/requestBodies/WebhookRequest"},"responses":{"201":{"$ref":"#/components/responses/WebhookResponse"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthenticated"},"403":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"CreateWebhook","tags":["Webhooks"]}}},"components":{"parameters":{"registryRefPathParam":{"description":"Reference to the scope in which the registry exists.\n\nFormat depends on the scope:\n\n- **Account-level**: `account_id/registry_name/+`\n- **Organization-level**: `account_id/org_id/registry_name/+`\n- **Project-level**: `account_id/org_id/project_id/registry_name/+`\n\nThe `/+` suffix is used internally to route scoped requests.\nIt must be included **exactly as shown** in the URL.\n","in":"path","name":"registry_ref","required":true,"schema":{"type":"string"}}},"requestBodies":{"WebhookRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRequest"}}},"description":"request for create and update webhook"}},"schemas":{"WebhookRequest":{"properties":{"description":{"type":"string"},"enabled":{"type":"boolean"},"extraHeaders":{"items":{"$ref":"#/components/schemas/ExtraHeader"},"type":"array"},"identifier":{"type":"string"},"insecure":{"type":"boolean"},"name":{"type":"string"},"secretIdentifier":{"type":"string"},"secretSpaceId":{"format":"int64","type":"integer"},"secretSpacePath":{"type":"string"},"triggers":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array"},"url":{"type":"string"}},"required":["insecure","enabled","identifier","url","name"],"type":"object"},"ExtraHeader":{"description":"Webhook Extra Header","properties":{"key":{"type":"string"},"masked":{"default":false,"type":"boolean"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"Trigger":{"description":"refers to trigger","enum":["ARTIFACT_CREATION","ARTIFACT_DELETION"],"type":"string"},"Webhook":{"description":"Harness Regstries Webhook","properties":{"createdAt":{"type":"string"},"createdBy":{"format":"int64","type":"integer"},"description":{"type":"string"},"enabled":{"type":"boolean"},"extraHeaders":{"items":{"$ref":"#/components/schemas/ExtraHeader"},"type":"array"},"identifier":{"type":"string"},"insecure":{"type":"boolean"},"internal":{"type":"boolean"},"latestExecutionResult":{"$ref":"#/components/schemas/WebhookExecResult"},"modifiedAt":{"type":"string"},"name":{"type":"string"},"secretIdentifier":{"type":"string"},"secretSpaceId":{"format":"int64","type":"integer"},"secretSpacePath":{"type":"string"},"triggers":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array"},"url":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["identifier","url","name","enabled","insecure"],"type":"object"},"WebhookExecResult":{"description":"refers to webhook execution","enum":["SUCCESS","RETRIABLE_ERROR","FATAL_ERROR"],"type":"string"},"Status":{"description":"Request processing status indicator","enum":["SUCCESS","FAILURE","ERROR"],"type":"string"},"Error":{"description":"Standard error response with code, message and optional details","properties":{"code":{"description":"The HTTP error code","type":"string"},"details":{"description":"Additional context and details about the error.\nMay include field-specific validation errors or debugging information.\n","type":"object"},"message":{"description":"Human-readable error message explaining what went wrong","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"WebhookResponse":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Webhook"},"status":{"$ref":"#/components/schemas/Status"}},"required":["status","data"],"type":"object"}}},"description":"response for create, get and update webhook"},"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was invalid or malformed"},"Unauthenticated":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed or missing credentials"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Access denied due to insufficient permissions"},"InternalServerError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected server error occurred"}}}}
```

## GetWebhook

> Returns Webhook Details

```json
{"openapi":"3.0.0","info":{"title":"Harness Artifact Registry API","version":"1.0.0"},"tags":[{"description":"APIs to create, update, list webhooks","name":"Webhooks"}],"servers":[{"url":"/api"}],"paths":{"/v1/registry/{registry_ref}/webhooks/{webhook_identifier}":{"get":{"description":"Returns Webhook Details","operationId":"GetWebhook","parameters":[{"$ref":"#/components/parameters/registryRefPathParam"},{"$ref":"#/components/parameters/webhookIdentifierPathParam"}],"responses":{"200":{"$ref":"#/components/responses/WebhookResponse"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthenticated"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"GetWebhook","tags":["Webhooks"]}}},"components":{"parameters":{"registryRefPathParam":{"description":"Reference to the scope in which the registry exists.\n\nFormat depends on the scope:\n\n- **Account-level**: `account_id/registry_name/+`\n- **Organization-level**: `account_id/org_id/registry_name/+`\n- **Project-level**: `account_id/org_id/project_id/registry_name/+`\n\nThe `/+` suffix is used internally to route scoped requests.\nIt must be included **exactly as shown** in the URL.\n","in":"path","name":"registry_ref","required":true,"schema":{"type":"string"}},"webhookIdentifierPathParam":{"description":"Unique webhook identifier.","in":"path","name":"webhook_identifier","required":true,"schema":{"type":"string"}}},"responses":{"WebhookResponse":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Webhook"},"status":{"$ref":"#/components/schemas/Status"}},"required":["status","data"],"type":"object"}}},"description":"response for create, get and update webhook"},"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was invalid or malformed"},"Unauthenticated":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed or missing credentials"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Access denied due to insufficient permissions"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The requested resource was not found"},"InternalServerError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected server error occurred"}},"schemas":{"Webhook":{"description":"Harness Regstries Webhook","properties":{"createdAt":{"type":"string"},"createdBy":{"format":"int64","type":"integer"},"description":{"type":"string"},"enabled":{"type":"boolean"},"extraHeaders":{"items":{"$ref":"#/components/schemas/ExtraHeader"},"type":"array"},"identifier":{"type":"string"},"insecure":{"type":"boolean"},"internal":{"type":"boolean"},"latestExecutionResult":{"$ref":"#/components/schemas/WebhookExecResult"},"modifiedAt":{"type":"string"},"name":{"type":"string"},"secretIdentifier":{"type":"string"},"secretSpaceId":{"format":"int64","type":"integer"},"secretSpacePath":{"type":"string"},"triggers":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array"},"url":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["identifier","url","name","enabled","insecure"],"type":"object"},"ExtraHeader":{"description":"Webhook Extra Header","properties":{"key":{"type":"string"},"masked":{"default":false,"type":"boolean"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"WebhookExecResult":{"description":"refers to webhook execution","enum":["SUCCESS","RETRIABLE_ERROR","FATAL_ERROR"],"type":"string"},"Trigger":{"description":"refers to trigger","enum":["ARTIFACT_CREATION","ARTIFACT_DELETION"],"type":"string"},"Status":{"description":"Request processing status indicator","enum":["SUCCESS","FAILURE","ERROR"],"type":"string"},"Error":{"description":"Standard error response with code, message and optional details","properties":{"code":{"description":"The HTTP error code","type":"string"},"details":{"description":"Additional context and details about the error.\nMay include field-specific validation errors or debugging information.\n","type":"object"},"message":{"description":"Human-readable error message explaining what went wrong","type":"string"}},"required":["code","message"],"type":"object"}}}}
```

## UpdateWebhook

> Returns Webhook Details

```json
{"openapi":"3.0.0","info":{"title":"Harness Artifact Registry API","version":"1.0.0"},"tags":[{"description":"APIs to create, update, list webhooks","name":"Webhooks"}],"servers":[{"url":"/api"}],"paths":{"/v1/registry/{registry_ref}/webhooks/{webhook_identifier}":{"put":{"description":"Returns Webhook Details","operationId":"UpdateWebhook","parameters":[{"$ref":"#/components/parameters/registryRefPathParam"},{"$ref":"#/components/parameters/webhookIdentifierPathParam"}],"requestBody":{"$ref":"#/components/requestBodies/WebhookRequest"},"responses":{"201":{"$ref":"#/components/responses/WebhookResponse"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthenticated"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"UpdateWebhook","tags":["Webhooks"]}}},"components":{"parameters":{"registryRefPathParam":{"description":"Reference to the scope in which the registry exists.\n\nFormat depends on the scope:\n\n- **Account-level**: `account_id/registry_name/+`\n- **Organization-level**: `account_id/org_id/registry_name/+`\n- **Project-level**: `account_id/org_id/project_id/registry_name/+`\n\nThe `/+` suffix is used internally to route scoped requests.\nIt must be included **exactly as shown** in the URL.\n","in":"path","name":"registry_ref","required":true,"schema":{"type":"string"}},"webhookIdentifierPathParam":{"description":"Unique webhook identifier.","in":"path","name":"webhook_identifier","required":true,"schema":{"type":"string"}}},"requestBodies":{"WebhookRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRequest"}}},"description":"request for create and update webhook"}},"schemas":{"WebhookRequest":{"properties":{"description":{"type":"string"},"enabled":{"type":"boolean"},"extraHeaders":{"items":{"$ref":"#/components/schemas/ExtraHeader"},"type":"array"},"identifier":{"type":"string"},"insecure":{"type":"boolean"},"name":{"type":"string"},"secretIdentifier":{"type":"string"},"secretSpaceId":{"format":"int64","type":"integer"},"secretSpacePath":{"type":"string"},"triggers":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array"},"url":{"type":"string"}},"required":["insecure","enabled","identifier","url","name"],"type":"object"},"ExtraHeader":{"description":"Webhook Extra Header","properties":{"key":{"type":"string"},"masked":{"default":false,"type":"boolean"},"value":{"type":"string"}},"required":["key","value"],"type":"object"},"Trigger":{"description":"refers to trigger","enum":["ARTIFACT_CREATION","ARTIFACT_DELETION"],"type":"string"},"Webhook":{"description":"Harness Regstries Webhook","properties":{"createdAt":{"type":"string"},"createdBy":{"format":"int64","type":"integer"},"description":{"type":"string"},"enabled":{"type":"boolean"},"extraHeaders":{"items":{"$ref":"#/components/schemas/ExtraHeader"},"type":"array"},"identifier":{"type":"string"},"insecure":{"type":"boolean"},"internal":{"type":"boolean"},"latestExecutionResult":{"$ref":"#/components/schemas/WebhookExecResult"},"modifiedAt":{"type":"string"},"name":{"type":"string"},"secretIdentifier":{"type":"string"},"secretSpaceId":{"format":"int64","type":"integer"},"secretSpacePath":{"type":"string"},"triggers":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array"},"url":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["identifier","url","name","enabled","insecure"],"type":"object"},"WebhookExecResult":{"description":"refers to webhook execution","enum":["SUCCESS","RETRIABLE_ERROR","FATAL_ERROR"],"type":"string"},"Status":{"description":"Request processing status indicator","enum":["SUCCESS","FAILURE","ERROR"],"type":"string"},"Error":{"description":"Standard error response with code, message and optional details","properties":{"code":{"description":"The HTTP error code","type":"string"},"details":{"description":"Additional context and details about the error.\nMay include field-specific validation errors or debugging information.\n","type":"object"},"message":{"description":"Human-readable error message explaining what went wrong","type":"string"}},"required":["code","message"],"type":"object"}},"responses":{"WebhookResponse":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Webhook"},"status":{"$ref":"#/components/schemas/Status"}},"required":["status","data"],"type":"object"}}},"description":"response for create, get and update webhook"},"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was invalid or malformed"},"Unauthenticated":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed or missing credentials"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Access denied due to insufficient permissions"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The requested resource was not found"},"InternalServerError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected server error occurred"}}}}
```

## DeleteWebhook

> Delete a Webhook

```json
{"openapi":"3.0.0","info":{"title":"Harness Artifact Registry API","version":"1.0.0"},"tags":[{"description":"APIs to create, update, list webhooks","name":"Webhooks"}],"servers":[{"url":"/api"}],"paths":{"/v1/registry/{registry_ref}/webhooks/{webhook_identifier}":{"delete":{"description":"Delete a Webhook","operationId":"DeleteWebhook","parameters":[{"$ref":"#/components/parameters/registryRefPathParam"},{"$ref":"#/components/parameters/webhookIdentifierPathParam"}],"responses":{"200":{"$ref":"#/components/responses/Success"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthenticated"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"DeleteWebhook","tags":["Webhooks"]}}},"components":{"parameters":{"registryRefPathParam":{"description":"Reference to the scope in which the registry exists.\n\nFormat depends on the scope:\n\n- **Account-level**: `account_id/registry_name/+`\n- **Organization-level**: `account_id/org_id/registry_name/+`\n- **Project-level**: `account_id/org_id/project_id/registry_name/+`\n\nThe `/+` suffix is used internally to route scoped requests.\nIt must be included **exactly as shown** in the URL.\n","in":"path","name":"registry_ref","required":true,"schema":{"type":"string"}},"webhookIdentifierPathParam":{"description":"Unique webhook identifier.","in":"path","name":"webhook_identifier","required":true,"schema":{"type":"string"}}},"responses":{"Success":{"content":{"application/json":{"schema":{"properties":{"status":{"$ref":"#/components/schemas/Status"}},"required":["status"],"type":"object"}}},"description":"Generic success response"},"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was invalid or malformed"},"Unauthenticated":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed or missing credentials"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Access denied due to insufficient permissions"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The requested resource was not found"},"InternalServerError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected server error occurred"}},"schemas":{"Status":{"description":"Request processing status indicator","enum":["SUCCESS","FAILURE","ERROR"],"type":"string"},"Error":{"description":"Standard error response with code, message and optional details","properties":{"code":{"description":"The HTTP error code","type":"string"},"details":{"description":"Additional context and details about the error.\nMay include field-specific validation errors or debugging information.\n","type":"object"},"message":{"description":"Human-readable error message explaining what went wrong","type":"string"}},"required":["code","message"],"type":"object"}}}}
```

## ListWebhookExecutions

> Returns Webhook Execution Details List

```json
{"openapi":"3.0.0","info":{"title":"Harness Artifact Registry API","version":"1.0.0"},"tags":[{"description":"APIs to create, update, list webhooks","name":"Webhooks"}],"servers":[{"url":"/api"}],"paths":{"/v1/registry/{registry_ref}/webhooks/{webhook_identifier}/executions":{"get":{"description":"Returns Webhook Execution Details List","operationId":"ListWebhookExecutions","parameters":[{"$ref":"#/components/parameters/registryRefPathParam"},{"$ref":"#/components/parameters/webhookIdentifierPathParam"},{"$ref":"#/components/parameters/pageNumber"},{"$ref":"#/components/parameters/pageSize"}],"responses":{"200":{"$ref":"#/components/responses/ListWebhooksExecutionResponse"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthenticated"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"ListWebhookExecutions","tags":["Webhooks"]}}},"components":{"parameters":{"registryRefPathParam":{"description":"Reference to the scope in which the registry exists.\n\nFormat depends on the scope:\n\n- **Account-level**: `account_id/registry_name/+`\n- **Organization-level**: `account_id/org_id/registry_name/+`\n- **Project-level**: `account_id/org_id/project_id/registry_name/+`\n\nThe `/+` suffix is used internally to route scoped requests.\nIt must be included **exactly as shown** in the URL.\n","in":"path","name":"registry_ref","required":true,"schema":{"type":"string"}},"webhookIdentifierPathParam":{"description":"Unique webhook identifier.","in":"path","name":"webhook_identifier","required":true,"schema":{"type":"string"}},"pageNumber":{"description":"Current page number","in":"query","name":"page","schema":{"default":1,"format":"int64","type":"integer"}},"pageSize":{"description":"Number of items per page","in":"query","name":"size","schema":{"default":20,"format":"int64","type":"integer"}}},"responses":{"ListWebhooksExecutionResponse":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ListWebhooksExecutions"},"status":{"$ref":"#/components/schemas/Status"}},"required":["status","data"],"type":"object"}}},"description":"list webhooks executions response"},"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was invalid or malformed"},"Unauthenticated":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed or missing credentials"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Access denied due to insufficient permissions"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The requested resource was not found"},"InternalServerError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected server error occurred"}},"schemas":{"ListWebhooksExecutions":{"description":"A list of Harness Registries webhooks executions","properties":{"executions":{"description":"A list of Registries webhooks executions","items":{"$ref":"#/components/schemas/WebhookExecution"},"type":"array"},"itemCount":{"description":"The total number of items","format":"int64","type":"integer"},"pageCount":{"description":"The total number of pages","format":"int64","type":"integer"},"pageIndex":{"description":"The current page","format":"int64","type":"integer"},"pageSize":{"description":"The number of items per page","type":"integer"}},"required":["executions"],"type":"object"},"WebhookExecution":{"description":"Harness Regstries Webhook Execution","properties":{"created":{"format":"int64","type":"integer"},"duration":{"format":"int64","type":"integer"},"error":{"type":"string"},"id":{"format":"int64","type":"integer"},"request":{"$ref":"#/components/schemas/WebhookExecRequest"},"response":{"$ref":"#/components/schemas/WebhookExecResponse"},"result":{"$ref":"#/components/schemas/WebhookExecResult"},"retriggerOf":{"format":"int64","type":"integer"},"retriggerable":{"type":"boolean"},"triggerType":{"$ref":"#/components/schemas/Trigger"},"webhookId":{"format":"int64","type":"integer"}},"type":"object"},"WebhookExecRequest":{"description":"Harness Regstries HTTP Webhook Request","properties":{"body":{"type":"string"},"headers":{"type":"string"},"url":{"type":"string"}},"type":"object"},"WebhookExecResponse":{"description":"Harness Regstries HTTP Webhook Response","properties":{"body":{"type":"string"},"headers":{"type":"string"},"status":{"type":"string"},"statusCode":{"type":"integer"}},"type":"object"},"WebhookExecResult":{"description":"refers to webhook execution","enum":["SUCCESS","RETRIABLE_ERROR","FATAL_ERROR"],"type":"string"},"Trigger":{"description":"refers to trigger","enum":["ARTIFACT_CREATION","ARTIFACT_DELETION"],"type":"string"},"Status":{"description":"Request processing status indicator","enum":["SUCCESS","FAILURE","ERROR"],"type":"string"},"Error":{"description":"Standard error response with code, message and optional details","properties":{"code":{"description":"The HTTP error code","type":"string"},"details":{"description":"Additional context and details about the error.\nMay include field-specific validation errors or debugging information.\n","type":"object"},"message":{"description":"Human-readable error message explaining what went wrong","type":"string"}},"required":["code","message"],"type":"object"}}}}
```

## GetWebhookExecution

> Returns Webhook Execution Details

```json
{"openapi":"3.0.0","info":{"title":"Harness Artifact Registry API","version":"1.0.0"},"tags":[{"description":"APIs to create, update, list webhooks","name":"Webhooks"}],"servers":[{"url":"/api"}],"paths":{"/v1/registry/{registry_ref}/webhooks/{webhook_identifier}/executions/{webhook_execution_id}":{"get":{"description":"Returns Webhook Execution Details","operationId":"GetWebhookExecution","parameters":[{"$ref":"#/components/parameters/registryRefPathParam"},{"$ref":"#/components/parameters/webhookIdentifierPathParam"},{"$ref":"#/components/parameters/webhookExecutionIdPathParam"}],"responses":{"200":{"$ref":"#/components/responses/WebhookExecutionResponse"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthenticated"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"GetWebhookExecution","tags":["Webhooks"]}}},"components":{"parameters":{"registryRefPathParam":{"description":"Reference to the scope in which the registry exists.\n\nFormat depends on the scope:\n\n- **Account-level**: `account_id/registry_name/+`\n- **Organization-level**: `account_id/org_id/registry_name/+`\n- **Project-level**: `account_id/org_id/project_id/registry_name/+`\n\nThe `/+` suffix is used internally to route scoped requests.\nIt must be included **exactly as shown** in the URL.\n","in":"path","name":"registry_ref","required":true,"schema":{"type":"string"}},"webhookIdentifierPathParam":{"description":"Unique webhook identifier.","in":"path","name":"webhook_identifier","required":true,"schema":{"type":"string"}},"webhookExecutionIdPathParam":{"description":"Unique webhook execution identifier.","in":"path","name":"webhook_execution_id","required":true,"schema":{"type":"string"}}},"responses":{"WebhookExecutionResponse":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookExecution"},"status":{"$ref":"#/components/schemas/Status"}},"required":["status","data"],"type":"object"}}},"description":"webhook execution response"},"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was invalid or malformed"},"Unauthenticated":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed or missing credentials"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Access denied due to insufficient permissions"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The requested resource was not found"},"InternalServerError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected server error occurred"}},"schemas":{"WebhookExecution":{"description":"Harness Regstries Webhook Execution","properties":{"created":{"format":"int64","type":"integer"},"duration":{"format":"int64","type":"integer"},"error":{"type":"string"},"id":{"format":"int64","type":"integer"},"request":{"$ref":"#/components/schemas/WebhookExecRequest"},"response":{"$ref":"#/components/schemas/WebhookExecResponse"},"result":{"$ref":"#/components/schemas/WebhookExecResult"},"retriggerOf":{"format":"int64","type":"integer"},"retriggerable":{"type":"boolean"},"triggerType":{"$ref":"#/components/schemas/Trigger"},"webhookId":{"format":"int64","type":"integer"}},"type":"object"},"WebhookExecRequest":{"description":"Harness Regstries HTTP Webhook Request","properties":{"body":{"type":"string"},"headers":{"type":"string"},"url":{"type":"string"}},"type":"object"},"WebhookExecResponse":{"description":"Harness Regstries HTTP Webhook Response","properties":{"body":{"type":"string"},"headers":{"type":"string"},"status":{"type":"string"},"statusCode":{"type":"integer"}},"type":"object"},"WebhookExecResult":{"description":"refers to webhook execution","enum":["SUCCESS","RETRIABLE_ERROR","FATAL_ERROR"],"type":"string"},"Trigger":{"description":"refers to trigger","enum":["ARTIFACT_CREATION","ARTIFACT_DELETION"],"type":"string"},"Status":{"description":"Request processing status indicator","enum":["SUCCESS","FAILURE","ERROR"],"type":"string"},"Error":{"description":"Standard error response with code, message and optional details","properties":{"code":{"description":"The HTTP error code","type":"string"},"details":{"description":"Additional context and details about the error.\nMay include field-specific validation errors or debugging information.\n","type":"object"},"message":{"description":"Human-readable error message explaining what went wrong","type":"string"}},"required":["code","message"],"type":"object"}}}}
```

## ReTriggerWebhookExecution

> Retrigger Webhook Execution

```json
{"openapi":"3.0.0","info":{"title":"Harness Artifact Registry API","version":"1.0.0"},"tags":[{"description":"APIs to create, update, list webhooks","name":"Webhooks"}],"servers":[{"url":"/api"}],"paths":{"/v1/registry/{registry_ref}/webhooks/{webhook_identifier}/executions/{webhook_execution_id}/retrigger":{"get":{"description":"Retrigger Webhook Execution","operationId":"ReTriggerWebhookExecution","parameters":[{"$ref":"#/components/parameters/registryRefPathParam"},{"$ref":"#/components/parameters/webhookIdentifierPathParam"},{"$ref":"#/components/parameters/webhookExecutionIdPathParam"}],"responses":{"200":{"$ref":"#/components/responses/WebhookExecutionResponse"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthenticated"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"ReTriggerWebhookExecution","tags":["Webhooks"]}}},"components":{"parameters":{"registryRefPathParam":{"description":"Reference to the scope in which the registry exists.\n\nFormat depends on the scope:\n\n- **Account-level**: `account_id/registry_name/+`\n- **Organization-level**: `account_id/org_id/registry_name/+`\n- **Project-level**: `account_id/org_id/project_id/registry_name/+`\n\nThe `/+` suffix is used internally to route scoped requests.\nIt must be included **exactly as shown** in the URL.\n","in":"path","name":"registry_ref","required":true,"schema":{"type":"string"}},"webhookIdentifierPathParam":{"description":"Unique webhook identifier.","in":"path","name":"webhook_identifier","required":true,"schema":{"type":"string"}},"webhookExecutionIdPathParam":{"description":"Unique webhook execution identifier.","in":"path","name":"webhook_execution_id","required":true,"schema":{"type":"string"}}},"responses":{"WebhookExecutionResponse":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookExecution"},"status":{"$ref":"#/components/schemas/Status"}},"required":["status","data"],"type":"object"}}},"description":"webhook execution response"},"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The request was invalid or malformed"},"Unauthenticated":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed or missing credentials"},"Unauthorized":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Access denied due to insufficient permissions"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The requested resource was not found"},"InternalServerError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"An unexpected server error occurred"}},"schemas":{"WebhookExecution":{"description":"Harness Regstries Webhook Execution","properties":{"created":{"format":"int64","type":"integer"},"duration":{"format":"int64","type":"integer"},"error":{"type":"string"},"id":{"format":"int64","type":"integer"},"request":{"$ref":"#/components/schemas/WebhookExecRequest"},"response":{"$ref":"#/components/schemas/WebhookExecResponse"},"result":{"$ref":"#/components/schemas/WebhookExecResult"},"retriggerOf":{"format":"int64","type":"integer"},"retriggerable":{"type":"boolean"},"triggerType":{"$ref":"#/components/schemas/Trigger"},"webhookId":{"format":"int64","type":"integer"}},"type":"object"},"WebhookExecRequest":{"description":"Harness Regstries HTTP Webhook Request","properties":{"body":{"type":"string"},"headers":{"type":"string"},"url":{"type":"string"}},"type":"object"},"WebhookExecResponse":{"description":"Harness Regstries HTTP Webhook Response","properties":{"body":{"type":"string"},"headers":{"type":"string"},"status":{"type":"string"},"statusCode":{"type":"integer"}},"type":"object"},"WebhookExecResult":{"description":"refers to webhook execution","enum":["SUCCESS","RETRIABLE_ERROR","FATAL_ERROR"],"type":"string"},"Trigger":{"description":"refers to trigger","enum":["ARTIFACT_CREATION","ARTIFACT_DELETION"],"type":"string"},"Status":{"description":"Request processing status indicator","enum":["SUCCESS","FAILURE","ERROR"],"type":"string"},"Error":{"description":"Standard error response with code, message and optional details","properties":{"code":{"description":"The HTTP error code","type":"string"},"details":{"description":"Additional context and details about the error.\nMay include field-specific validation errors or debugging information.\n","type":"object"},"message":{"description":"Human-readable error message explaining what went wrong","type":"string"}},"required":["code","message"],"type":"object"}}}}
```
