Autodesk Fusion Hooks API

The Hooks API from Autodesk Fusion — 5 operation(s) for hooks.

Operations 9

GET /webhooks/v1/systems/{system}/events/{event}/hooks/{hook_id} Get Webhook Details #
PATCH /webhooks/v1/systems/{system}/events/{event}/hooks/{hook_id} Update a Webhook #
DELETE /webhooks/v1/systems/{system}/events/{event}/hooks/{hook_id} Delete a Webhook #
GET /webhooks/v1/systems/{system}/events/{event}/hooks List All Webhooks for an Event #
POST /webhooks/v1/systems/{system}/events/{event}/hooks Create a Webhook for an Event #
GET /webhooks/v1/systems/{system}/hooks List All Webhooks for a System #
POST /webhooks/v1/systems/{system}/hooks Create Webhooks for All Events #
GET /webhooks/v1/hooks List All Webhooks #
GET /webhooks/v1/app/hooks List All Webhooks for an App #

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/autodesk-fusion-hooks-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

autodesk-fusion-hooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Construction.Account.Admin Account Management Hooks API
  version: '1.0'
  contact:
    name: Autodesk Plaform Services
    url: https://aps.autodesk.com/
    email: aps.help@autodesk.com
  termsOfService: https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/forge-platform-web-services-api-terms-of-service
  x-support: https://stackoverflow.com/questions/tagged/autodesk-platform-services
  description: 'The Account Admin API automates creating and managing projects, assigning and managing project users, and managing member and partner company directories. You can also synchronize data with external systems.

    '
