Box

Box Webhooks API

Webhooks allow you to monitor Box content for events, and receive notifications to a URL of your choice when they occur. For example, a workflow may include waiting for a file to be downloaded to delete a shared link.

Business capability
Webhook & Event Subscription Management BC-4270.80

Operations 5

GET /webhooks List all webhooks #
POST /webhooks Create webhook #
GET /webhooks/{webhook_id} Get webhook #
PUT /webhooks/{webhook_id} Update webhook #
DELETE /webhooks/{webhook_id} Remove webhook #

Documentation

📖
Documentation
https://developer.box.com/reference/get-authorize
📖
Documentation
https://developer.box.com/reference/post-oauth2-token
📖
Documentation
https://developer.box.com/reference/post-files-id-copy
📖
Documentation
https://developer.box.com/reference/post-file-requests-id-copy
📖
Documentation
https://developer.box.com/reference/post-folders-id-copy
📖
Documentation
https://developer.box.com/reference/post-folder-locks
📖
Documentation
https://developer.box.com/reference/post-metadata-templates-schema
📖
Documentation
https://developer.box.com/reference/post-metadata-cascade-policies
📖
Documentation
https://developer.box.com/reference/post-metadata-queries-execute-read
📖
Documentation
https://developer.box.com/reference/post-comments
📖
Documentation
https://developer.box.com/reference/post-collaborations
📖
Documentation
https://developer.box.com/reference/post-tasks
📖
Documentation
https://developer.box.com/reference/post-task-assignments
📖
Documentation
https://developer.box.com/reference/put-files-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/put-folders-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/post-web-links
📖
Documentation
https://developer.box.com/reference/put-web-links-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/post-users
📖
Documentation
https://developer.box.com/reference/post-invites
📖
Documentation
https://developer.box.com/reference/post-groups
📖
Documentation
https://developer.box.com/reference/post-group-memberships
📖
Documentation
https://developer.box.com/reference/post-webhooks
📖
Documentation
https://developer.box.com/reference/post-files-id-metadata-global-boxSkillsCards
📖
Documentation
https://developer.box.com/reference/options-events
📖
Documentation
https://developer.box.com/reference/get-collections-id
📖
Documentation
https://developer.box.com/reference/get-recent-items
📖
Documentation
https://developer.box.com/reference/post-retention-policies
📖
Documentation
https://developer.box.com/reference/post-retention-policy-assignments
📖
Documentation
https://developer.box.com/reference/post-legal-hold-policies
📖
Documentation
https://developer.box.com/reference/post-legal-hold-policy-assignments
📖
Documentation
https://developer.box.com/reference/get-file-version-retentions-id
📖
Documentation
https://developer.box.com/reference/get-file-version-legal-holds-id
📖
Documentation
https://developer.box.com/reference/post-shield-information-barriers-change-status
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-reports
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segments
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segment-members
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segment-restrictions
📖
Documentation
https://developer.box.com/reference/get-device-pinners-id
📖
Documentation
https://developer.box.com/reference/post-terms-of-services
📖
Documentation
https://developer.box.com/reference/post-terms-of-service-user-statuses
📖
Documentation
https://developer.box.com/reference/post-collaboration-whitelist-entries
📖
Documentation
https://developer.box.com/

Specifications

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/box:box-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

box-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Box Platform Webhooks API
  description: Box Platform provides functionality to provide access to content stored within Box. It provides endpoints for basic manipulation of files and folders, management of users within an enterprise, as well as more complex topics such as legal holds and retention policies.
  termsOfService: https://cloud.app.box.com/s/rmwxu64h1ipr41u49w3bbuvbsa29wku9
  contact:
    name: Box, Inc
    url: https://developer.box.com
    email: devrel@box.com
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '2024.0'
  x-box-commit-hash: 53bdced3cd
servers:
- url: https://api.box.com/2.0
  description: Box Platform API server.
security:
- OAuth2Security: []
tags:
- name: Webhooks
  description: Webhooks allow you to monitor Box content for events, and receive notifications to a URL of your choice when they occur. For example, a workflow may include waiting for a file to be downloaded to delete a shared link.
  x-box-tag: webhooks
