Gitpod gitpod.v1.WebhookService API

The gitpod.v1.WebhookService API from Gitpod — 8 operation(s) for gitpod.v1.webhookservice.

Operations 8

POST /gitpod.v1.WebhookService/CreateWebhook CreateWebhook #
POST /gitpod.v1.WebhookService/DeleteWebhook DeleteWebhook #
POST /gitpod.v1.WebhookService/GetWebhook GetWebhook #
POST /gitpod.v1.WebhookService/GetWebhookSecret GetWebhookSecret #
POST /gitpod.v1.WebhookService/ListWebhookWorkflows ListWebhookWorkflows #
POST /gitpod.v1.WebhookService/ListWebhooks ListWebhooks #
POST /gitpod.v1.WebhookService/RotateWebhookSecret RotateWebhookSecret #
POST /gitpod.v1.WebhookService/UpdateWebhook UpdateWebhook #

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/gitpod-gitpod-v1-webhookservice-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

gitpod-gitpod-v1-webhookservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: gitpod.v1 gitpod.v1.AccountService Gitpod.v1.Webhook Service API
  version: v1.0.0
servers:
- url: https://api.gitpod.io
  description: Gitpod API
tags:
- name: gitpod.v1.WebhookService
  x-displayName: gitpod.v1.WebhookService
