---
updatedAt: 2025-09-11T20:21:59.000Z
agentTools:
  projectIndex: https://docs.gathercontent.com/llms.txt
---

# Subscribe to event

Create a webhook that subscribes to a system event. For more information, including a list of event names see: https://docs.gathercontent.com/docs/webhooks

# OpenAPI definition

```json
{
  "openapi": "3.0.2",
  "info": {
    "title": "GatherContent API",
    "description": "This is the documentation for the latest stable version of the GatherContent API Find out more about GatherContent at [https://gathercontent.com](https://gathercontent.com) or get help at [https://help.gathercontent.com](https://help.gathercontent.com)",
    "version": "2.0.0",
    "termsOfService": "https://gathercontent.com/legal/terms-of-service",
    "contact": {
      "email": "development@gathercontent.com"
    }
  },
  "x-samples-languages": [
    "curl",
    "node",
    "ruby",
    "javascript",
    "python"
  ],
  "servers": [
    {
      "url": "https://api.gathercontent.com"
    },
    {
      "url": "https://api.gatherpreview.com"
    },
    {
      "url": "http://api.gathercontent.test"
    }
  ],
  "externalDocs": {
    "description": "GatherContent help docs",
    "url": "https://help.gathercontent.com"
  },
  "paths": {
    "/projects/{project_id}/webhooks/{event_name}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/projectId"
        },
        {
          "$ref": "#/components/parameters/eventName"
        }
      ],
      "post": {
        "summary": "Subscribe to event",
        "operationId": "subscribeToWebhook",
        "description": "Create a webhook that subscribes to a system event. For more information, including a list of event names see: https://docs.gathercontent.com/docs/webhooks\n",
        "tags": [
          "Webhooks"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "source",
                  "URL"
                ],
                "properties": {
                  "URL": {
                    "type": "string",
                    "description": "URL the subscribed webhook will send payload data to",
                    "example": "https://monday.com/projects/create"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/vnd.gathercontent.v2+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "properties": {
                          "id": {
                            "type": "integer",
                            "example": 12345
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/insufficientRoles"
          },
          "404": {
            "$ref": "#/components/responses/projectNotFoundError"
          },
          "422": {
            "$ref": "#/components/responses/validationError"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Webhooks",
      "description": "Webhooks allow external applications to respond to events within the GatherContent system"
    }
  ],
  "components": {
    "parameters": {
      "projectId": {
        "name": "project_id",
        "description": "Project id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "eventName": {
        "name": "event_name",
        "description": "Name of the event for the webhook to subscribe to",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "ItemWasCreated"
        }
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    },
    "responses": {
      "insufficientRoles": {
        "description": "Insufficient permission to perform this action",
        "content": {
          "application/vnd.gathercontent.v2+json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Insufficient permission to perform this action"
                },
                "code": {
                  "type": "integer",
                  "example": 403
                }
              }
            }
          }
        }
      },
      "validationError": {
        "description": "Validation error",
        "content": {
          "application/vnd.gathercontent.v2+json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "The given data was invalid"
                },
                "code": {
                  "type": "integer",
                  "example": 422
                },
                "messages": {
                  "type": "object",
                  "description": "Key/value mapping of invalid field => failure reason. This changes depending on which data is invalid."
                }
              }
            }
          }
        }
      },
      "tooManyRequests": {
        "description": "Too many request",
        "content": {
          "application/vnd.gathercontent.v2+json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Too Many Attempts."
                },
                "code": {
                  "type": "integer",
                  "example": 429
                }
              }
            }
          }
        },
        "headers": {
          "X-RateLimit-Limit": {
            "schema": {
              "type": "integer"
            },
            "description": "Request limit."
          },
          "X-RateLimit-Remaining": {
            "schema": {
              "type": "integer"
            },
            "description": "The number of requests left for the time window."
          },
          "X-RateLimit-Reset": {
            "schema": {
              "type": "string"
            },
            "description": "The Unix timestamp at which the current rate limit window resets."
          },
          "Retry-After": {
            "schema": {
              "type": "integer"
            },
            "description": "The number of seconds before the current rate limit window resets."
          }
        }
      },
      "projectNotFoundError": {
        "description": "Project not found",
        "content": {
          "application/vnd.gathercontent.v2+json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "example": "Project not found"
                },
                "code": {
                  "type": "integer",
                  "example": 404
                }
              }
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```