servers:
- url: https://developer.api.autodesk.com
security:
- 2-legged: []
- 3-legged: []
tags:
- name: Hooks
paths:
  /webhooks/v1/systems/{system}/events/{event}/hooks/{hook_id}:
    parameters:
    - $ref: '#/components/parameters/system'
    - $ref: '#/components/parameters/event'
    - schema:
        type: string
      name: hook_id
      in: path
      required: true
      description: The ID of the webhook to delete.
    get:
      summary: Get Webhook Details
      tags:
      - Hooks
      responses:
        '200':
          description: 'Webhook details were successfully returned. '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HookDetails'
              examples: {}
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '500':
          $ref: '#/components/responses/500-general'
      operationId: get-hook-details
      description: Retrieves the details of the webhook for the specified event within the specified system.
      parameters:
      - $ref: '#/components/parameters/x-ads-region'
      - $ref: '#/components/parameters/region'
      security:
      - 2-legged:
        - data:read
        3-legged:
        - data:read
    patch:
      summary: Update a Webhook
      tags:
      - Hooks
      responses:
        '200':
          description: 'The webhook was updated successfully. '
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '500':
          $ref: '#/components/responses/500-general'
      operationId: patch-system-event-hook
      parameters:
      - $ref: '#/components/parameters/x-ads-region'
      - $ref: '#/components/parameters/region'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyHookPayload'
      description: "Updates the webhook specified by the ``hook_id`` parameter. Currently the only attributes you can update are: \n\n- filter\n- status\n- hook attribute\n- token\n- auto-reactivate hook flag\n- hook expiry\n- callbackWithEventPaylaod flag \n\nSee the request body documentation for more information."
      security:
      - 2-legged:
        - data:read
        - data:write
        3-legged:
        - data:read
        - data:write
    delete:
      summary: Delete a Webhook
      tags:
      - Hooks
      responses:
        '204':
          description: The webhook was deleted successfully.
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '500':
          $ref: '#/components/responses/500-general'
      operationId: delete-system-event-hook
      parameters:
      - $ref: '#/components/parameters/x-ads-region'
      - $ref: '#/components/parameters/region'
      description: Deletes the webhook specified by its ID.
      security:
      - 2-legged:
        - data:read
        - data:write
        3-legged:
        - data:read
        - data:write
  /webhooks/v1/systems/{system}/events/{event}/hooks:
    parameters:
    - $ref: '#/components/parameters/system'
    - $ref: '#/components/parameters/event'
    get:
      summary: List All Webhooks for an Event
      tags:
      - Hooks
      responses:
        '200':
          description: 'A list webhooks was returned successfully. '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hooks'
        '204':
          description: No webhooks exist.
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '500':
          $ref: '#/components/responses/500-general'
      operationId: get-system-event-hooks
      description: 'Retrieves a paginated list of webhooks for the specified event. The returned list contains a subset of webhooks accessible to the provided access token within the specified region. Each page includes up to 200 webhooks.


        If the ``pageState`` query string parameter is not provided, the first page of results is returned. Use the ``next`` value from the previous response to fetch subsequent pages.'
      parameters:
      - $ref: '#/components/parameters/x-ads-region'
      - $ref: '#/components/parameters/region'
      - schema:
          type: string
        in: query
        name: scopeName
        description: 'Filters retrieved webhooks by the scope name used to create hook. For example : ``folder``.  If this parameter is not specified, the filter is not applied.'
      - $ref: '#/components/parameters/pageState'
      - $ref: '#/components/parameters/status'
      security:
      - 2-legged:
        - data:read
        3-legged: []
    post:
      summary: Create a Webhook for an Event
      tags:
      - Hooks
      responses:
        '201':
          description: The webhook was created successfully.
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '409':
          description: The specified hook already exists.
        '500':
          $ref: '#/components/responses/500-general'
      operationId: create-system-event-hook
      description: Adds a new webhook to receive notifications of the occurrence of a specified event for the specified system.
      parameters:
      - $ref: '#/components/parameters/region'
      - $ref: '#/components/parameters/x-ads-region'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HookPayload'
        description: ''
      security:
      - 2-legged:
        - data:read
        - data:write
        3-legged:
        - data:read
        - data:write
  /webhooks/v1/systems/{system}/hooks:
    parameters:
    - $ref: '#/components/parameters/system'
    get:
      summary: List All Webhooks for a System
      tags:
      - Hooks
      responses:
        '200':
          description: A list webhooks was returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hooks'
        '204':
          description: No webhooks exist.
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '500':
          $ref: '#/components/responses/500-general'
      operationId: get-system-hooks
      parameters:
      - $ref: '#/components/parameters/x-ads-region'
      - $ref: '#/components/parameters/status'
      - $ref: '#/components/parameters/pageState'
      - $ref: '#/components/parameters/region'
      description: 'Retrieves a paginated list of webhooks for the specified system. The returned list contains a subset of webhooks accessible to the provided access token within the specified region. Each page includes up to 200 webhooks.


        If the ``pageState`` query string parameter is not provided, the first page of results is returned. Use the ``next`` value from the previous response to fetch subsequent pages.'
      security:
      - 2-legged:
        - data:read
        3-legged:
        - data:read
    post:
      summary: Create Webhooks for All Events
      tags:
      - Hooks
      responses:
        '201':
          description: The webhooks were created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hook'
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '500':
          $ref: '#/components/responses/500-general'
      operationId: create-system-hook
      description: Adds a new webhook to receive notifications of all events for the specified system.
      parameters:
      - $ref: '#/components/parameters/x-ads-region'
      - $ref: '#/components/parameters/region'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HookPayload'
      security:
      - 2-legged:
        - data:read
        - data:write
        3-legged:
        - data:read
        - data:write
  /webhooks/v1/hooks:
    parameters: []
    get:
      summary: List All Webhooks
      tags:
      - Hooks
      responses:
        '200':
          description: 'A list webhooks was returned successfully. '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hooks'
        '204':
          description: No webhooks exist.
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '500':
          $ref: '#/components/responses/500-general'
      operationId: get-hooks
      parameters:
      - $ref: '#/components/parameters/pageState'
      - $ref: '#/components/parameters/status'
      - $ref: '#/components/parameters/region'
      - $ref: '#/components/parameters/x-ads-region'
      description: 'Retrieves a paginated list of webhooks available to the provided access token within the specified region. Each page includes up to 200 webhooks.


        If the ``pageState`` query string parameter is not provided, the first page of results is returned. Use the ``next`` value from the previous response to fetch subsequent pages.'
      security:
      - 2-legged:
        - data:read
        3-legged:
        - data:read
  /webhooks/v1/app/hooks:
    parameters: []
    get:
      summary: List All Webhooks for an App
      tags:
      - Hooks
      responses:
        '200':
          description: 'A list webhooks was returned successfully. '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hooks'
        '400':
          $ref: '#/components/responses/400-general'
        '401':
          $ref: '#/components/responses/401-general'
        '403':
          $ref: '#/components/responses/403-general'
        '404':
          $ref: '#/components/responses/404-general'
        '500':
          $ref: '#/components/responses/500-general'
      operationId: get-app-hooks
      description: 'Retrieves a paginated list of webhooks created by the calling application. Each page includes up to 200 webhooks.


        If the ``pageState`` query string parameter is not provided, the first page of results is returned. Use the ``next`` value from the previous response to fetch subsequent pages.


        **Note:** This operation requires an access token through a Client Credentials flow (two-legged OAuth). '
      parameters:
      - $ref: '#/components/parameters/x-ads-region'
      - $ref: '#/components/parameters/pageState'
      - $ref: '#/components/parameters/status'
      - $ref: '#/components/parameters/sort'
      - $ref: '#/components/parameters/region'
      security:
      - 2-legged:
        - data:read