paths:
  /gitpod.v1.WebhookService/CreateWebhook:
    servers: []
    post:
      description: "Creates a new webhook for receiving SCM events.\n\n Use this method to:\n - Set up webhooks for repository or organization events\n - Configure webhook scopes and provider\n\n ### Examples\n\n - Create repository webhook with multiple scopes:\n\n   Creates a webhook scoped to specific repositories.\n\n   ```yaml\n   name: \"My Repo Webhook\"\n   type: WEBHOOK_TYPE_SCM_REPOSITORY\n   scopes:\n     - host: \"github.com\"\n       owner: \"gitpod-io\"\n       name: \"gitpod\"\n     - host: \"github.com\"\n       owner: \"gitpod-io\"\n       name: \"gitpod-next\"\n   provider: WEBHOOK_PROVIDER_GITHUB\n   ```\n\n - Create organization webhook:\n\n   Creates a webhook scoped to all repositories in an organization.\n\n   ```yaml\n   name: \"Org Webhook\"\n   type: WEBHOOK_TYPE_SCM_ORGANIZATION\n   organizationScope:\n     host: \"github.com\"\n     name: \"gitpod-io\"\n   provider: WEBHOOK_PROVIDER_GITHUB\n   ```"
      operationId: gitpod.v1.WebhookService.CreateWebhook
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              create_organization_webhook:
                description: Creates a webhook scoped to all repositories in an organization.
                value:
                  name: Org Webhook
                  organizationScope:
                    host: github.com
                    name: gitpod-io
                  provider: WEBHOOK_PROVIDER_GITHUB
                  type: WEBHOOK_TYPE_SCM_ORGANIZATION
              create_repository_webhook_with_multiple_scopes:
                description: Creates a webhook scoped to specific repositories.
                value:
                  name: My Repo Webhook
                  provider: WEBHOOK_PROVIDER_GITHUB
                  scopes:
                  - host: github.com
                    name: gitpod
                    owner: gitpod-io
                  - host: github.com
                    name: gitpod-next
                    owner: gitpod-io
                  type: WEBHOOK_TYPE_SCM_REPOSITORY
            schema:
              $ref: '#/components/schemas/gitpod.v1.CreateWebhookRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.CreateWebhookResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: CreateWebhook
      tags:
      - gitpod.v1.WebhookService
  /gitpod.v1.WebhookService/DeleteWebhook:
    servers: []
    post:
      description: "Deletes a webhook permanently.\n\n Use this method to:\n - Remove unused webhooks\n - Clean up webhook configurations\n\n ### Examples\n\n - Delete webhook:\n\n   Permanently removes a webhook.\n\n   ```yaml\n   webhookId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   ```"
      operationId: gitpod.v1.WebhookService.DeleteWebhook
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              delete_webhook:
                description: Permanently removes a webhook.
                value:
                  webhookId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.DeleteWebhookRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.DeleteWebhookResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: DeleteWebhook
      tags:
      - gitpod.v1.WebhookService
  /gitpod.v1.WebhookService/GetWebhook:
    servers: []
    post:
      description: "Gets details about a specific webhook.\n\n Use this method to:\n - View webhook configuration\n - Check webhook URL\n - See bound workflow count\n\n ### Examples\n\n - Get webhook details:\n\n   Retrieves information about a specific webhook.\n\n   ```yaml\n   webhookId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   ```"
      operationId: gitpod.v1.WebhookService.GetWebhook
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_webhook_details:
                description: Retrieves information about a specific webhook.
                value:
                  webhookId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetWebhookRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetWebhookResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetWebhook
      tags:
      - gitpod.v1.WebhookService
  /gitpod.v1.WebhookService/GetWebhookSecret:
    servers: []
    post:
      description: "Gets the webhook secret for signature validation.\n\n This operation is audited for security purposes.\n\n Use this method to:\n - Retrieve webhook secret for SCM configuration\n - Verify webhook signatures\n\n ### Examples\n\n - Get webhook secret:\n\n   Retrieves the webhook secret.\n\n   ```yaml\n   webhookId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   ```"
      operationId: gitpod.v1.WebhookService.GetWebhookSecret
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              get_webhook_secret:
                description: Retrieves the webhook secret.
                value:
                  webhookId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.GetWebhookSecretRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.GetWebhookSecretResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: GetWebhookSecret
      tags:
      - gitpod.v1.WebhookService
  /gitpod.v1.WebhookService/ListWebhookWorkflows:
    servers: []
    post:
      description: "Lists workflows bound to a webhook.\n\n Use this method to:\n - View all workflows triggered by a webhook\n - Check workflow bindings\n\n ### Examples\n\n - List webhook workflows:\n\n   Shows all workflows bound to a webhook.\n\n   ```yaml\n   webhookId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.WebhookService.ListWebhookWorkflows
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            examples:
              list_webhook_workflows:
                description: Shows all workflows bound to a webhook.
                value:
                  pagination:
                    pageSize: 20
                  webhookId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListWebhookWorkflowsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListWebhookWorkflowsResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListWebhookWorkflows
      tags:
      - gitpod.v1.WebhookService
  /gitpod.v1.WebhookService/ListWebhooks:
    servers: []
    post:
      description: "Lists webhooks with optional filtering.\n\n Use this method to:\n - View all webhooks in an organization\n - Filter webhooks by type or provider\n\n ### Examples\n\n - List all webhooks:\n\n   Shows all webhooks with pagination.\n\n   ```yaml\n   pagination:\n     pageSize: 20\n   ```"
      operationId: gitpod.v1.WebhookService.ListWebhooks
      parameters:
      - in: query
        name: pageSize
        schema:
          default: 25
          maximum: 100
          minimum: 0
          type: integer
      - in: query
        name: token
        schema:
          default: ''
          type: string
      requestBody:
        content:
          application/json:
            examples:
              list_all_webhooks:
                description: Shows all webhooks with pagination.
                value:
                  pagination:
                    pageSize: 20
            schema:
              $ref: '#/components/schemas/gitpod.v1.ListWebhooksRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.ListWebhooksResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: ListWebhooks
      tags:
      - gitpod.v1.WebhookService
  /gitpod.v1.WebhookService/RotateWebhookSecret:
    servers: []
    post:
      description: "Rotates the webhook secret.\n\n Use this method to:\n - Generate a new webhook secret\n - Invalidate the old webhook secret\n\n ### Examples\n\n - Rotate webhook secret:\n\n   Generates a new webhook secret.\n\n   ```yaml\n   webhookId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   ```"
      operationId: gitpod.v1.WebhookService.RotateWebhookSecret
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              rotate_webhook_secret:
                description: Generates a new webhook secret.
                value:
                  webhookId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.RotateWebhookSecretRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.RotateWebhookSecretResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: RotateWebhookSecret
      tags:
      - gitpod.v1.WebhookService
  /gitpod.v1.WebhookService/UpdateWebhook:
    servers: []
    post:
      description: "Updates a webhook's configuration.\n\n Use this method to:\n - Change webhook name or description\n - Change webhook scopes (the target repositories or organization)\n\n Note: The webhook type and provider cannot be changed after creation.\n\n ### Examples\n\n - Update webhook name:\n\n   Changes the webhook's display name.\n\n   ```yaml\n   webhookId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   name: \"Updated Webhook Name\"\n   ```\n\n - Update webhook scopes:\n\n   Changes the webhook's target repositories.\n\n   ```yaml\n   webhookId: \"b0e12f6c-4c67-429d-a4a6-d9838b5da047\"\n   scopes:\n     - host: \"github.com\"\n       owner: \"gitpod-io\"\n       name: \"new-repo\"\n   ```"
      operationId: gitpod.v1.WebhookService.UpdateWebhook
      parameters: []
      requestBody:
        content:
          application/json:
            examples:
              update_webhook_name:
                description: Changes the webhook's display name.
                value:
                  name: Updated Webhook Name
                  webhookId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
              update_webhook_scopes:
                description: Changes the webhook's target repositories.
                value:
                  scopes:
                  - host: github.com
                    name: new-repo
                    owner: gitpod-io
                  webhookId: b0e12f6c-4c67-429d-a4a6-d9838b5da047
            schema:
              $ref: '#/components/schemas/gitpod.v1.UpdateWebhookRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gitpod.v1.UpdateWebhookResponse'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/connect.error'
          description: Error
      security:
      - bearerAuth: []
      summary: UpdateWebhook
      tags:
      - gitpod.v1.WebhookService
