Honeycomb · Schema

Honeycomb Recipient

JSON Schema for the Honeycomb Recipient resource. Generated from the Honeycomb API OpenAPI spec.

ObservabilityTracingDistributed TracingTelemetryOpenTelemetryEventsLogsMetricsSLOAIOpsAI Observability

Properties

Name Type Description
type string
View JSON Schema on GitHub

JSON Schema

honeycomb-recipient-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/honeycomb-io/main/json-schema/honeycomb-recipient-schema.json",
  "title": "Honeycomb Recipient",
  "description": "JSON Schema for the Honeycomb Recipient resource. Generated from the Honeycomb API OpenAPI spec.",
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    }
  },
  "discriminator": {
    "propertyName": "type",
    "mapping": {
      "pagerduty": "#/components/schemas/PagerDutyRecipient",
      "email": "#/components/schemas/EmailRecipient",
      "slack": "#/components/schemas/SlackRecipient",
      "webhook": "#/components/schemas/WebhookRecipient",
      "msteams": "#/components/schemas/MSTeamsRecipient",
      "msteams_workflow": "#/components/schemas/MSTeamsWorkflowRecipient"
    }
  },
  "oneOf": [
    {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "readOnly": true,
              "example": "yUheCUmgZ8p"
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was created.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was updated.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "type": {
              "$ref": "#/components/schemas/RecipientType"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "pagerduty"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "details": {
              "type": "object",
              "required": [
                "pagerduty_integration_name",
                "pagerduty_integration_key"
              ],
              "description": "Specific schema for the Pagerduty Recipient Type",
              "properties": {
                "pagerduty_integration_name": {
                  "type": "string",
                  "description": "A name for this Integration.",
                  "example": "Example PagerDuty Service"
                },
                "pagerduty_integration_key": {
                  "type": "string",
                  "description": "Pagerduty Integration Key.",
                  "example": "7zOwh1edS8xHGcwfb2bA4sqY8E6PJzSK",
                  "minLength": 32,
                  "maxLength": 32
                }
              }
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "readOnly": true,
              "example": "yUheCUmgZ8p"
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was created.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was updated.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "type": {
              "$ref": "#/components/schemas/RecipientType"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "email"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "details": {
              "type": "object",
              "required": [
                "email_address"
              ],
              "description": "Specific schema for the Email Recipient Type",
              "properties": {
                "email_address": {
                  "type": "string",
                  "description": "Email address to notify.",
                  "example": "[email protected]"
                }
              }
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "readOnly": true,
              "example": "yUheCUmgZ8p"
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was created.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was updated.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "type": {
              "$ref": "#/components/schemas/RecipientType"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "slack"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "details": {
              "type": "object",
              "required": [
                "slack_channel"
              ],
              "description": "Specific schema for the Slack Recipient Type.",
              "properties": {
                "slack_channel": {
                  "type": "string",
                  "description": "Slack channel to notify.",
                  "example": "#alerts-channel"
                }
              }
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "readOnly": true,
              "example": "yUheCUmgZ8p"
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was created.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was updated.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "type": {
              "$ref": "#/components/schemas/RecipientType"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "webhook"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "details": {
              "type": "object",
              "required": [
                "webhook_name",
                "webhook_url"
              ],
              "description": "Specific schema for the Webhook Recipient Type",
              "properties": {
                "webhook_headers": {
                  "type": "array",
                  "maxItems": 5,
                  "description": "Custom headers for this webhook",
                  "items": {
                    "$ref": "#/components/schemas/WebhookHeader"
                  },
                  "example": [
                    {
                      "header": "Authorization",
                      "value": "Bearer xyz123"
                    }
                  ]
                },
                "webhook_name": {
                  "type": "string",
                  "maxLength": 255,
                  "description": "A name for this Integration.",
                  "example": "Example webhook"
                },
                "webhook_url": {
                  "type": "string",
                  "description": "Webhook URL.",
                  "maxLength": 2048,
                  "example": "https://webhook.example.com"
                },
                "webhook_secret": {
                  "type": "string",
                  "description": "Webhook secret.",
                  "maxLength": 255,
                  "example": "secret"
                },
                "webhook_payloads": {
                  "type": "object",
                  "description": "Specify a custom webhook payload.",
                  "properties": {
                    "template_variables": {
                      "type": "array",
                      "maxItems": 10,
                      "description": "Custom variable definitions for this webhook",
                      "items": {
                        "$ref": "#/components/schemas/TemplateVariableDefinition"
                      },
                      "example": [
                        {
                          "name": "severity",
                          "default_value": "CRITICAL"
                        }
                      ]
                    },
                    "payload_templates": {
                      "type": "object",
                      "properties": {
                        "trigger": {
                          "$ref": "#/components/schemas/PayloadTemplate"
                        },
                        "budget_rate": {
                          "$ref": "#/components/schemas/PayloadTemplate"
                        },
                        "exhaustion_time": {
                          "$ref": "#/components/schemas/PayloadTemplate"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "readOnly": true,
              "example": "yUheCUmgZ8p"
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was created.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was updated.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "type": {
              "$ref": "#/components/schemas/RecipientType"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "msteams"
              ]
            }
          }
        },
        {
          "type": "object",
          "deprecated": true,
          "properties": {
            "details": {
              "type": "object",
              "required": [
                "webhook_name",
                "webhook_url"
              ],
              "description": "Specific schema for the MS Teams Recipient Type. Now deprecated, please use the `msteams_workflow` type instead.",
              "properties": {
                "webhook_name": {
                  "type": "string",
                  "description": "A name for this recipient.",
                  "example": "My Teams Channel"
                },
                "webhook_url": {
                  "type": "string",
                  "description": "Incoming webhook URL of an Teams instance.",
                  "example": "https://yourco.webhook.office.com/webhook/xxxx"
                }
              }
            }
          }
        }
      ]
    },
    {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "readOnly": true,
              "example": "yUheCUmgZ8p"
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was created.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO8601 formatted time the Recipient was updated.",
              "example": "2022-07-26T22:38:04Z",
              "readOnly": true
            },
            "type": {
              "$ref": "#/components/schemas/RecipientType"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "msteams_workflow"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "details": {
              "type": "object",
              "required": [
                "webhook_name",
                "webhook_url"
              ],
              "description": "Specific schema for the MS Teams Workflow Recipient Type.",
              "properties": {
                "webhook_name": {
                  "type": "string",
                  "maxLength": 255,
                  "description": "A name for this recipient.",
                  "example": "My Teams Channel"
                },
                "webhook_url": {
                  "type": "string",
                  "maxLength": 2048,
                  "description": "Incoming webhook URL of an Teams instance.",
                  "example": "https://test-123.westus.logic.azure.com:443/workflows/54321/triggers/manual/paths/invoke"
                }
              }
            }
          }
        }
      ]
    }
  ]
}