flippercloud/flipper · error · ArgumentError
version should be a string
Error message
version should be a string
What it means
Error "version should be a string" thrown in flippercloud/flipper.
Source
Thrown at lib/flipper/cloud/message_verifier.rb:23
module Cloud
class MessageVerifier
class InvalidSignature < StandardError; end
DEFAULT_VERSION = "v1"
def self.header(signature, timestamp, version = DEFAULT_VERSION)
raise ArgumentError, "timestamp should be an instance of Time" unless timestamp.is_a?(Time)
raise ArgumentError, "signature should be a string" unless signature.is_a?(String)
"t=#{timestamp.to_i},#{version}=#{signature}"
end
def initialize(secret:, version: DEFAULT_VERSION)
@secret = secret
@version = version || DEFAULT_VERSION
raise ArgumentError, "secret should be a string" unless @secret.is_a?(String)
raise ArgumentError, "secret should not be empty" if @secret.empty?
raise ArgumentError, "version should be a string" unless @version.is_a?(String)
end
def generate(payload, timestamp)
raise ArgumentError, "timestamp should be an instance of Time" unless timestamp.is_a?(Time)
raise ArgumentError, "payload should be a string" unless payload.is_a?(String)
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha256"), @secret, "#{timestamp.to_i}.#{payload}")
end
def header(signature, timestamp)
self.class.header(signature, timestamp, @version)
end
# Public: Verifies the signature header for a given payload.
#
# Raises a InvalidSignature in the following cases:
# - the header does not match the expected format
# - no signatures found with the expected schemeView on GitHub (pinned to 1f86de3ec9)
Solutions
- Pass the signature version as a String (e.g. 'v1'), matching the version prefix in the signature header
- Use the default version by not overriding it, or set it to the string documented for your Flipper Cloud webhooks
- Do not pass a Symbol or Integer for the version option
When it happens
Trigger: Thrown at lib/flipper/cloud/message_verifier.rb:23 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of flippercloud/flipper@1f86de3ec9 (2026-08-23).
Data as JSON: /api/errors/6b2841768d4f5752.
Report an issue: GitHub.