components:
  schemas:
    gitpod.v1.Principal:
      enum:
      - PRINCIPAL_UNSPECIFIED
      - PRINCIPAL_ACCOUNT
      - PRINCIPAL_USER
      - PRINCIPAL_RUNNER
      - PRINCIPAL_ENVIRONMENT
      - PRINCIPAL_SERVICE_ACCOUNT
      - PRINCIPAL_RUNNER_MANAGER
      title: Principal
      type: string
    gitpod.v1.WorkflowStep.Report.IntegerSchema:
      additionalProperties: false
      properties:
        max:
          format: int32
          title: max
          type:
          - integer
          - 'null'
        min:
          format: int32
          title: min
          type:
          - integer
          - 'null'
      title: IntegerSchema
      type: object
    gitpod.v1.GetWebhookResponse:
      additionalProperties: false
      properties:
        webhook:
          $ref: '#/components/schemas/gitpod.v1.Webhook'
          title: webhook
      title: GetWebhookResponse
      type: object
    gitpod.v1.Workflow.Metadata:
      additionalProperties: false
      description: WorkflowMetadata contains workflow metadata.
      properties:
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: created_at
        creator:
          $ref: '#/components/schemas/gitpod.v1.Subject'
          title: creator
        description:
          maxLength: 500
          title: description
          type: string
        executor:
          $ref: '#/components/schemas/gitpod.v1.Subject'
          title: executor
        name:
          maxLength: 80
          minLength: 1
          title: name
          type: string
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          title: updated_at
      title: Metadata
      type: object
    gitpod.v1.WorkflowStep.Agent:
      additionalProperties: false
      description: WorkflowAgentStep represents an agent step that executes with a prompt.
      properties:
        prompt:
          description: 'Prompt must be between 1 and 20,000 characters:

            ```

            size(this) >= 1 && size(this) <= 20000

            ```


            '
          title: prompt
          type: string
      title: Agent
      type: object
    gitpod.v1.WorkflowAction:
      additionalProperties: false
      description: WorkflowAction defines the actions to be executed in a workflow.
      properties:
        limits:
          $ref: '#/components/schemas/gitpod.v1.WorkflowAction.Limits'
          title: limits
        steps:
          description: 'Automation must have between 1 and 50 steps:

            ```

            size(this) >= 1 && size(this) <= 50

            ```


            '
          items:
            $ref: '#/components/schemas/gitpod.v1.WorkflowStep'
          title: steps
          type: array
      required:
      - limits
      title: WorkflowAction
      type: object
    gitpod.v1.WorkflowTrigger:
      additionalProperties: false
      description: "WorkflowTrigger defines when a workflow should be executed.\n\n Each trigger type defines a specific condition that will cause the workflow to execute:\n - Manual: Triggered explicitly by user action via StartWorkflow RPC\n - Time: Triggered automatically based on cron schedule\n - PullRequest: Triggered automatically when specified PR events occur\n\n Trigger Semantics:\n - Each trigger instance can create multiple workflow executions\n - Multiple triggers of the same workflow can fire simultaneously\n - Each trigger execution is independent and tracked separately\n - Triggers are evaluated in the context specified by WorkflowTriggerContext"
      oneOf:
      - not:
          anyOf:
          - required:
            - pullRequest
          - required:
            - time
        required:
        - manual
      - not:
          anyOf:
          - required:
            - manual
          - required:
            - time
        required:
        - pullRequest
      - not:
          anyOf:
          - required:
            - manual
          - required:
            - pullRequest
        required:
        - time
      properties:
        context:
          $ref: '#/components/schemas/gitpod.v1.WorkflowTriggerContext'
          title: context
        manual:
          $ref: '#/components/schemas/gitpod.v1.WorkflowTrigger.Manual'
          title: manual
        pullRequest:
          $ref: '#/components/schemas/gitpod.v1.WorkflowTrigger.PullRequest'
          title: pull_request
        time:
          $ref: '#/components/schemas/gitpod.v1.WorkflowTrigger.Time'
          title: time
      required:
      - context
      title: WorkflowTrigger
      type: object
    gitpod.v1.WorkflowTriggerContext.Repositories.RepositorySelector:
      additionalProperties: false
      description: "RepositorySelector defines how to select repositories for workflow execution.\n Combines a search string with an SCM host to identify repositories."
      properties:
        repoSearchString:
          description: "Search string to match repositories using SCM-specific search patterns.\n For GitHub: supports GitHub search syntax (e.g., \"org:gitpod-io language:go\", \"user:octocat stars:>100\")\n For GitLab: supports GitLab search syntax\n See SCM provider documentation for supported search patterns."
          minLength: 1
          title: repo_search_string
          type: string
        scmHost:
          description: SCM host where the search should be performed (e.g., "github.com", "gitlab.com")
          minLength: 1
          title: scm_host
          type: string
      title: RepositorySelector
      type: object
    gitpod.v1.ListWebhookWorkflowsRequest:
      additionalProperties: false
      description: ListWebhookWorkflowsRequest lists workflows bound to a webhook.
      properties:
        pagination:
          $ref: '#/components/schemas/gitpod.v1.PaginationRequest'
          title: pagination
        webhookId:
          format: uuid
          title: webhook_id
          type: string
      title: ListWebhookWorkflowsRequest
      type: object
    gitpod.v1.WorkflowTriggerContext.FromTrigger:
      additionalProperties: false
      description: "Use context derived from the trigger event.\n Currently only supported for PullRequest triggers - uses PR repository context."
      title: FromTrigger
      type: object
    gitpod.v1.Webhook.Metadata:
      additionalProperties: false
      description: Metadata contains organizational and ownership information.
      properties:
        createdAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: created_at is when the webhook was created
          title: created_at
        creator:
          $ref: '#/components/schemas/gitpod.v1.Subject'
          description: creator is the identity of who created the webhook
          title: creator
        description:
          description: description is an optional description of the webhook's purpose
          title: description
          type: string
        name:
          description: name is the display name of the webhook
          title: name
          type: string
        organizationId:
          description: organization_id is the ID of the organization that owns this webhook
          format: uuid
          title: organization_id
          type: string
        updatedAt:
          $ref: '#/components/schemas/google.protobuf.Timestamp'
          description: updated_at is when the webhook was last updated
          title: updated_at
      title: Metadata
      type: object
    gitpod.v1.PaginationResponse:
      additionalProperties: false
      properties:
        nextToken:
          description: "Token passed for retrieving the next set of results. Empty if there are no\n more results"
          title: next_token
          type: string
      title: PaginationResponse
      type: object
    gitpod.v1.WorkflowAction.Limits.PerExecution:
      additionalProperties: false
      description: PerExecution defines limits per execution action.
      properties:
        maxTime:
          $ref: '#/components/schemas/google.protobuf.Duration'
          description: "Maximum time allowed for a single execution action.\n Use standard duration format (e.g., \"30m\" for 30 minutes, \"2h\" for 2 hours)."
          title: max_time
      title: PerExecution
      type: object
    gitpod.v1.RotateWebhookSecretRequest:
      additionalProperties: false
      description: RotateWebhookSecretRequest rotates the webhook secret.
      properties:
        webhookId:
          format: uuid
          title: webhook_id
          type: string
      title: RotateWebhookSecretRequest
      type: object
    gitpod.v1.GetWebhookRequest:
      additionalProperties: false
      description: GetWebhookRequest gets details about a specific webhook.
      properties:
        webhookId:
          format: uuid
          title: webhook_id
          type: string
      title: GetWebhookRequest
      type: object
    connect.error:
      additionalProperties: true
      description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
      properties:
        code:
          description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
          enum:
          - canceled
          - unknown
          - invalid_argument
          - deadline_exceeded
          - not_found
          - already_exists
          - permission_denied
          - resource_exhausted
          - failed_precondition
          - aborted
          - out_of_range
          - unimplemented
          - internal
          - unavailable
          - data_loss
          - unauthenticated
          example:
          - not_found
          type: string
        message:
          description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
          type: string
      title: Connect Error
      type: object
    gitpod.v1.WebhookType:
      description: WebhookType determines the scope level of the webhook.
      enum:
      - WEBHOOK_TYPE_UNSPECIFIED
      - WEBHOOK_TYPE_SCM_REPOSITORY
      - WEBHOOK_TYPE_SCM_ORGANIZATION
      title: WebhookType
      type: string
    gitpod.v1.CreateWebhookResponse:
      additionalProperties: false
      properties:
        webhook:
          $ref: '#/components/schemas/gitpod.v1.Webhook'
          title: webhook
      title: CreateWebhookResponse
      type: object
    gitpod.v1.WorkflowStep.Report:
      additionalProperties: false
      properties:
        outputs:
          description: 'Report must have at least one output:

            ```

            size(this) >= 1

            ```


            '
          items:
            $ref: '#/components/schemas/gitpod.v1.WorkflowStep.Report.OutputSpec'
          title: outputs
          type: array
      title: Report
      type: object
    gitpod.v1.WorkflowStep.Report.StringSchema:
      additionalProperties: false
      properties:
        pattern:
          title: pattern
          type: string
      title: StringSchema
      type: object
    gitpod.v1.WorkflowTriggerContext.Projects:
      additionalProperties: false
      description: "Execute workflow in specific project environments.\n Creates environments for each specified project."
      properties:
        projectIds:
          items:
            format: uuid
            maxItems: 25
            type: string
          maxItems: 25
          title: project_ids
          type: array
      title: Projects
      type: object
    gitpod.v1.PaginationRequest:
      additionalProperties: false
      properties:
        pageSize:
          description: "Page size is the maximum number of results to retrieve per page.\n Defaults to 25. Maximum 100."
          format: int32
          maximum: 100
          title: page_size
          type: integer
        token:
          description: "Token for the next set of results that was returned as next_token of a\n PaginationResponse"
          title: token
          type: string
      title: PaginationRequest
      type: object
    gitpod.v1.ListWebhooksRequest.Filter:
      additionalProperties: false
      properties:
        providers:
          description: providers filters by webhook provider
          items:
            $ref: '#/components/schemas/gitpod.v1.WebhookProvider'
          maxItems: 5
          title: providers
          type: array
        types:
          description: types filters by webhook type
          items:
            $ref: '#/components/schemas/gitpod.v1.WebhookType'
          maxItems: 5
          title: types
          type: array
        webhookIds:
          description: webhook_ids filters by specific webhook IDs
          items:
            format: uuid
            maxItems: 25
            type: string
          maxItems: 25
          title: webhook_ids
          type: array
      title: Filter
      type: object
    gitpod.v1.Workflow:
      additionalProperties: false
      description: Workflow represents a workflow configuration.
      properties:
        id:
          format: uuid
          title: id
          type: string
        metadata:
          $ref: '#/components/schemas/gitpod.v1.Workflow.Metadata'
          title: metadata
        spec:
          $ref: '#/components/schemas/gitpod.v1.Workflow.Spec'
          title: spec
        webhookUrl:
          description: "Webhook URL for triggering this workflow via HTTP POST\n Format: {base_url}/workflows/{workflow_id}/webhooks"
          title: webhook_url
          type: string
      title: Workflow
      type: object
    gitpod.v1.WorkflowTriggerContext:
      additionalProperties: false
      description: "WorkflowTriggerContext defines the context in which a workflow should run.\n\n Context determines where and how the workflow executes:\n - Projects: Execute in specific project environments\n - Repositories: Execute in environments created from repository URLs\n - Agent: Execute in agent-managed environments with custom prompts\n - FromTrigger: Use context derived from the trigger event (PR-specific)\n\n Context Usage by Trigger Type:\n - Manual: Can use any context type\n - Time: Typically uses Projects or Repositories context\n - PullRequest: Can use any context, FromTrigger uses PR repository context"
      oneOf:
      - not:
          anyOf:
          - required:
            - fromTrigger
          - required:
            - projects
          - required:
            - repositories
        required:
        - agent
      - not:
          anyOf:
          - required:
            - agent
          - required:
            - projects
          - required:
            - repositories
        required:
        - fromTrigger
      - not:
          anyOf:
          - required:
            - agent
          - required:
            - fromTrigger
          - required:
            - repositories
        required:
        - projects
      - not:
          anyOf:
          - required:
            - agent
          - required:
            - fromTrigger
          - required:
            - projects
        required:
        - repositories
      properties:
        agent:
          $ref: '#/components/schemas/gitpod.v1.WorkflowTriggerContext.Agent'
          title: agent
        fromTrigger:
          $ref: '#/components/schemas/gitpod.v1.WorkflowTriggerContext.FromTrigger'
          title: from_trigger
        projects:
          $ref: '#/components/schemas/gitpod.v1.WorkflowTriggerContext.Projects'
          title: projects
        repositories:
          $ref: '#/components/schemas/gitpod.v1.WorkflowTriggerContext.Repositories'
          title: repositories
      title: WorkflowTriggerContext
      type: object
    gitpod.v1.WorkflowTriggerContext.Repositories.RepositoryURLs:
      additionalProperties: false
      description: "RepositoryURLs contains a list of explicit repository URLs.\n Creates one action per repository URL."
      properties:
        repoUrls:
          items:
            maxItems: 100
            minItems: 1
            minLength: 1
            type: string
          maxItems: 100
          minItems: 1
          title: repo_urls
          type: array
      title: RepositoryURLs
      type: object
    gitpod.v1.RotateWebhookSecretResponse:
      additionalProperties: false
      properties:
        secret:
          description: The new webhook secret (decrypted)
          title: secret
          type: string
      title: RotateWebhookSecretResponse
      type: object
    google.protobuf.Duration:
      description: "A Duration represents a signed, fixed-length span of time represented\n as a count of seconds and fractions of seconds at nanosecond\n resolution. It is independent of any calendar and concepts like \"day\"\n or \"month\". It is related to Timestamp in that the difference between\n two Timestamp values is a Duration and it can be added or subtracted\n from a Timestamp. Range is approximately +-10,000 years.\n\n # Examples\n\n Example 1: Compute Duration from two Timestamps in pseudo code.\n\n     Timestamp start = ...;\n     Timestamp end = ...;\n     Duration duration = ...;\n\n     duration.seconds = end.seconds - start.seconds;\n     duration.nanos = end.nanos - start.nanos;\n\n     if (duration.seconds < 0 && duration.nanos > 0) {\n       duration.seconds += 1;\n       duration.nanos -= 1000000000;\n     } else if (duration.seconds > 0 && duration.nanos < 0) {\n       duration.seconds -= 1;\n       duration.nanos += 1000000000;\n     }\n\n Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\n     Timestamp start = ...;\n     Duration duration = ...;\n     Timestamp end = ...;\n\n     end.seconds = start.seconds + duration.seconds;\n     end.nanos = start.nanos + duration.nanos;\n\n     if (end.nanos < 0) {\n       end.seconds -= 1;\n       end.nanos += 1000000000;\n     } else if (end.nanos >= 1000000000) {\n       end.seconds += 1;\n       end.nanos -= 1000000000;\n     }\n\n Example 3: Compute Duration from datetime.timedelta in Python.\n\n     td = datetime.timedelta(days=3, minutes=10)\n     duration = Duration()\n     duration.FromTimedelta(td)\n\n # JSON Mapping\n\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be ex

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gitpod/refs/heads/main/openapi/gitpod-gitpod-v1-webhookservice-api-openapi.yml