Zeplin Webhooks API

The Webhooks API from Zeplin — 8 operation(s) for webhooks.

Operations 20

GET /v1/organizations/{organization_id}/webhooks Get organization webhooks #
POST /v1/organizations/{organization_id}/webhooks Create organization webhooks #
GET /v1/organizations/{organization_id}/webhooks/{webhook_id} Get a webhook of organization #
DELETE /v1/organizations/{organization_id}/webhooks/{webhook_id} Delete a webhook of an organization #
PATCH /v1/organizations/{organization_id}/webhooks/{webhook_id} Update organization webhooks #
GET /v1/projects/{project_id}/webhooks Get project webhooks #
POST /v1/projects/{project_id}/webhooks Create project webhooks #
GET /v1/projects/{project_id}/webhooks/{webhook_id} Get a webhook of project #
DELETE /v1/projects/{project_id}/webhooks/{webhook_id} Delete a webhook of a project #
PATCH /v1/projects/{project_id}/webhooks/{webhook_id} Update project webhooks #
GET /v1/styleguides/{styleguide_id}/webhooks Get styleguide webhooks #
POST /v1/styleguides/{styleguide_id}/webhooks Create styleguide webhooks #
GET /v1/styleguides/{styleguide_id}/webhooks/{webhook_id} Get a webhook of styleguide #
DELETE /v1/styleguides/{styleguide_id}/webhooks/{webhook_id} Delete a webhook of a styleguide #
PATCH /v1/styleguides/{styleguide_id}/webhooks/{webhook_id} Update styleguide webhooks #
GET /v1/users/me/webhooks Get user webhooks #
POST /v1/users/me/webhooks Create user webhooks #
GET /v1/users/me/webhooks/{webhook_id} Get a webhook of user #
DELETE /v1/users/me/webhooks/{webhook_id} Delete a webhook of a user #
PATCH /v1/users/me/webhooks/{webhook_id} Update user webhooks #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zeplin-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zeplin-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zeplin Authorization Webhooks API
  description: Access your resources in Zeplin
  version: 1.38.0
  contact:
    name: Zeplin
    url: https://zeplin.io
    email: support@zeplin.io
