Vapi · Schema

HMACAuthenticationPlan

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
type string
secretKey string This is the HMAC secret key used to sign requests.
algorithm string This is the HMAC algorithm to use for signing.
signatureHeader string This is the header name where the signature will be sent. Defaults to 'x-signature'.
timestampHeader string This is the header name where the timestamp will be sent. Defaults to 'x-timestamp'.
signaturePrefix string This is the prefix for the signature. For example, 'sha256=' for GitHub-style signatures.
includeTimestamp boolean Whether to include a timestamp in the signature payload. Defaults to true.
payloadFormat string Custom payload format. Use {body} for request body, {timestamp} for timestamp, {method} for HTTP method, {url} for URL, {svix-id} for unique message ID. Defaults to '{timestamp}.{body}'.
messageIdHeader string This is the header name where the unique message ID will be sent. Used for Svix-style webhooks.
signatureEncoding string The encoding format for the signature. Defaults to 'hex'.
secretIsBase64 boolean Whether the secret key is base64-encoded and should be decoded before use. Defaults to false.
View JSON Schema on GitHub

JSON Schema

vapi-hmacauthenticationplan-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/HMACAuthenticationPlan",
  "title": "HMACAuthenticationPlan",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "hmac"
      ]
    },
    "secretKey": {
      "type": "string",
      "description": "This is the HMAC secret key used to sign requests."
    },
    "algorithm": {
      "type": "string",
      "enum": [
        "sha256",
        "sha512",
        "sha1"
      ],
      "description": "This is the HMAC algorithm to use for signing."
    },
    "signatureHeader": {
      "type": "string",
      "description": "This is the header name where the signature will be sent. Defaults to 'x-signature'."
    },
    "timestampHeader": {
      "type": "string",
      "description": "This is the header name where the timestamp will be sent. Defaults to 'x-timestamp'."
    },
    "signaturePrefix": {
      "type": "string",
      "description": "This is the prefix for the signature. For example, 'sha256=' for GitHub-style signatures."
    },
    "includeTimestamp": {
      "type": "boolean",
      "description": "Whether to include a timestamp in the signature payload. Defaults to true."
    },
    "payloadFormat": {
      "type": "string",
      "description": "Custom payload format. Use {body} for request body, {timestamp} for timestamp, {method} for HTTP method, {url} for URL, {svix-id} for unique message ID. Defaults to '{timestamp}.{body}'."
    },
    "messageIdHeader": {
      "type": "string",
      "description": "This is the header name where the unique message ID will be sent. Used for Svix-style webhooks."
    },
    "signatureEncoding": {
      "type": "string",
      "enum": [
        "hex",
        "base64"
      ],
      "description": "The encoding format for the signature. Defaults to 'hex'."
    },
    "secretIsBase64": {
      "type": "boolean",
      "description": "Whether the secret key is base64-encoded and should be decoded before use. Defaults to false."
    }
  },
  "required": [
    "type",
    "secretKey",
    "algorithm"
  ]
}