{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/argyle9a25/json-schema/argyle9a25-consolidated-webhook-subscription-request-schema.json",
  "title": "ConsolidatedWebhookSubscriptionRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/argyle9a25-webhook-management-api-openapi.yml#/components/schemas/ConsolidatedWebhookSubscriptionRequest",
  "type": "object",
  "properties": {
    "events": {
      "type": "array",
      "description": "Webhook events to include in the webhook subscription.",
      "items": {
        "type": "string",
        "enum": [
          "users.fully_synced",
          "accounts.added",
          "accounts.updated",
          "accounts.removed",
          "accounts.connected",
          "accounts.failed",
          "items.updated",
          "items.removed",
          "identities.added",
          "identities.updated",
          "paystubs.added",
          "paystubs.updated",
          "paystubs.partially_synced",
          "paystubs.fully_synced",
          "payroll_documents.added",
          "payroll_documents.updated",
          "payroll_documents.removed",
          "payroll_documents.ocr_completed",
          "payroll_documents.ocr_failed",
          "deposit_destinations.added",
          "deposit_destinations.updated",
          "deposit_destinations.removed",
          "direct_deposit_switches.completed",
          "direct_deposit_switches.failed",
          "shifts.added",
          "shifts.updated",
          "shifts.removed",
          "shifts.partially_synced",
          "shifts.fully_synced",
          "gigs.added",
          "gigs.updated",
          "gigs.removed",
          "gigs.partially_synced",
          "gigs.fully_synced",
          "vehicles.added",
          "vehicles.updated",
          "vehicles.removed",
          "ratings.added",
          "ratings.updated",
          "reports.ready",
          "reports.generated",
          "user_uploads.added",
          "user_uploads.removed",
          "user_uploads.ocr_completed",
          "user_uploads.ocr_failed",
          "user_uploads.ocr_authenticity",
          "user_forms.removed",
          "user_forms.submitted",
          "verifications.updated",
          "verifications.creation_failed",
          "verifications.connection_added"
        ]
      }
    },
    "name": {
      "type": "string",
      "description": "Name for the webhook subscription."
    },
    "url": {
      "type": "string",
      "description": "Where you want to receive webhook delivery. This can be either a backend URL that you manage, or a URL provided by a webhook management service. Argyle handles URL encoding for webhook URLs. Send the URL in its normal, unencoded form."
    },
    "secret": {
      "type": [
        "string",
        "null"
      ],
      "description": "Optional secret used to verify webhooks."
    },
    "config": {
      "type": "object",
      "description": "Optional event-specific configuration for the webhook subscription. (*Only applicable to certain webhooks*)",
      "additionalProperties": true
    }
  },
  "required": [
    "events",
    "name",
    "url"
  ]
}