servers:
- url: https://api.zeplin.dev
security:
- PersonalAccessToken: []
- OAuth2: []
tags:
- name: Webhooks
paths:
  /v1/organizations/{organization_id}/webhooks:
    get:
      tags:
      - Webhooks
      summary: Get organization webhooks
      description: 'List all webhooks of organization


        Note: Zeplin apps can only list the webhook that are created by them.

        To list all webhooks created by any app or without app, personal access token is needed.

        '
      operationId: GetOrganizationWebhooks
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/webhook_status'
      - $ref: '#/components/parameters/url_health'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrganizationWebhook'
              examples:
                Organization Webhooks:
                  value:
                  - $ref: '#/components/examples/webhook/value'
        '403':
          $ref: '#/components/responses/cannotGetWebhook'
        '404':
          $ref: '#/components/responses/organizationNotFound'
    post:
      tags:
      - Webhooks
      summary: Create organization webhooks
      description: 'Create a webhook for the organization


        Wildcard `"*"` can be used for `project_ids` and `styleguide_ids` to receive events for all projects and styleguides that you own. You''ll also automatically subscribe to the new ones you create in the future.


        Note: Users that have authorized the app before webhooks release must re-authorize the app to create webhooks.

        '
      operationId: CreateOrganizationWebhooks
      parameters:
      - $ref: '#/components/parameters/organization_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationWebhookCreateBody'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityReference'
              examples:
                response:
                  $ref: '#/components/examples/entityReference'
        '403':
          $ref: '#/components/responses/cannotCreateOrganizationWebhook'
        '422':
          $ref: '#/components/responses/unprocessableEntityCreateWebhook'
  /v1/organizations/{organization_id}/webhooks/{webhook_id}:
    get:
      tags:
      - Webhooks
      summary: Get a webhook of organization
      description: Get a webhook by id
      operationId: GetOrganizationWebhook
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/webhook_id'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationWebhook'
              examples:
                response:
                  $ref: '#/components/examples/webhook'
        '403':
          $ref: '#/components/responses/cannotGetWebhook'
        '404':
          $ref: '#/components/responses/organizationWebhookNotFound'
    delete:
      tags:
      - Webhooks
      summary: Delete a webhook of an organization
      description: Delete a webhook by id
      operationId: DeleteOrganizationWebhook
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/webhook_id'
      responses:
        '204':
          $ref: '#/components/responses/noContent'
        '403':
          $ref: '#/components/responses/cannotDeleteOrganizationWebhook'
        '404':
          $ref: '#/components/responses/organizationWebhookNotFound'
    patch:
      tags:
      - Webhooks
      summary: Update organization webhooks
      description: Update a webhook for the organization
      operationId: UpdateOrganizationWebhooks
      parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/webhook_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationWebhookUpdateBody'
      responses:
        '204':
          $ref: '#/components/responses/noContent'
        '403':
          $ref: '#/components/responses/cannotUpdateOrganizationWebhook'
        '404':
          $ref: '#/components/responses/organizationWebhookNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityUpdateWebhook'
  /v1/projects/{project_id}/webhooks:
    get:
      tags:
      - Webhooks
      summary: Get project webhooks
      description: 'List all webhooks of the project


        Note: Zeplin apps can only list the webhook that are created by them.

        To list all webhooks created by any app or without app, personal access token is needed.

        '
      operationId: GetProjectWebhooks
      parameters:
      - $ref: '#/components/parameters/project_id'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/webhook_status'
      - $ref: '#/components/parameters/url_health'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectWebhook'
              examples:
                Project Webhooks:
                  value:
                  - $ref: '#/components/examples/projectWebhook/value'
        '403':
          $ref: '#/components/responses/cannotAccessProjectWebhook'
        '404':
          $ref: '#/components/responses/projectNotFound'
        '422':
          $ref: '#/components/responses/notAProjectMemberOrArchived'
    post:
      tags:
      - Webhooks
      summary: Create project webhooks
      description: 'Create a webhook for the project


        Note: Users that have authorized the app before webhooks release must re-authorize the app to create webhooks.

        '
      operationId: CreateProjectWebhooks
      parameters:
      - $ref: '#/components/parameters/project_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectWebhookCreateBody'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityReference'
              examples:
                response:
                  $ref: '#/components/examples/entityReference'
        '403':
          $ref: '#/components/responses/forbiddenCreateProjectWebhook'
        '404':
          $ref: '#/components/responses/projectNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityCreateProjectWebhook'
  /v1/projects/{project_id}/webhooks/{webhook_id}:
    get:
      tags:
      - Webhooks
      summary: Get a webhook of project
      description: Get a webhook by id
      operationId: GetProjectWebhook
      parameters:
      - $ref: '#/components/parameters/project_id'
      - $ref: '#/components/parameters/webhook_id'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectWebhook'
              examples:
                response:
                  $ref: '#/components/examples/projectWebhook'
        '403':
          $ref: '#/components/responses/cannotAccessProjectWebhook'
        '404':
          $ref: '#/components/responses/projectWebhookNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityProjectWebhook'
    delete:
      tags:
      - Webhooks
      summary: Delete a webhook of a project
      description: Delete a webhook by id
      operationId: DeleteProjectWebhook
      parameters:
      - $ref: '#/components/parameters/project_id'
      - $ref: '#/components/parameters/webhook_id'
      responses:
        '204':
          $ref: '#/components/responses/noContent'
        '403':
          $ref: '#/components/responses/cannotDeleteProjectWebhook'
        '404':
          $ref: '#/components/responses/projectWebhookNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityProjectWebhook'
    patch:
      tags:
      - Webhooks
      summary: Update project webhooks
      description: Update a webhook for the project
      operationId: UpdateProjectWebhooks
      parameters:
      - $ref: '#/components/parameters/project_id'
      - $ref: '#/components/parameters/webhook_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectWebhookUpdateBody'
      responses:
        '204':
          $ref: '#/components/responses/noContent'
        '403':
          $ref: '#/components/responses/cannotUpdateProjectWebhook'
        '404':
          $ref: '#/components/responses/projectWebhookNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityUpdateProjectWebhook'
  /v1/styleguides/{styleguide_id}/webhooks:
    get:
      tags:
      - Webhooks
      summary: Get styleguide webhooks
      description: 'List all webhooks of the styleguide


        Note: Zeplin apps can only list the webhook that are created by them.

        To list all webhooks created by any app or without app, personal access token is needed.

        '
      operationId: GetStyleguideWebhooks
      parameters:
      - $ref: '#/components/parameters/styleguide_id'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/webhook_status'
      - $ref: '#/components/parameters/url_health'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StyleguideWebhook'
              examples:
                Styleguide Webhooks:
                  value:
                  - $ref: '#/components/examples/styleguideWebhook/value'
        '403':
          $ref: '#/components/responses/cannotAccessStyleguideWebhook'
        '404':
          $ref: '#/components/responses/styleguideNotFound'
        '422':
          $ref: '#/components/responses/notAStyleguideMemberOrArchived'
    post:
      tags:
      - Webhooks
      summary: Create styleguide webhooks
      description: 'Create a webhook for the styleguide


        Note: Users that have authorized the app before webhooks release must re-authorize the app to create webhooks.

        '
      operationId: CreateStyleguideWebhooks
      parameters:
      - $ref: '#/components/parameters/styleguide_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StyleguideWebhookCreateBody'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityReference'
              examples:
                response:
                  $ref: '#/components/examples/entityReference'
        '403':
          $ref: '#/components/responses/forbiddenCreateStyleguideWebhook'
        '404':
          $ref: '#/components/responses/styleguideNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityCreateStyleguideWebhook'
  /v1/styleguides/{styleguide_id}/webhooks/{webhook_id}:
    get:
      tags:
      - Webhooks
      summary: Get a webhook of styleguide
      description: Get a webhook by id
      operationId: GetStyleguideWebhook
      parameters:
      - $ref: '#/components/parameters/styleguide_id'
      - $ref: '#/components/parameters/webhook_id'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StyleguideWebhook'
              examples:
                response:
                  $ref: '#/components/examples/styleguideWebhook'
        '403':
          $ref: '#/components/responses/cannotAccessStyleguideWebhook'
        '404':
          $ref: '#/components/responses/styleguideWebhookNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityStyleguideWebhook'
    delete:
      tags:
      - Webhooks
      summary: Delete a webhook of a styleguide
      description: Delete a webhook by id
      operationId: DeleteStyleguideWebhook
      parameters:
      - $ref: '#/components/parameters/styleguide_id'
      - $ref: '#/components/parameters/webhook_id'
      responses:
        '204':
          $ref: '#/components/responses/noContent'
        '403':
          $ref: '#/components/responses/cannotDeleteStyleguideWebhook'
        '404':
          $ref: '#/components/responses/styleguideWebhookNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityStyleguideWebhook'
    patch:
      tags:
      - Webhooks
      summary: Update styleguide webhooks
      description: Update a webhook for the styleguide
      operationId: UpdateStyleguideWebhooks
      parameters:
      - $ref: '#/components/parameters/styleguide_id'
      - $ref: '#/components/parameters/webhook_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StyleguideWebhookUpdateBody'
      responses:
        '204':
          $ref: '#/components/responses/noContent'
        '403':
          $ref: '#/components/responses/cannotUpdateStyleguideWebhook'
        '404':
          $ref: '#/components/responses/styleguideWebhookNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityUpdateStyleguideWebhook'
  /v1/users/me/webhooks:
    get:
      tags:
      - Webhooks
      summary: Get user webhooks
      description: 'List all webhooks of the user


        Note: Zeplin apps can only list the webhook that are created by them.

        To list all webhooks created by any app or without app, personal access token is needed.

        '
      operationId: GetUserWebhooks
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/webhook_status'
      - $ref: '#/components/parameters/url_health'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserWebhook'
              examples:
                User Webhooks:
                  value:
                  - $ref: '#/components/examples/webhook/value'
    post:
      tags:
      - Webhooks
      summary: Create user webhooks
      description: 'Create a webhook for the user


        Wildcard `"*"` can be used for `project_ids` and `styleguide_ids` to receive events for all projects and styleguides that you own. You''ll also automatically subscribe to the new ones you create in the future.


        Note: Users that have authorized the app before webhooks release must re-authorize the app to create webhooks.

        '
      operationId: CreateUserWebhooks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserWebhookCreateBody'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityReference'
              examples:
                response:
                  $ref: '#/components/examples/entityReference'
        '403':
          $ref: '#/components/responses/cannotCreateUserWebhook'
        '422':
          $ref: '#/components/responses/unprocessableEntityCreateWebhook'
  /v1/users/me/webhooks/{webhook_id}:
    get:
      tags:
      - Webhooks
      summary: Get a webhook of user
      description: Get a webhook by id
      operationId: GetUserWebhook
      parameters:
      - $ref: '#/components/parameters/webhook_id'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserWebhook'
              examples:
                response:
                  $ref: '#/components/examples/webhook'
        '404':
          $ref: '#/components/responses/userWebhookNotFound'
    delete:
      tags:
      - Webhooks
      summary: Delete a webhook of a user
      description: Delete a webhook by id
      operationId: DeleteUserWebhook
      parameters:
      - $ref: '#/components/parameters/webhook_id'
      responses:
        '204':
          $ref: '#/components/responses/noContent'
        '403':
          $ref: '#/components/responses/cannotDeleteUserWebhook'
        '404':
          $ref: '#/components/responses/userWebhookNotFound'
    patch:
      tags:
      - Webhooks
      summary: Update user webhooks
      description: Update a webhook for the user
      operationId: UpdateUserWebhooks
      parameters:
      - $ref: '#/components/parameters/webhook_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserWebhookUpdateBody'
      responses:
        '204':
          $ref: '#/components/responses/noContent'
        '403':
          $ref: '#/components/responses/cannotUpdateUserWebhook'
        '404':
          $ref: '#/components/responses/userWebhookNotFound'
        '422':
          $ref: '#/components/responses/unprocessableEntityUpdateWebhook'