paths:
  /webhooks:
    get:
      operationId: get_webhooks
      summary: List all webhooks
      description: 'Returns all defined webhooks for the requesting application.


        This API only returns webhooks that are applied to files or folders that are owned by the authenticated user. This means that an admin can not see webhooks created by a service account unless the admin has access to those folders, and vice versa.'
      parameters:
      - name: marker
        in: query
        description: 'Defines the position marker at which to begin returning results. This is used when paginating using marker-based pagination.


          This requires `usemarker` to be set to `true`.'
        required: false
        schema:
          type: string
        example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii
      - name: limit
        in: query
        description: The maximum number of items to return per page.
        required: false
        schema:
          type: integer
          format: int64
          maximum: 1000
        example: 1000
      responses:
        '200':
          description: Returns a list of webhooks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhooks'
        '403':
          description: Returns an error if the application does not have the permission to manage webhooks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
      x-box-tag: webhooks
      tags:
      - Webhooks
      x-codeSamples:
      - lang: curl
        label: List all webhooks
        source: "curl -i -X GET \"https://api.box.com/2.0/webhooks\" \\\n     -H \"authorization: Bearer <ACCESS_TOKEN>\""
      - lang: dotnet
        label: List all webhooks
        source: await client.Webhooks.GetWebhooksAsync();
      - lang: swift
        label: List all webhooks
        source: try await client.webhooks.getWebhooks()
      - lang: java
        label: List all webhooks
        source: client.getWebhooks().getWebhooks()
      - lang: node
        label: List all webhooks
        source: await client.webhooks.getWebhooks();
      - lang: python
        label: List all webhooks
        source: client.webhooks.get_webhooks()
    post:
      operationId: post_webhooks
      summary: Create webhook
      description: Creates a webhook.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                target:
                  description: The item that will trigger the webhook.
                  type: object
                  properties:
                    id:
                      description: The ID of the item to trigger a webhook.
                      type: string
                      example: '1231232'
                    type:
                      description: The type of item to trigger a webhook.
                      type: string
                      example: file
                      enum:
                      - file
                      - folder
                address:
                  description: The URL that is notified by this webhook.
                  type: string
                  example: https://example.com/webhooks
                triggers:
                  description: An array of event names that this webhook is to be triggered for.
                  type: array
                  items:
                    title: Webhook Trigger
                    example: FILE.UPLOADED
                    type: string
                    description: The event name that triggered this webhook.
                    enum:
                    - FILE.UPLOADED
                    - FILE.PREVIEWED
                    - FILE.DOWNLOADED
                    - FILE.TRASHED
                    - FILE.DELETED
                    - FILE.RESTORED
                    - FILE.COPIED
                    - FILE.MOVED
                    - FILE.LOCKED
                    - FILE.UNLOCKED
                    - FILE.RENAMED
                    - COMMENT.CREATED
                    - COMMENT.UPDATED
                    - COMMENT.DELETED
                    - TASK_ASSIGNMENT.CREATED
                    - TASK_ASSIGNMENT.UPDATED
                    - METADATA_INSTANCE.CREATED
                    - METADATA_INSTANCE.UPDATED
                    - METADATA_INSTANCE.DELETED
                    - FOLDER.CREATED
                    - FOLDER.RENAMED
                    - FOLDER.DOWNLOADED
                    - FOLDER.RESTORED
                    - FOLDER.DELETED
                    - FOLDER.COPIED
                    - FOLDER.MOVED
                    - FOLDER.TRASHED
                    - WEBHOOK.DELETED
                    - COLLABORATION.CREATED
                    - COLLABORATION.ACCEPTED
                    - COLLABORATION.REJECTED
                    - COLLABORATION.REMOVED
                    - COLLABORATION.UPDATED
                    - SHARED_LINK.DELETED
                    - SHARED_LINK.CREATED
                    - SHARED_LINK.UPDATED
                    - SIGN_REQUEST.COMPLETED
                    - SIGN_REQUEST.DECLINED
                    - SIGN_REQUEST.EXPIRED
                    - SIGN_REQUEST.SIGNER_EMAIL_BOUNCED
                    - SIGN_REQUEST.SIGN_SIGNER_SIGNED
                    - SIGN_REQUEST.SIGN_DOCUMENT_CREATED
                    - SIGN_REQUEST.SIGN_ERROR_FINALIZING
                  example:
                  - FILE.UPLOADED
              required:
              - target
              - triggers
              - address
      responses:
        '201':
          description: Returns the new webhook object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '400':
          description: Returns an error if the parameters were incorrect.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '403':
          description: Returns an error if the application does not have the permission to manage webhooks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Returns an error if the target item could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '409':
          description: Returns an error if the a webhook for this combination of target, application, and user already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
      x-box-tag: webhooks
      tags:
      - Webhooks
      x-codeSamples:
      - lang: curl
        label: Create webhook
        source: "curl -i -X POST \"https://api.box.com/2.0/webhooks\" \\\n     -H \"authorization: Bearer <ACCESS_TOKEN>\" \\\n     -H \"content-type: application/json\" \\\n     -d '{\n       \"target\": {\n         \"id\": \"21322\",\n         \"type\": \"file\"\n       },\n       \"address\": \"https://example.com/webhooks\",\n       \"triggers\": [\n         \"FILE.PREVIEWED\"\n       ]\n     }'"
      - lang: dotnet
        label: Create webhook
        source: 'await client.Webhooks.CreateWebhookAsync(requestBody: new CreateWebhookRequestBody(target: new CreateWebhookRequestBodyTargetField() { Id = folder.Id, Type = CreateWebhookRequestBodyTargetTypeField.Folder }, address: "https://example.com/new-webhook", triggers: Array.AsReadOnly(new [] {new StringEnum<CreateWebhookRequestBodyTriggersField>(CreateWebhookRequestBodyTriggersField.FileUploaded)})));'
      - lang: swift
        label: Create webhook
        source: 'try await client.webhooks.createWebhook(requestBody: CreateWebhookRequestBody(target: CreateWebhookRequestBodyTargetField(id: folder.id, type: CreateWebhookRequestBodyTargetTypeField.folder), address: "https://example.com/new-webhook", triggers: [CreateWebhookRequestBodyTriggersField.fileUploaded]))'
      - lang: java
        label: Create webhook
        source: client.getWebhooks().createWebhook(new CreateWebhookRequestBody(new CreateWebhookRequestBodyTargetField.Builder().id(folder.getId()).type(CreateWebhookRequestBodyTargetTypeField.FOLDER).build(), "https://example.com/new-webhook", Arrays.asList(CreateWebhookRequestBodyTriggersField.FILE_UPLOADED)))
      - lang: node
        label: Create webhook
        source: "await client.webhooks.createWebhook({\n  target: {\n    id: folder.id,\n    type: 'folder' as CreateWebhookRequestBodyTargetTypeField,\n  } satisfies CreateWebhookRequestBodyTargetField,\n  address: 'https://example.com/new-webhook',\n  triggers: ['FILE.UPLOADED' as CreateWebhookRequestBodyTriggersField],\n} satisfies CreateWebhookRequestBody);"
      - lang: python
        label: Create webhook
        source: "client.webhooks.create_webhook(\n    CreateWebhookTarget(id=folder.id, type=CreateWebhookTargetTypeField.FOLDER),\n    \"https://example.com/new-webhook\",\n    [CreateWebhookTriggers.FILE_UPLOADED],\n)"
  /webhooks/{webhook_id}:
    get:
      operationId: get_webhooks_id
      summary: Get webhook
      description: Retrieves a specific webhook.
      parameters:
      - name: webhook_id
        in: path
        description: The ID of the webhook.
        required: true
        schema:
          type: string
        example: '3321123'
      responses:
        '200':
          description: Returns a webhook object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '403':
          description: Returns an error if the application does not have the permission to manage webhooks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Returns an error if the webhook could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
      x-box-tag: webhooks
      tags:
      - Webhooks
      x-codeSamples:
      - lang: curl
        label: Get webhook
        source: "curl -i -X GET \"https://api.box.com/2.0/webhooks/3321123\" \\\n     -H \"authorization: Bearer <ACCESS_TOKEN>\""
      - lang: dotnet
        label: Get webhook
        source: 'await client.Webhooks.GetWebhookByIdAsync(webhookId: NullableUtils.Unwrap(webhook.Id));'
      - lang: swift
        label: Get webhook
        source: 'try await client.webhooks.getWebhookById(webhookId: webhook.id!)'
      - lang: java
        label: Get webhook
        source: client.getWebhooks().getWebhookById(webhook.getId())
      - lang: node
        label: Get webhook
        source: await client.webhooks.getWebhookById(webhook.id!);
      - lang: python
        label: Get webhook
        source: client.webhooks.get_webhook_by_id(webhook.id)
    put:
      operationId: put_webhooks_id
      summary: Update webhook
      description: Updates a webhook.
      parameters:
      - name: webhook_id
        in: path
        description: The ID of the webhook.
        required: true
        schema:
          type: string
        example: '3321123'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                target:
                  description: The item that will trigger the webhook.
                  type: object
                  properties:
                    id:
                      description: The ID of the item to trigger a webhook.
                      type: string
                      example: '1231232'
                    type:
                      description: The type of item to trigger a webhook.
                      type: string
                      example: file
                      enum:
                      - file
                      - folder
                address:
                  description: The URL that is notified by this webhook.
                  type: string
                  example: https://example.com/webhooks
                triggers:
                  description: An array of event names that this webhook is to be triggered for.
                  type: array
                  items:
                    title: Webhook Trigger
                    example: FILE.UPLOADED
                    type: string
                    description: The event name that triggered this webhook.
                    enum:
                    - FILE.UPLOADED
                    - FILE.PREVIEWED
                    - FILE.DOWNLOADED
                    - FILE.TRASHED
                    - FILE.DELETED
                    - FILE.RESTORED
                    - FILE.COPIED
                    - FILE.MOVED
                    - FILE.LOCKED
                    - FILE.UNLOCKED
                    - FILE.RENAMED
                    - COMMENT.CREATED
                    - COMMENT.UPDATED
                    - COMMENT.DELETED
                    - TASK_ASSIGNMENT.CREATED
                    - TASK_ASSIGNMENT.UPDATED
                    - METADATA_INSTANCE.CREATED
                    - METADATA_INSTANCE.UPDATED
                    - METADATA_INSTANCE.DELETED
                    - FOLDER.CREATED
                    - FOLDER.RENAMED
                    - FOLDER.DOWNLOADED
                    - FOLDER.RESTORED
                    - FOLDER.DELETED
                    - FOLDER.COPIED
                    - FOLDER.MOVED
                    - FOLDER.TRASHED
                    - WEBHOOK.DELETED
                    - COLLABORATION.CREATED
                    - COLLABORATION.ACCEPTED
                    - COLLABORATION.REJECTED
                    - COLLABORATION.REMOVED
                    - COLLABORATION.UPDATED
                    - SHARED_LINK.DELETED
                    - SHARED_LINK.CREATED
                    - SHARED_LINK.UPDATED
                    - SIGN_REQUEST.COMPLETED
                    - SIGN_REQUEST.DECLINED
                    - SIGN_REQUEST.EXPIRED
                    - SIGN_REQUEST.SIGNER_EMAIL_BOUNCED
                    - SIGN_REQUEST.SIGN_SIGNER_SIGNED
                    - SIGN_REQUEST.SIGN_DOCUMENT_CREATED
                    - SIGN_REQUEST.SIGN_ERROR_FINALIZING
                  example:
                  - FILE.UPLOADED
      responses:
        '200':
          description: Returns the new webhook object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '400':
          description: Returns an error if the parameters were incorrect.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '403':
          description: Returns an error if the application does not have the permission to manage webhooks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Returns an error if the target item or webhook could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '409':
          description: Returns an error if the a webhook for this combination of target, application, and user already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
      x-box-tag: webhooks
      tags:
      - Webhooks
      x-codeSamples:
      - lang: curl
        label: Update webhook
        source: "curl -i -X PUT \"https://api.box.com/2.0/webhooks/3321123\" \\\n     -H \"authorization: Bearer <ACCESS_TOKEN>\" \\\n     -H \"content-type: application/json\" \\\n     -d '{\n       \"triggers\": [\n         \"FILE.DOWNLOADED\"\n       ]\n     }'"
      - lang: dotnet
        label: Update webhook
        source: 'await client.Webhooks.UpdateWebhookByIdAsync(webhookId: NullableUtils.Unwrap(webhook.Id), requestBody: new UpdateWebhookByIdRequestBody() { Address = "https://example.com/updated-webhook" });'
      - lang: swift
        label: Update webhook
        source: 'try await client.webhooks.updateWebhookById(webhookId: webhook.id!, requestBody: UpdateWebhookByIdRequestBody(address: "https://example.com/updated-webhook"))'
      - lang: java
        label: Update webhook
        source: client.getWebhooks().updateWebhookById(webhook.getId(), new UpdateWebhookByIdRequestBody.Builder().address("https://example.com/updated-webhook").build())
      - lang: node
        label: Update webhook
        source: "await client.webhooks.updateWebhookById(webhook.id!, {\n  requestBody: {\n    address: 'https://example.com/updated-webhook',\n  } satisfies UpdateWebhookByIdRequestBody,\n} satisfies UpdateWebhookByIdOptionalsInput);"
      - lang: python
        label: Update webhook
        source: "client.webhooks.update_webhook_by_id(\n    webhook.id, address=\"https://example.com/updated-webhook\"\n)"
    delete:
      operationId: delete_webhooks_id
      summary: Remove webhook
      description: Deletes a webhook.
      parameters:
      - name: webhook_id
        in: path
        description: The ID of the webhook.
        required: true
        schema:
          type: string
        example: '3321123'
      responses:
        '204':
          description: An empty response will be returned when the webhook was successfully deleted.
        '403':
          description: Returns an error if the application does not have the permission to manage webhooks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Returns an error if the webhook could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
      x-box-tag: webhooks
      tags:
      - Webhooks
      x-codeSamples:
      - lang: curl
        label: Remove webhook
        source: "curl -i -X DELETE \"https://api.box.com/2.0/webhooks/3321123\" \\\n     -H \"authorization: Bearer <ACCESS_TOKEN>\""
      - lang: dotnet
        label: Remove webhook
        source: 'await client.Webhooks.DeleteWebhookByIdAsync(webhookId: NullableUtils.Unwrap(webhook.Id));'
      - lang: swift
        label: Remove webhook
        source: 'try await client.webhooks.deleteWebhookById(webhookId: webhook.id!)'
      - lang: java
        label: Remove webhook
        source: client.getWebhooks().deleteWebhookById(webhook.getId())
      - lang: node
        label: Remove webhook
        source: await client.webhooks.deleteWebhookById(webhook.id!);
      - lang: python
        label: Remove webhook
        source: client.webhooks.delete_webhook_by_id(webhook.id)