components:
  schemas:
    statusFilter:
      type: string
      x-stoplight:
        id: b6sikyj6f62vu
      enum:
      - active
      - inactive
      description: "Filters retrieved webhooks by their current state. Possible values are \n\n- ``active`` - Successfully delivered most recent event notifications. \n- ``inactive`` - Failed to deliver most recent event notification and has been deactivated.\n\nIf this parameter is not specified, the filter is not applied. See [Event Delivery Guarantees](/en/docs/webhooks/v1/developers_guide/event-delivery-guarantees/) for more information on how the state of a webhook changes.\n"
    sort:
      x-stoplight:
        id: x0dbxqcegubv1
      description: "Specifies the sorting order of the list of webhooks by their ``lastUpdatedDate`` attribute. \n\n- ``asc`` - Ascending order.\n- ``desc`` - (Default) Descending order.\n"
      enum:
      - asc
      - desc
      title: ''
    x-ads-region:
      type: string
      enum:
      - US
      - EMEA
      - AUS
      - CAN
      - DEU
      - IND
      - JPN
      - GBR
      description: 'Specifies the geographical location (region) of the server a request must be executed on. This also corresponds to the region where the Webhook data is stored. It is also the location of the server that will make requests to your callback URL. Possible values:


        - ``US`` - (Default) Data center dedicated to serve the United States region.

        - ``EMEA`` - Data center dedicated to serve the European Union, Middle East, and Africa regions.

        - ``AUS`` - (Beta) Data center dedicated to serve the Australia region.

        - ``CAN`` - Data center dedicated to serve the Canada region.

        - ``DEU`` - Data center dedicated to serve the Germany region.

        - ``IND`` - Data center dedicated to serve the India region.

        - ``JPN`` - Data center dedicated to serve the Japan region.

        - ``GBR`` - Data center dedicated to serve the United Kingdom region.


        **Note:** Beta features are subject to change. Please avoid using them in production environments.

        '
    ModifyHookPayload:
      type: object
      x-examples:
        example-1:
          status: active
          autoReactivateHook: false
          filter: $[?(@.ext=='txt')]
          hookAttribute:
            myfoo: 34
            projectId: someURN
            myobject:
              nested: true
      title: ModifyHookPayload
      description: 'Specifies the details of a webhook to be updated. '
      properties:
        status:
          $ref: '#/components/schemas/StatusRequest'
        autoReactivateHook:
          type: boolean
          description: '``true`` - Automatically reactivate the webhook if it becomes ``inactive``.


            ``false`` - (Default) Do not reactivate the webhook if it becomes ``inactive``.


            See [Event Delivery Guarantees](/en/docs/webhooks/v1/developers_guide/event-delivery-guarantees/) for more information on how the webhooks service handles reactivation.'
        filter:
          type: string
          minLength: 1
          description: 'A Jsonpath expression that you can use to filter the callbacks you receive.


            See [Callback Filtering](/en/docs/webhooks/v1/developers_guide/callback-filtering/) for more information.'
        hookAttribute:
          type: object
          description: Specifies the extent to which the event is monitored. For example, if the scope is folder, the webhooks service generates a notification for the specified event occurring in any sub folder or item within that folder.
        token:
          type: string
          x-stoplight:
            id: icxzgacs5blwe
          description: 'A secret token that is used to generate a hash signature, which is passed along with notification requests to the callback URL.


            See the [Secret Token](/en/docs/webhooks/v1/developers_guide/basics/#secret-token) section in API Basics for more information.'
        hookExpiry:
          type: string
          x-stoplight:
            id: vem2t2o5bdt9r
          description: The date and time the webhook will expire, formatted as an ISO 8601 date/time string. If you set this to null, the webhook will never expire.
    Hooks:
      description: 'A paginated list of webhooks. '
      x-stoplight:
        id: 03772dcd50e6a
      type: object
      x-examples:
        example-1:
          links:
            next: /hooks?pageState=AMMAEACAtgALYWRzay53aXBkZXYNZnMuZmlsZS5hZGRlZAZmb2xkZXIydXJuOmFkc2sud2lwcWE6ZnMuZm9sZGVyOmNvLlRSM253QUtoVFNDQ0x0azY0VE52Q2cydXJuOmFkc2sud2lwcWE6ZnMuZm9sZGVyOmNvLlRSM253QUtoVFNDQ0x0azY0VE52Q2ctaHR0cDovL2FwaS53ZWJob29raW5ib3guY29tL2kvM0l6eGlLZndmL2luL3gy8H____3wf____Twpc5_2RqlBtCsLMPJlT9kABA==
          data:
          - hookId: 0f60f6a0-996c-11e7-abf3-51d68cff984c
            tenant: urn:adsk.wipprod:fs.folder:co.wT5lCWlXSKeo3razOfHJAw
            callbackUrl: http://bf067e05.ngrok.io/callback
            createdBy: '*********'
            event: dm.version.added
            createdDate: 2017-09-14T17:04:10.444+0000
            lastUpdatedDate: 2020-09-14T17:04:10.444+0000
            system: data
            creatorType: Application
            status: active
            autoReactivateHook: false
            hookExpiry: '2017-09-21T17:04:10.444Z'
            scope:
              folder: urn:adsk.wipprod:fs.folder:co.wT5lCWlXSKeo3razOfHJAw
            urn: urn:adsk.webhooks:events.hook:0f60f6a0-996c-11e7-abf3-51d68cff984c
            __self__: /systems/data/events/dm.version.added/hooks/0f60f6a0-996c-11e7-abf3-51d68cff984c
          - hookId: 1f63f6a4-106c-11e7-qrf9-72d68cff984d
            tenant: urn:adsk.wipprod:fs.folder:co.wT5lCWlXSKeo3razOfHJAw
            callbackUrl: http://bf067e05.ngrok.io/callback
            createdBy: '*********'
            event: dm.version.copied
            createdDate: 2017-09-14T17:04:10.564+0000
            lastUpdatedDate: 2020-09-14T17:04:10.444+0000
            system: data
            creatorType: Application
            status: active
            autoReactivateHook: false
            scope:
              folder: urn:adsk.wipprod:fs.folder:co.wT5lCWlXSKeo3razOfHJAw
            urn: urn:adsk.webhooks:events.hook:1f63f6a4-106c-11e7-qrf9-72d68cff984d
            __self__: /systems/data/events/dm.version.copied/hooks/1f63f6a4-106c-11e7-qrf9-72d68cff984d
      title: Hooks
      properties:
        links:
          type: object
          description: Contains an object with the address of the next page of the list of webhooks.
          properties:
            next:
              type: string
              minLength: 1
              description: Base64 encoded string to retrieve the next page of the list of webhooks.
        data:
          type: array
          uniqueItems: true
          minItems: 1
          description: An array of objects, where each object represents a webhook.
          items:
            $ref: '#/components/schemas/HookDetails'
    status:
      type: string
      enum:
      - active
      - inactive
      - reactivated
      description: "Indicates the current state of the webhook. Possible values are \n\n- ``active`` - Successfully delivered most recent event notifications. \n- ``inactive`` - Failed to deliver most recent event notification and has been deactivated.\n- ``reactivated`` - Previously inactive webhook that has been reactivated. No events have occurred since reactivation.\n\nSee [Event Delivery Guarantees](/en/docs/webhooks/v1/developers_guide/event-delivery-guarantees/) for more information on how the system deactivates webhooks and subsequently reactivates them.    \n"
    HookPayload:
      type: object
      x-examples:
        example-1:
          callbackUrl: http://bf067e05.ngrok.io/callback
          autoReactivateHook: false
          scope:
            folder: urn:adsk.wipprod:fs.folder:co.wT5lCWlXSKeo3razOfHJAw
          hookAttribute:
            myfoo: 33
            projectId: someURN
            myobject:
              nested: true
          hookExpiry: '2017-09-21T17:04:10.444Z'
      title: HookPayload
      description: 'Specifies the details of a webhook to be created. '
      properties:
        callbackUrl:
          type: string
          minLength: 1
          description: "The URL to send notifications to when the \nevent is triggered. "
        autoReactivateHook:
          type: boolean
          description: '``true`` - Automatically reactivate the webhook if it becomes ``inactive``.


            ``false`` - (Default) Do not reactivate the webhook if it becomes ``inactive``.


            See [Event Delivery Guarantees](/en/docs/webhooks/v1/developers_guide/event-delivery-guarantees/) for more information on how the webhooks service handles reactivation.'
        scope:
          type: object
          description: Specifies the extent to which the event is monitored. For example, if the scope is folder, the webhooks service generates a notification for the specified event occurring in any sub folder or item within that folder.
        hookAttribute:
          type: object
          description: Specifies the extent to which the event is monitored. For example, if the scope is folder, the webhooks service generates a notification for the specified event occurring in any sub folder or item within that folder.
        hookExpiry:
          type: string
          minLength: 1
          description: The date and time the webhook will expire, formatted as an ISO 8601 date/time string. If you do not specify this attribute or set it to null, the webhook will never expire.
        filter:
          type: string
          x-stoplight:
            id: ovklq1q6l4fne
          description: 'A Jsonpath expression that you can use to filter the callbacks you receive.


            See [Callback Filtering](/en/docs/webhooks/v1/developers_guide/callback-filtering/) for more information.'
        hubId:
          type: string
          x-stoplight:
            id: ofruyk46skf30
          description: 'The ID of the hub that contains the entity that you want to monitor. Specify this attribute if the user calling this operation is a member of a large number of projects.


            For BIM 360 Docs and ACC Docs, a hub ID corresponds to an Account ID. To convert a BIM 360 or ACC Account ID to a hub ID, prefix the Account ID with ``b.``. For example, an Account ID of ```c8b0c73d-3ae9``` translates to a hub ID of ``b.c8b0c73d-3ae9``.'
        projectId:
          type: string
          x-stoplight:
            id: xxxpsee8dhjma
          description: 'The ID of the project that contains the entity that you want to monitor Specify this attribute if the user calling this operation is a member of a large number of projects.


            BIM 360 and ACC project IDs are different to Data Management project IDs. To convert a BIM 360 and ACC project IDs to  Data Management project IDs, prefix the BIM 360 or ACC Project ID with ``b.``. For example, a project ID of ``c8b0c73d-3ae9`` translates to a project ID of ``b.c8b0c73d-3ae9``.'
        tenant:
          type: string
          x-stoplight:
            id: aebt81azd05bz
          description: The tenant associated with the event. If specified on the webhook, the event's tenant must match the webhook's tenant.
        callbackWithEventPayloadOnly:
          type: boolean
          x-stoplight:
            id: tep138os1k7nl
          description: '``true`` - The callback request payload must only contain information about the event. It must not contain any information about the webhook.


            ``false`` - (Default) The callback request payload must contain information about the event as well as the webhook.'
      required:
      - callbackUrl
      - scope
    HookDetails:
      description: Contains the details of a webhook.
      x-stoplight:
        id: c20b19264ce9a
      type: object
      x-examples:
        example-1:
          hookId: 05f10350-991a-11e7-8cd7-91969336b9c2
          tenant: urn:adsk.wipprod:fs.folder:co.VsFvE6y5SNKnhSnogSeqcg
          callbackUrl: http://cf069e23.ngrok.io/callback_test
          createdBy: '********'
          event: dm.version.added
          createdDate: 2017-09-14T06:57:50.597+0000
          lastUpdatedDate: 2020-09-14T17:04:10.444+0000
          system: data
          creatorType: Application
          status: active
          autoReactivateHook: false
          hookExpiry: '2017-09-21T17:04:10.444Z'
          scope:
            folder: urn:adsk.wipprod:fs.folder:co.VsFvE6y5SNKnhSnogSeqcg
          urn: urn:adsk.webhooks:events.hook:05f10350-991a-11e7-8cd7-91969336b9c2
          __self__: /systems/data/events/dm.version.added/hooks/05f10350-991a-11e7-8cd7-91969336b9c2
      title: HookDetails
      properties:
        hookId:
          type: string
          minLength: 1
          description: The ID that uniquely identifies the webhook.
        tenant:
          type: string
          minLength: 1
          description: "The ID of the tenant from which the event \noriginates."
        callbackUrl:
          type: string
          minLength: 1
          description: "The URL to send notifications to when the \nevent is triggered. "
        createdBy:
          type: string
          minLength: 1
          description: "The ID of the entity that created the webhook. It can be one of the following:\n\n- Client ID of an app: If created using a Client Credentials flow (two-legged OAuth). \n- User ID of a user: If created using an Authorization Code flow (three-legged OAuth)."
        event:
          type: string
          minLength: 1
          description: The ID of the event the webhook monitors.  See [Supported Events](/en/docs/webhooks/v1/reference/events/) for a full list of events and wildcard patterns.
        createdDate:
          type: string
          minLength: 1
          description: The date and time when the webhook was created, formatted as an ISO 8601 date/time string.
        lastUpdatedDate:
          type: string
          minLength: 1
          description: The date and time when the webhook was last modified, formatted as an ISO 8601 date/time string.
        system:
          type: string
          minLength: 1
          description: The ID of the system the webhook applies to. For example ``data`` for Data Management. See [Supported Events](/en/docs/webhooks/v1/reference/events/) for a full list of systems.
        creatorType:
          type: string
          minLength: 1
          description: 'Indicates what type of an entity created the webhooks. Possible values:


            - ``O2User`` - Created by a user through an Authorization Code flow (three-legged OAuth).

            - ``Application`` - Created by an application using a Client Credentials flow (two-legged OAuth).'
        status:
          $ref: '#/components/schemas/status'
        autoReactivateHook:
          type: boolean
          description: '``true`` - Automatically reactivate the webhook if it becomes ``inactive``.


            ``false`` - (Default) Do not reactivate the webhook if it becomes ``inactive``.


            See [Event Delivery Guarantees](/en/docs/webhooks/v1/developers_guide/event-delivery-guarantees/) for more information on how the webhooks service handles reactivation.'
        hookExpiry:
          type: string
          minLength: 1
          description: 'The date and time when the webhook will expire, formatted as an ISO 8601 date/time string. A missing or null value indicates that the webhook will never expire.


            ``hookExpiry`` is returned only if it was specified when the webhook was created.'
        hookAttribute:
          type: object
          description: Custom metadata which will be less than 1KB in size.
        scope:
          type: object
          description: Represents the extent to which the event is monitored. For example, if the scope is folder, the webhooks service generates a notification for the specified event occurring in any sub folder or item within that folder.
          properties:
            folder:
              type: string
              minLength: 1
              description: "The URN of the folder the scope is set to. Present only for Data Management events. \n\nSee [Creating a Webhook and Listening to Data Management Events](/en/docs/webhooks/v1/tutorials/create-a-hook-data-management/) for more information."
            workflow:
              type: string
              x-stoplight:
                id: u9krv2gxv7lxh
              description: 'The ID of a Model Derivative workflow the scope is set to. Present only for Model Derivative events.


                See [Creating a Webhook and Listening to Model Derivative Events](/en/docs/webhooks/v1/tutorials/create-a-hook-model-derivative/) for more information.

                '
        urn:
          type: string
          minLength: 1
          description: The URN of the webhook.
        callbackWithEventPayloadOnly:
          type: string
          x-stoplight:
            id: 0o8hrmevlbp5c
          description: '``true`` - The callback request payload will only contain information about the event. It will not contain any information about the webhook.


            ``false`` - The callback request payload will contain information about the event as well as the webhook.'
        __self__:
          type: string
          minLength: 1
          description: A link to itself.
    Hook:
      x-stoplight:
        id: b96631228222b
      type: object
      x-examples:
        example-1:
          hooks:
          - hookId: 04f1033e-aa58-11e7-abc4-cec278b6b50a
            tenant: urn:adsk.wipprod:fs.folder:co.CHO-BbcmTsigjzymYeRCmQ
            callbackUrl: http://bf067e05.ngrok.io/callback
            createdBy: '*****'
            event: dm.version.added
            createdDate: 2017-09-19T18:58:16.636+0000
            lastUpdatedDate: 2020-09-14T17:04:10.444+0000
            system: data
            creatorType: O2User
            scope:
              folder: urn:adsk.wipprod:fs.folder:co.CHO-BbcmTsigjzymYeRCmQ
            status: active
            autoReactivateHook: false
            urn: urn:adsk.webhooks:events.hook:04f1033e-aa58-11e7-abc4-cec278b6b50a
            __self__: /systems/data/events/dm.version.added/hooks/04f1033e-aa58-11e7-abc4-cec278b6b50a
          - hookId: 04f1092e-aa58-11e7-abc4-cec278b6b50a
            tenant: urn:adsk.wipprod:fs.folder:co.CHO-BbcmTsigjzymYeRCmQ
            callbackUrl: http://bf067e05.ngrok.io/callback
            createdBy: '*****'
            event: dm.version.copied
            createdDate: 2017-09-19T18:58:16.312+0000
            lastUpdatedDate: 2020-09-14T17:04:10.444+0000
            system: data
            creatorType: O2User
            scope:
              folder: urn:adsk.wipprod:fs.folder:co.CHO-BbcmTsigjzymYeRCmQ
            status: active
            autoReactivateHook: false
            urn: urn:adsk.webhooks:events.hook:04f1092e-aa58-11e7-abc4-cec278b6b50a
            __self__: /systems/data/events/dm.version.copied/hooks/04f1092e-aa58-11e7-abc4-cec278b6b50a
          - hookId: 04f10a50-aa58-11e7-abc4-cec278b6b50a
            tenant: urn:adsk.wipprod:fs.folder:co.CHO-BbcmTsigjzymYeRCmQ
            callbackUrl: http://bf067e05.ngrok.io/callback
            createdBy: '*****'
            event: dm.version.deleted
            createdDate: 2017-09-19T18:58:16.716+0000
            lastUpdatedDate: 2020-09-14T17:04:10.444+0000
            system: data
            creatorType: O2User
            scope:
              folder: urn:adsk.wipprod:fs.folder:co.CHO-BbcmTsigjzymYeRCmQ
            status: active
            autoReactivateHook: true
            urn: urn:adsk.webhooks:events.hook:04f10a50-aa58

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/autodesk-fusion/refs/heads/main/openapi/autodesk-fusion-hooks-api-openapi.yml