{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/acculynx/json-schema/acculynx-subscription-body-post-schema.json",
  "title": "subscriptionBodyPost",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/acculynx-webhooks-api-openapi.yml#/components/schemas/subscriptionBodyPost",
  "properties": {
    "consumerUrl": {
      "description": "The URL where webhook events will be sent.\n- Must be a valid, publicly accessible HTTPS URL\n- Must respond to POST requests\n- Cannot be changed after subscription creation\n",
      "format": "uri",
      "type": "string"
    },
    "techContact": {
      "description": "Email address for technical contact.\n- Used for notifications about subscription status changes\n- Used for troubleshooting communication\n- Should be monitored regularly\n",
      "format": "email",
      "type": "string"
    },
    "topicNames": {
      "$ref": "#/$defs/topicNamesCollection"
    },
    "integrationType": {
      "description": "Type that indicates the purpose of the subscription. If nothing is specified, integration type will be Api by default.",
      "type": "string",
      "enum": [
        "Api"
      ]
    }
  },
  "required": [
    "consumerUrl",
    "techContact",
    "topicNames"
  ],
  "type": "object",
  "$defs": {
    "topicNamesCollection": {
      "description": "A collection of topic names to subscribe to.\n- Must contain at least one valid topic name\n- Each topic name must be a string matching an available topic\n- Use GET /topics to retrieve the list of available topics\n",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  }
}