components:
  schemas:
    Webhook:
      description: Represents a configured webhook.
      type: object
      allOf:
      - $ref: '#/components/schemas/Webhook--Mini'
      - properties:
          created_by:
            allOf:
            - $ref: '#/components/schemas/User--Mini'
            - description: The user who created the webhook.
          created_at:
            description: A timestamp identifying the time that the webhook was created.
            type: string
            format: date-time
            example: '2012-12-12T10:53:43-08:00'
          address:
            description: The URL that is notified by this webhook.
            type: string
            example: https://example.com/webhooks
          triggers:
            description: An array of event names that this webhook is to be triggered for.
            type: array
            items:
              title: Webhook Trigger
              example: FILE.UPLOADED
              type: string
              description: The event name that triggered this webhook.
              enum:
              - FILE.UPLOADED
              - FILE.PREVIEWED
              - FILE.DOWNLOADED
              - FILE.TRASHED
              - FILE.DELETED
              - FILE.RESTORED
              - FILE.COPIED
              - FILE.MOVED
              - FILE.LOCKED
              - FILE.UNLOCKED
              - FILE.RENAMED
              - COMMENT.CREATED
              - COMMENT.UPDATED
              - COMMENT.DELETED
              - TASK_ASSIGNMENT.CREATED
              - TASK_ASSIGNMENT.UPDATED
              - METADATA_INSTANCE.CREATED
              - METADATA_INSTANCE.UPDATED
              - METADATA_INSTANCE.DELETED
              - FOLDER.CREATED
              - FOLDER.RENAMED
              - FOLDER.DOWNLOADED
              - FOLDER.RESTORED
              - FOLDER.DELETED
              - FOLDER.COPIED
              - FOLDER.MOVED
              - FOLDER.TRASHED
              - WEBHOOK.DELETED
              - COLLABORATION.CREATED
              - COLLABORATION.ACCEPTED
              - COLLABORATION.REJECTED
              - COLLABORATION.REMOVED
              - COLLABORATION.UPDATED
              - SHARED_LINK.DELETED
              - SHARED_LINK.CREATED
              - SHARED_LINK.UPDATED
              - SIGN_REQUEST.COMPLETED
              - SIGN_REQUEST.DECLINED
              - SIGN_REQUEST.EXPIRED
              - SIGN_REQUEST.SIGNER_EMAIL_BOUNCED
              - SIGN_REQUEST.SIGN_SIGNER_SIGNED
              - SIGN_REQUEST.SIGN_DOCUMENT_CREATED
              - SIGN_REQUEST.SIGN_ERROR_FINALIZING
            example:
            - FILE.UPLOADED
      title: Webhook
      x-box-resource-id: webhook
      x-box-tag: webhooks
      x-box-variant: standard
    Webhook--Mini:
      description: Represents a configured webhook.
      type: object
      properties:
        id:
          description: The unique identifier for this webhook.
          type: string
          example: '11446498'
        type:
          description: The value will always be `webhook`.
          type: string
          example: webhook
          enum:
          - webhook
        target:
          description: The item that will trigger the webhook.
          type: object
          properties:
            id:
              description: The ID of the item to trigger a webhook.
              type: string
              example: '1231232'
            type:
              description: The type of item to trigger a webhook.
              type: string
              example: file
              enum:
              - file
              - folder
      title: Webhook (Mini)
      x-box-resource-id: webhook--mini
      x-box-tag: webhooks
      x-box-variant: mini
      x-box-variants:
      - mini
      - standard
    ClientError:
      description: A generic error.
      type: object
      properties:
        type:
          description: The value will always be `error`.
          type: string
          example: error
          enum:
          - error
        status:
          description: The HTTP status of the response.
          type: integer
          format: int32
          example: 400
        code:
          description: A Box-specific error code.
          type: string
          example: item_name_invalid
          enum:
          - created
          - accepted
          - no_content
          - redirect
          - not_modified
          - bad_request
          - unauthorized
          - forbidden
          - not_found
          - method_not_allowed
          - conflict
          - precondition_failed
          - unprocessable_entity
          - too_many_requests
          - internal_server_error
          - unavailable
          - item_name_invalid
          - insufficient_scope
        message:
          description: A short message describing the error.
          type: string
          example: Method Not Allowed
        context_info:
          description: A free-form object that contains additional context about the error. The possible fields are defined on a per-endpoint basis. `message` is only one example.
          type:
          - object
          - 'null'
          example:
            message: Something went wrong
          additionalProperties: {}
        help_url:
          description: A URL that links to more information about why this error occurred.
          type: string
          example: https://developer.box.com/guides/api-calls/permissions-and-errors/common-errors/
        request_id:
          description: A unique identifier for this response, which can be used when contacting Box support.
          type: string
          example: abcdef123456
      title: Client error
      x-box-resource-id: client_error
    User--Mini:
      description: A mini representation of a user, as can be returned when nested within other resources.
      type: object
      allOf:
      - $ref: '#/components/schemas/User--Base'
      - properties:
          name:
            description: The display name of this user.
            type: string
            example: Aaron Levie
            maxLength: 50
          login:
            description: The primary email address of this user.
            type: string
            format: email
            example: ceo@example.com
      title: User (Mini)
      x-box-resource-id: user--mini
      x-box-tag: users
      x-box-variant: mini
    Webhooks:
      description: A list of webhooks.
      type: object
      allOf:
      - type: object
        description: The part of an API response that describes marker based pagination.
        properties:
          limit:
            description: The limit that was used for these entries. This will be the same as the `limit` query parameter unless that value exceeded the maximum value allowed. The maximum value varies by API.
            type: integer
            format: int64
            example: 1000
          next_marker:
            description: The marker for the start of the next page of results.
            type:
            - string
            - 'null'
            example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii
          prev_marker:
            description: The marker for the start of the previous page of results.
            type:
            - string
            - 'null'
            example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih
      - properties:
          entries:
            description: A list of webhooks.
            type: array
            items:
              $ref: '#/components/schemas/Webhook--Mini'
      title: Webhooks
      x-box-resource-id: webhooks
      x-box-tag: webhooks
    User--Base:
      description: A mini representation of a user, used when nested within another resource.
      type: object
      properties:
        id:
          description: The unique identifier for this user.
          type: string
          example: '11446498'
        type:
          description: The value will always be `user`.
          type: string
          example: user
          enum:
          - user
      required:
      - type
      - id
      title: User (Base)
      x-box-resource-id: user--base
      x-box-tag: users
      x-box-variant: base
      x-box-variants:
      - base
      - mini
      - standard
      - full
  securitySchemes:
    OAuth2Security:
      type: oauth2
      description: The access token received from the authorization server in the OAuth 2.0 flow.
      flows:
        authorizationCode:
          authorizationUrl: https://account.box.com/api/oauth2/authorize
          tokenUrl: https://api.box.com/oauth2/token
          scopes:
            root_readonly: Read all files and folders stored in Box
            root_readwrite: Read and write all files and folders stored in Box
            manage_app_users: Provision and manage app users
            manage_managed_users: Provision and manage managed users
            manage_groups: Manage an enterprise's groups
            manage_webhook: Create webhooks programmatically through the API
            manage_enterprise_properties: Manage enterprise properties
            manage_data_retention: Manage data retention polices
            manage_legal_hold: Manage Legal Holds
externalDocs:
  description: Box Developer Documentation.
  url: https://developer.box.com
x-mint:
  mcp:
    enabled: true
x-provenance:
  method: harvested
  publisher: Box
  source: https://developer.box.com/box-openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)