> ## Documentation Index
> Fetch the complete documentation index at: https://developers.phrase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Edit webhook



## OpenAPI

````yaml /openapi/phrase-tms-latest.json put /api2/v2/webhooks/{webHookUid}
openapi: 3.0.0
info:
  description: |-
    Welcome to Phrase's TMS API documentation. 

     Please visit our [help center](https://support.phrase.com/hc/en-us/sections/5709662083612) for more information about the APIs. 

     If you have any questions, please contact [Support](https://support.phrase.com/hc/requests/new). 

     Please, include the `User-Agent` header with the name of your application or project. It might be a good idea to include some sort of contact information as well, so that we can get in touch if necessary. Examples of excellent `User-Agent` headers:
     > User-Agent: Example mobile app (example@phrase.com) <br/> User-Agent: ACME Inc Java 1.8 Client (http://acmeinc.com/contact)
  version: Latest
  title: Phrase TMS API
servers:
  - url: https://cloud.memsource.com/web
security:
  - ApiToken: []
  - OAuth2: []
tags:
  - name: Additional Workflow Step
  - name: Analysis
  - name: Async Request
  - name: Authentication
  - name: Automations
  - name: Bilingual File
  - name: Business Unit
  - name: Buyer
  - name: Client
  - name: Connector
  - name: Conversations
  - name: Cost Center
  - name: Custom Fields
  - name: Custom File Type
  - name: Domain
  - name: Due Date Scheme
  - name: Email Template
  - name: File
  - name: Glossary
  - name: Import settings
  - name: Job
  - name: Language AI
  - name: Language Assets
  - name: Language Quality Assessment
  - name: Machine Translation
  - name: Machine Translation Settings
  - name: Mapping
  - name: Net Rate Scheme
  - name: Notifications
  - name: Price List
  - name: Project
  - name: Project Template
  - name: Provider
  - name: Quality Assurance
  - name: Quality Profile
  - name: Quote
  - name: Reference File
  - name: SCIM
  - name: Segment
  - name: Segmentation Rules
  - name: Service
  - name: Spell Check
  - name: SubDomain
  - name: Supported Languages
  - name: Term Base
  - name: Translation
  - name: Translation Memory
  - name: User
  - name: Vendor
  - name: Webhook
  - name: Workflow Step
  - name: Workflow changes
  - name: XML Assistant
paths:
  /api2/v2/webhooks/{webHookUid}:
    put:
      tags:
        - Webhook
      summary: Edit webhook
      operationId: updateWebHookV2
      parameters:
        - name: webHookUid
          in: path
          description: Unique identifier of the webhook
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebHookDtoV2'
        description: Webhook edit request
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebHookDtoV2'
        '400':
          description: InvalidArguments
        '401':
          description: Not authorized
        '403':
          description: AuthAccessDenied
        '404':
          description: ResourceNotFound
        '405':
          description: Method not allowed
        '408':
          description: Timeout
        '410':
          description: Gone
        '415':
          description: Unsupported media type
        '429':
          description: Too many requests
        '500':
          description: Internal server error
        '501':
          description: Not implemented
components:
  schemas:
    CreateWebHookDtoV2:
      type: object
      required:
        - events
        - url
      properties:
        events:
          type: array
          description: One or more events that trigger this webhook
          items:
            type: string
            enum:
              - JOB_STATUS_CHANGED
              - JOB_CREATED
              - JOB_DELETED
              - JOB_UNSHARED
              - JOB_ASSIGNED
              - JOB_DUE_DATE_CHANGED
              - JOB_UPDATED
              - JOB_TARGET_UPDATED
              - JOB_EXPORTED
              - JOB_UNEXPORTED
              - JOB_AUTO_LQA_FINISHED
              - JOB_METADATA_UPDATED
              - JOB_CUSTOM_FIELDS_UPDATED
              - PROJECT_CREATED
              - PROJECT_DELETED
              - PROJECT_UNSHARED
              - PROJECT_STATUS_CHANGED
              - PROJECT_DUE_DATE_CHANGED
              - SHARED_PROJECT_ASSIGNED
              - PROJECT_METADATA_UPDATED
              - PRE_TRANSLATION_FINISHED
              - ANALYSIS_CREATED
              - CONTINUOUS_JOB_UPDATED
              - PROJECT_TEMPLATE_CREATED
              - PROJECT_TEMPLATE_UPDATED
              - PROJECT_TEMPLATE_DELETED
              - RAW_MT_CONVERTER_IMPORT_FINISHED
              - RAW_MT_PRE_TRANSLATION_FINISHED
              - RAW_MT_QUALITY_ESTIMATION_FINISHED
              - TERM_BASE_TERM_CREATED
              - TERM_BASE_TERM_UPDATED
              - TERM_BASE_TERM_DELETED
              - TERM_BASE_CONCEPT_CREATED
              - TERM_BASE_CONCEPT_UPDATED
              - TERM_BASE_CONCEPT_DELETED
              - TERM_BASE_IMPORTED
              - ASYNC_REQUEST_FINISHED
        hidden:
          type: boolean
          description: When true, the webhook is hidden from UI listings; defaults to false
        name:
          type: string
          description: Display name of the webhook
          minLength: 0
          maxLength: 255
        secretToken:
          type: string
          description: >-
            Secret token sent with every webhook request for payload
            verification
          minLength: 0
          maxLength: 255
        secretTokenType:
          type: string
          description: Type of secret token header; defaults to X_MEMSOURCE_TOKEN
          enum:
            - X_MEMSOURCE_TOKEN
            - AUTHORIZATION
        status:
          type: string
          description: Initial enabled/disabled state of the webhook; defaults to ENABLED
          enum:
            - ENABLED
            - DISABLED
        url:
          type: string
          description: URL the webhook payload is sent to
    WebHookDtoV2:
      type: object
      required:
        - url
      properties:
        created:
          type: string
          format: date-time
          description: Date and time the webhook was created
        createdBy:
          $ref: '#/components/schemas/UserReferenceV1'
        events:
          type: array
          description: Events that trigger this webhook
          items:
            type: string
            enum:
              - JOB_STATUS_CHANGED
              - JOB_CREATED
              - JOB_DELETED
              - JOB_UNSHARED
              - JOB_ASSIGNED
              - JOB_DUE_DATE_CHANGED
              - JOB_UPDATED
              - JOB_TARGET_UPDATED
              - JOB_EXPORTED
              - JOB_UNEXPORTED
              - JOB_AUTO_LQA_FINISHED
              - JOB_METADATA_UPDATED
              - JOB_CUSTOM_FIELDS_UPDATED
              - PROJECT_CREATED
              - PROJECT_DELETED
              - PROJECT_UNSHARED
              - PROJECT_STATUS_CHANGED
              - PROJECT_DUE_DATE_CHANGED
              - SHARED_PROJECT_ASSIGNED
              - PROJECT_METADATA_UPDATED
              - PRE_TRANSLATION_FINISHED
              - ANALYSIS_CREATED
              - CONTINUOUS_JOB_UPDATED
              - PROJECT_TEMPLATE_CREATED
              - PROJECT_TEMPLATE_UPDATED
              - PROJECT_TEMPLATE_DELETED
              - RAW_MT_CONVERTER_IMPORT_FINISHED
              - RAW_MT_PRE_TRANSLATION_FINISHED
              - RAW_MT_QUALITY_ESTIMATION_FINISHED
              - TERM_BASE_TERM_CREATED
              - TERM_BASE_TERM_UPDATED
              - TERM_BASE_TERM_DELETED
              - TERM_BASE_CONCEPT_CREATED
              - TERM_BASE_CONCEPT_UPDATED
              - TERM_BASE_CONCEPT_DELETED
              - TERM_BASE_IMPORTED
              - ASYNC_REQUEST_FINISHED
        failedAttempts:
          type: integer
          format: int32
          description: Number of consecutive failed delivery attempts
        hidden:
          type: boolean
          description: When true, the webhook is hidden from UI listings
        id:
          type: string
          description: Internal numeric identifier, encoded as a string
        lastModified:
          type: string
          format: date-time
          description: Date and time the webhook was last modified
        lastModifiedBy:
          $ref: '#/components/schemas/UserReferenceV1'
        name:
          type: string
          description: Display name of the webhook
        secretToken:
          type: string
          description: >-
            Secret token sent with every webhook request for payload
            verification
          minLength: 1
          maxLength: 255
        secretTokenType:
          type: string
          description: Type of secret token header used for payload verification
          enum:
            - X_MEMSOURCE_TOKEN
            - AUTHORIZATION
        status:
          type: string
          description: Whether the webhook is enabled or disabled
          enum:
            - ENABLED
            - DISABLED
        uid:
          type: string
          description: Unique identifier used in API paths
        url:
          type: string
          description: URL the webhook payload is sent to
    UserReferenceV1:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        id:
          type: string
        lastName:
          type: string
        role:
          type: string
          enum:
            - SYS_ADMIN
            - SYS_ADMIN_READ
            - ADMIN
            - PROJECT_MANAGER
            - LINGUIST
            - GUEST
            - SUBMITTER
            - PORTAL_MEMBER
            - BOT
        uid:
          type: string
        userName:
          type: string
  securitySchemes:
    ApiToken:
      description: >-
        Get a token from `auth/login` [endpoint](#operation/login) and then pass
        it in the `Authorization` HTTP header in every subsequent API call. For
        more information visit our [help
        center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#token-0-0).
      type: apiKey
      name: Authorization
      in: header
    OAuth2:
      description: >-
        A standard OAuth 2.0 authorization code flow. For more information visit
        our [help
        center](https://support.phrase.com/hc/en-us/articles/5709662181404-API-Authentication-TMS-#oauth-2-0-0-1).
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://cloud.memsource.com/web/oauth/authorize
          tokenUrl: https://cloud.memsource.com/web/oauth/token
          scopes: {}

````