# Create a webhook for an app Creates a new webhook for the specified app using normal bearer authentication. The app must be installed for the authenticated user's selected company. The request body must contain the webhook's secret, topic, and URL. Endpoint: POST /api/v2/webhooks/apps/{appUuid} Version: 1.0 Security: BearerAuthentication ## Path parameters: - `appUuid` (string, required) UUID of the app to create the webhook for ## Request fields (application/json): - `url` (string) The URL of the webhook where requests will be sent. Example: "https://example.com/webhook" - `secret` (string) The secret used for webhook validation. Example: "abcd1234" - `topic` (string) The topic for which the webhook is subscribed. Example: "user.created" - `webhookFormat` (string) Webhook payload format (LEGACY, USER_FRIENDLY) Example: "LEGACY" - `filter` (object) Filter criteria for webhook triggers - `filter.groups` (array) A collection of filter groups. - `filter.groups.items` (object) A set of filter items included in the group. - `filter.groups.items.object` (string) The name of the object to which this pagination item belongs. Example: "User" - `filter.groups.items.relation` (string) The relationship between objects. Example: "hasProperty" - `filter.groups.items.property` (string) The name of the property within the object. Example: "email" - `filter.groups.items.relationIncluded` (boolean) Specifies whether the relation is included. Example: true - `filter.groups.items.operator` (string) Defines the operator used in the filter. Available operators are defined in the API documentation. Example: "EQUALS" - `filter.groups.items.value` (any) Represents the value to filter against. Example: 12345 - `includeRelations` (array) Records to include in webhook payload Example: ["candidate","vacancy"] - `relationFilters` (object) Filter criteria for relations - `relationLimit` (integer) Maximum number of relations to include Example: 10 - `retryEnabled` (boolean) Whether retry is enabled - `maxRetries` (integer) Maximum number of retries Example: 3 - `retryBackoffMs` (integer) Retry backoff in milliseconds Example: 1000 - `uuid` (string, required) Unique identifier for the entity - `name` (string, required) The name of the entity - `label` (string) Display label for the entity, can be different from name - `createdAt` (integer) Unix timestamp when the entity was created - `createdBy` (object) Identifier of the user who created the entity - `createdBy.name` (string, required) - `createdBy.label` (string) - `createdBy.createdAt` (integer) - `createdBy.updatedAt` (integer) - `createdBy.deletedAt` (integer) - `createdBy.createdByUuid` (string) - `createdBy.updatedByUuid` (string) - `createdBy.deletedByUuid` (string) - `createdBy.index` (integer) - `createdBy.complete` (boolean) - `createdBy.deleted` (boolean) - `createdBy.uuid` (string, required) - `createdBy.objects` (object) - `createdBy.properties` (array) - `createdBy.properties.value` (any) - `createdBy.properties.type` (string) - `createdBy.properties.icon` (string) - `createdBy.user` (object) - `createdBy.user.email` (string) - `createdBy.user.firstname` (string) - `createdBy.user.lastname` (string) - `createdBy.user.initials` (string) - `createdBy.user.scopes` (array) - `createdBy.user.filters` (object) - `createdBy.user.role` (string) - `createdBy.user.record` (object) - `updatedAt` (integer) Unix timestamp when the entity was last updated - `updatedBy` (object) Identifier of the user who last updated the entity - `deletedAt` (integer) Unix timestamp when the entity was deleted (null if not deleted) - `deletedBy` (object) Identifier of the user who deleted the entity - `index` (integer) Index number for ordering entities ## Response 200 fields (application/json): - `message` (string) A message detailing the result of the operation. Example: "Success" - `data` (any) The data payload of the response, if any. ## Response 400 fields (application/json): - `message` (string) The error message providing details about the failure. Example: "Resource not found." - `errors` (object) A list of error types providing further details about the error. Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}] - `errors.correctionSuggestion` (string, required) A suggestion on how to correct the error. Example: "Try uploading a different file type." - `errors.type` (string, required) The type of error. Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE" - `status` (integer) The HTTP status code associated with the error. Example: 400 - `stackTrace` (string) - `roles` (array) Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN" - `scopes` (array) ## Response 404 fields (application/json): - `message` (string) The error message providing details about the failure. Example: "Resource not found." - `errors` (object) A list of error types providing further details about the error. Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}] - `errors.correctionSuggestion` (string, required) A suggestion on how to correct the error. Example: "Try uploading a different file type." - `errors.type` (string, required) The type of error. Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE" - `status` (integer) The HTTP status code associated with the error. Example: 400 - `stackTrace` (string) - `roles` (array) Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN" - `scopes` (array) ## Response 500 fields (application/json): - `message` (string) The error message providing details about the failure. Example: "Resource not found." - `errors` (object) A list of error types providing further details about the error. Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}] - `errors.correctionSuggestion` (string, required) A suggestion on how to correct the error. Example: "Try uploading a different file type." - `errors.type` (string, required) The type of error. Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE" - `status` (integer) The HTTP status code associated with the error. Example: 400 - `stackTrace` (string) - `roles` (array) Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN" - `scopes` (array)