components:
  examples:
    entityReference:
      summary: Object Reference
      value:
        id: 5dbad85a76ea51c1f35b6f69
    webhook:
      summary: Webhook
      value:
        id: 5dbad85a76ea51c1f35b6f69
        name: my lovely hook
        status: active
        created: 1586852836
        created_by:
          id: 5d9caaecb4a3fa9bc9718686
          email: 5d9caaecb4a3fa9bc9718686@user.zeplin.
        updated: 1586852836
        updated_by:
          id: 5d9caaecb4a3fa9bc9718686
          email: 5d9caaecb4a3fa9bc9718686@user.zeplin.io
        url: https://www.example.com/base
        url_health: healthy
        events:
        - '*'
        project_ids:
        - '*'
        styleguide_ids:
        - '*'
    projectWebhook:
      summary: Project Webhook
      value:
        id: 5dbad85a76ea51c1f35b6f69
        name: my lovely hook
        status: active
        created: 1586852836
        created_by:
          id: 5d9caaecb4a3fa9bc9718686
          email: 5d9caaecb4a3fa9bc9718686@user.zeplin.io
        updated: 1586852836
        updated_by:
          id: 5d9caaecb4a3fa9bc9718686
          email: 5d9caaecb4a3fa9bc9718686@user.zeplin.io
        url: https://www.example.com/base
        url_health: healthy
        events:
        - project.screen
    user:
      summary: User
      value:
        id: 5d9caaecb4a3fa9bc9718686
        email: 5d9caaecb4a3fa9bc9718686@user.zeplin.io
        username: zozo
        emotar: 🍎
        avatar: http://placekitten.com/200/300
        last_seen: 1616739240
    error:
      summary: Error
      value:
        message: Project is not found
    styleguideWebhook:
      summary: Styleguide Webhook
      value:
        id: 5dbad85a76ea51c1f35b6f69
        name: my lovely hook
        status: active
        created: 1586852836
        created_by:
          id: 5d9caaecb4a3fa9bc9718686
          email: 5d9caaecb4a3fa9bc9718686@user.zeplin.io
        updated: 1586852836
        updated_by:
          id: 5d9caaecb4a3fa9bc9718686
          email: 5d9caaecb4a3fa9bc9718686@user.zeplin.io
        url: https://www.example.com/base
        url_health: healthy
        events:
        - styleguide.color
    zeplinApplication:
      summary: Zeplin Application
      value:
        id: 5dbad85a76ea51c1f35b6f69
        name: My App
        description: Simple app
        website: https://zeplin.io/
        logo: http://placekitten.com/32/32
    me:
      summary: My user
      value:
        id: 5d9caaecb4a3fa9bc9718686
        email: zo@zeplin.io
        username: zozo
        emotar: 🍎
        avatar: http://placekitten.com/200/300
        last_seen: 1616739240
  schemas:
    UserWebhookUpdateBody:
      title: User Webhook Update Body
      type: object
      properties:
        url:
          type: string
          description: The URL of the webhook
        name:
          type: string
          description: The name of the webhook
        secret:
          type: string
          description: The secret to be used to generate signatures for webhook requests
        status:
          title: status
          $ref: '#/components/schemas/WebhookStatusEnum'
        project_ids:
          type: array
          items:
            type: string
          uniqueItems: true
          description: The project ids of the webhook
        styleguide_ids:
          type: array
          items:
            type: string
          uniqueItems: true
          description: The styleguide ids of the webhook
        events:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/UserWebhookEventEnum'
          minItems: 1
          description: The events of the webhook
    ProjectWebhookCreateBody:
      title: Project Webhook Create Body
      type: object
      properties:
        url:
          type: string
          description: The URL of the webhook
        name:
          type: string
          description: The name of the webhook
        secret:
          type: string
          description: The secret to be used to generate signatures for webhook requests
        status:
          title: status
          allOf:
          - $ref: '#/components/schemas/WebhookStatusEnum'
          - default: active
        events:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/ProjectWebhookEventEnum'
          minItems: 1
          description: The events of the webhook
      required:
      - events
      - url
      - secret
    StyleguideWebhookCreateBody:
      title: Styleguide Webhook Create Body
      type: object
      properties:
        url:
          type: string
          description: The URL of the webhook
        name:
          type: string
          description: The name of the webhook
        secret:
          type: string
          description: The secret to be used to generate signatures for webhook requests
        status:
          title: status
          allOf:
          - $ref: '#/components/schemas/WebhookStatusEnum'
          - default: active
        events:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/StyleguideWebhookEventEnum'
          minItems: 1
          description: The events of the webhook
      required:
      - events
      - url
      - secret
    WebhookHealthEnum:
      title: Webhook Health
      type: string
      enum:
      - healthy
      - unhealthy
      description: The health of a webhook URL
    OrganizationWebhookCreateBody:
      title: Organization Webhook Create Body
      type: object
      properties:
        url:
          type: string
          description: The URL of the webhook
        name:
          type: string
          description: The name of the webhook
        secret:
          type: string
          description: The secret to be used to generate signatures for webhook requests
        status:
          title: status
          allOf:
          - $ref: '#/components/schemas/WebhookStatusEnum'
          - default: active
        project_ids:
          type: array
          items:
            type: string
          uniqueItems: true
          description: The project ids of the webhook
        styleguide_ids:
          type: array
          items:
            type: string
          uniqueItems: true
          description: The styleguide ids of the webhook
        events:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/OrganizationWebhookEventEnum'
          minItems: 1
          description: The events of the webhook
      required:
      - events
      - project_ids
      - styleguide_ids
      - url
      - secret
    EntityReference:
      title: Object Reference
      type: object
      required:
      - id
      properties:
        id:
          type: string
          description: Id of the entity
      example:
        $ref: '#/components/examples/entityReference'
    ProjectWebhookEventEnum:
      title: Project Webhook Event Type
      type: string
      enum:
      - project.*
      - project.color
      - project.component
      - project.member
      - project.note
      - project.note.comment
      - project.note.comment.reaction
      - project.screen
      - project.screen.version
      - project.spacing_token
      - project.text_style
      - project.flow_board
    ProjectWebhookUpdateBody:
      title: Project Webhook Update Body
      type: object
      properties:
        url:
          type: string
          description: The URL of the webhook
        name:
          type: string
          description: The name of the webhook
        secret:
          type: string
          description: The secret to be used to generate signatures for webhook requests
        status:
          title: status
          $ref: '#/components/schemas/WebhookStatusEnum'
        events:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/ProjectWebhookEventEnum'
          minItems: 1
          description: The events of the webhook
    ZeplinApplication:
      title: Zeplin Application
      type: object
      required:
      - id
      - name
      properties:
        id:
          type: string
          description: The unique id of the app
        name:
          type: string
          description: The name of the app
        description:
          type: string
          description: The description of the app
        website:
          type: string
          description: The website of the app
        logo:
          type: string
          description: The logo of the app
      example:
        $ref: '#/components/examples/zeplinApplication'
    WebhookStatusEnum:
      title: Webhook Status
      type: string
      enum:
      - active
      - inactive
      description: The status of the webhook
    StyleguideWebhook:
      title: Styleguide Webhook
      type: object
      required:
      - id
      - url
      - status
      - url_health
      - created
      - updated
      - created_by
      - updated_by
      - events
      properties:
        id:
          type: string
          description: The unique id of the webhook
        url:
          type: string
          description: The URL of the webhook
        name:
          type: string
          description: The name of the webhook
        status:
          $ref: '#/components/schemas/WebhookStatusEnum'
        url_health:
          $ref: '#/components/schemas/WebhookHealthEnum'
        created:
          type: number
          description: The unix timestamp when the webhook was created
        updated:
          type: number
          description: The unix timestamp when the webhook was updated
        created_by:
          allOf:
          - $ref: '#/components/schemas/User'
          - description: The user that creates the webhook
        updated_by:
          allOf:
          - $ref: '#/components/schemas/User'
          - description: The user that updates the webhook recently
        zeplin_app:
          allOf:
          - $ref: '#/components/schemas/ZeplinApplication'
          - description: The app that uses and manages the webhook
        events:
          type: array
          items:
            $ref: '#/components/schemas/StyleguideWebhookEventEnum'
          minItems: 1
          uniqueItems: true
          description: The events of the webhook
      example:
        $ref: '#/components/examples/styleguideWebhook'
    OrganizationWebhook:
      title: Organization Webhook
      type: object
      required:
      - id
      - url
      - status
      - url_health
      - created
      - updated
      - created_by
      - updated_by
      - events
      - project_ids
      - styleguide_ids
      properties:
        id:
          type: string
          description: The unique id of the webhook
        url:
          type: string
          description: The URL of the webhook
        name:
          type: string
          description: The name of the webhook
        status:
          $ref: '#/components/schemas/WebhookStatusEnum'
        url_health:
          $ref: '#/components/schemas/WebhookHealthEnum'
        created:
          type: number
          description: The unix timestamp when the webhook was created
        updated:
          type: number
          description: The unix timestamp when the webhook was updated
        created_by:
          allOf:
          - $ref: '#/components/schemas/User'
          - description: The user that creates the webhook
        updated_by:
          allOf:
          - $ref: '#/components/schemas/User'
          - description: The user that updates the webhook recently
        zeplin_app:
          allOf:
          - $ref: '#/components/schemas/ZeplinApplication'
          - description: The app that uses and manages the webhook
        events:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationWebhookEventEnum'
          minItems: 1
          uniqueItems: true
          description: The events of the webhook
        project_ids:
          type: array
          items:
            type: string
          uniqueItems: true
          description: 'The project ids of the webhooks. Note: `*` wildcard denotes all project_ids'
        styleguide_ids:
          type: array
          items:
            type: string
          uniqueItems: true
          description: 'The styleguide ids of the webhooks. Note: `*` wildcard denotes all styleguide_ids'
      example:
        $ref: '#/components/examples/webhook'
    UserWebhookEventEnum:
      title: User Webhook Event Type
      type: string
      enum:
      - '*'
      - project.*
      - project.color
      - project.component
      - project.member
      - project.note
      - project.note.comment
      - project.note.comment.reaction
      - project.screen
      - project.screen.version
      - project.spacing_token
      - project.text_style
      - styleguide.*
      - styleguide.color
      - styleguide.component
      - styleguide.member
      - styleguide.spacing_token
      - styleguide.text_style
      - workspace.*
      - workspace.notification
      - workspace.project
      - workspace.styleguide
    UserWebhook:
      title: User Webhook
      type: object
      required:
      - id
      - url
      - status
      - url_health
      - created
      - updated
      - created_by
      - updated_by
      - events
      - project_ids
      - styleguide_ids
      properties:
        id:
          type: string
          description: The unique id of the webhook
        url:
          type: string
          description: The URL of the webhook
        name:
          type: string
          description: The name of the webhook
        status:
          $ref: '#/components/schemas/WebhookStatusEnum'
        url_health:
          $ref: '#/components/schemas/WebhookHealthEnum'
        created:
    

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zeplin/refs/heads/main/openapi/zeplin-webhooks-api-openapi.yml