{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ahasend/refs/heads/main/json-schema/openapi-v2-route-schema.json",
  "title": "Route",
  "description": "Route schema from AhaSend API",
  "type": "object",
  "properties": {
    "object": {
      "type": "string",
      "enum": [
        "route"
      ],
      "description": "Object type identifier",
      "example": "route"
    },
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier for the route",
      "example": "500123"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the route was created",
      "example": "2025-03-15T14:30:00Z"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the route was last updated",
      "example": "2025-03-15T14:30:00Z"
    },
    "name": {
      "type": "string",
      "description": "Route name",
      "example": "Example Name"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Webhook URL for the route",
      "example": "https://example.com"
    },
    "recipient": {
      "type": "string",
      "nullable": true,
      "description": "Recipient filter",
      "example": "example_value"
    },
    "attachments": {
      "type": "boolean",
      "description": "Whether to include attachments in route payload",
      "example": true
    },
    "headers": {
      "type": "boolean",
      "description": "Whether to include headers in route payload",
      "example": true
    },
    "group_by_message_id": {
      "type": "boolean",
      "description": "Whether to group by message ID",
      "example": true
    },
    "strip_replies": {
      "type": "boolean",
      "description": "Whether to strip reply content",
      "example": true
    },
    "enabled": {
      "type": "boolean",
      "description": "Whether the route is enabled",
      "example": true
    },
    "success_count": {
      "type": "integer",
      "description": "Number of successful calls",
      "example": 1
    },
    "error_count": {
      "type": "integer",
      "description": "Number of unsuccessful calls",
      "example": 1
    },
    "errors_since_last_success": {
      "type": "integer",
      "description": "Number of consecutive failed calls",
      "example": 1
    },
    "last_request_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the route was last called",
      "example": "2025-03-15T14:30:00Z"
    }
  },
  "required": [
    "object",
    "id",
    "created_at",
    "updated_at",
    "name",
    "url",
    "enabled"
  ]
}