VRPlatformVRPlatform
Webhooks

/webhooks

Create a pending team-owned webhook and return its signing secret once. Deploy the secret at the receiver, then call the explicit test endpoint to verify the subscription. Scope is self for regular teams and managedTeams for partners.

Required scope: webhooks:manage

POST
/webhooks
X-API-Key<token>

API key provided in dashboard

In: header

Request Body

application/json

url*string
Formaturi
Lengthlength <= 2048
eventTypes*array<string>
Items1 <= items
description?string|null

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.vrplatform.app/webhooks" \  -H "Content-Type: application/json" \  -d '{    "url": "http://example.com",    "eventTypes": [      "team.issues.changed"    ]  }'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "scope": "self",
  "url": "http://example.com",
  "status": "pending",
  "revision": 9007199254740991,
  "apiVersion": "2026-07-01",
  "eventTypes": [
    "team.issues.changed"
  ],
  "description": "string",
  "verifiedAt": "2024-01-15T12:30:00.000+00:00",
  "disabledAt": "2024-01-15T12:30:00.000+00:00",
  "createdAt": "2024-01-15T12:30:00.000+00:00",
  "updatedAt": "2024-01-15T12:30:00.000+00:00",
  "secret": "string"
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}