Skip to main content
Connect-RPC / OpenAPI 3.1

API Explorer

Evaluate flags, resolve types, and stream real-time updates over the Connect protocol.

https://flaggr.devProduction
http://localhost:3000Local development

Bearer token required. Pass Authorization: Bearer flg_... on all requests. Public flags can be evaluated without auth. Auth docs →

Evaluation Service

6 endpoints

Flag evaluation service — single flag, bulk, and type-specific resolution (boolean, string, number, object)

POST

BulkEvaluateFlags

Evaluate multiple flags

Request
flaggr.v1.BulkEvaluateFlagsRequest
flagKeysarray<string>Flag keys to evaluate (empty = all flags)
contextobjectEvaluation context containing user/request attributes
targetingKeystringPrimary identifier for targeting (e.g., user ID)
stringAttributesobjectString attributes
numberAttributesobjectNumber attributes
boolAttributesobjectBoolean attributes
timestampstringTimestamp when context was created
serviceIdstringService ID for scoping
environmentenumEnvironment enumeration
ENVIRONMENT_UNSPECIFIEDENVIRONMENT_DEVELOPMENTENVIRONMENT_STAGINGENVIRONMENT_PRODUCTION
Response 200
flaggr.v1.BulkEvaluateFlagsResponse
flagsobjectMap of flag key to evaluation result
flagKeystringFlag key that was evaluated
valueoneOfGeneric value that can hold different types
variantstringVariant name if applicable
reasonenumReason for the evaluation result
errorCodeenumError codes for failed evaluations
errorMessagestringError message if evaluation failed
metadataobjectAdditional metadata
evaluatedAtstringEvaluation timestamp
flagVersionint64Flag version used for this evaluation
totalintegerTotal flags evaluated
evaluatedAtstringEvaluation timestamp
Try it
Bearer
Request Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
POST

EvaluateFlag

Evaluate a single flag

Request
flaggr.v1.EvaluateFlagRequest
flagKeystringFlag key to evaluate
contextobjectEvaluation context containing user/request attributes
targetingKeystringPrimary identifier for targeting (e.g., user ID)
stringAttributesobjectString attributes
numberAttributesobjectNumber attributes
boolAttributesobjectBoolean attributes
timestampstringTimestamp when context was created
defaultValueoneOfGeneric value that can hold different types
boolValue*booleanbool value
jsonValue*stringSerialized JSON for object types
numberValue*doublenumber value
stringValue*stringstring value
serviceIdstringService ID for scoping
environmentenumEnvironment enumeration
ENVIRONMENT_UNSPECIFIEDENVIRONMENT_DEVELOPMENTENVIRONMENT_STAGINGENVIRONMENT_PRODUCTION
Response 200
flaggr.v1.EvaluateFlagResponse
flagKeystringFlag key that was evaluated
valueoneOfGeneric value that can hold different types
boolValue*booleanbool value
jsonValue*stringSerialized JSON for object types
numberValue*doublenumber value
stringValue*stringstring value
variantstringVariant name if applicable
reasonenumReason for the evaluation result
EVALUATION_REASON_UNSPECIFIEDEVALUATION_REASON_STATICEVALUATION_REASON_DEFAULTEVALUATION_REASON_TARGETING_MATCHEVALUATION_REASON_SPLITEVALUATION_REASON_CACHEDEVALUATION_REASON_FLAG_NOT_FOUNDEVALUATION_REASON_ERROREVALUATION_REASON_DISABLED
errorCodeenumError codes for failed evaluations
EVALUATION_ERROR_CODE_UNSPECIFIEDEVALUATION_ERROR_CODE_PROVIDER_NOT_READYEVALUATION_ERROR_CODE_FLAG_NOT_FOUNDEVALUATION_ERROR_CODE_PARSE_ERROREVALUATION_ERROR_CODE_TYPE_MISMATCHEVALUATION_ERROR_CODE_GENERALEVALUATION_ERROR_CODE_INVALID_CONTEXT
errorMessagestringError message if evaluation failed
metadataobjectAdditional metadata
evaluatedAtstringEvaluation timestamp
flagVersionint64Flag version used for this evaluation
Try it
Bearer
Request Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
POST

ResolveBoolean

Type-specific evaluation methods

Request
flaggr.v1.ResolveBooleanRequest
flagKeystringflag key
defaultValuebooleandefault value
contextobjectEvaluation context containing user/request attributes
targetingKeystringPrimary identifier for targeting (e.g., user ID)
stringAttributesobjectString attributes
numberAttributesobjectNumber attributes
boolAttributesobjectBoolean attributes
timestampstringTimestamp when context was created
serviceIdstringservice id
Response 200
flaggr.v1.ResolveBooleanResponse
valuebooleanvalue
variantstringvariant
reasonenumReason for the evaluation result
EVALUATION_REASON_UNSPECIFIEDEVALUATION_REASON_STATICEVALUATION_REASON_DEFAULTEVALUATION_REASON_TARGETING_MATCHEVALUATION_REASON_SPLITEVALUATION_REASON_CACHEDEVALUATION_REASON_FLAG_NOT_FOUNDEVALUATION_REASON_ERROREVALUATION_REASON_DISABLED
errorCodeenumError codes for failed evaluations
EVALUATION_ERROR_CODE_UNSPECIFIEDEVALUATION_ERROR_CODE_PROVIDER_NOT_READYEVALUATION_ERROR_CODE_FLAG_NOT_FOUNDEVALUATION_ERROR_CODE_PARSE_ERROREVALUATION_ERROR_CODE_TYPE_MISMATCHEVALUATION_ERROR_CODE_GENERALEVALUATION_ERROR_CODE_INVALID_CONTEXT
errorMessagestringerror message
metadataobjectmetadata
Try it
Bearer
Request Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
POST

ResolveNumber

Request
flaggr.v1.ResolveNumberRequest
flagKeystringflag key
defaultValuedoubledefault value
contextobjectEvaluation context containing user/request attributes
targetingKeystringPrimary identifier for targeting (e.g., user ID)
stringAttributesobjectString attributes
numberAttributesobjectNumber attributes
boolAttributesobjectBoolean attributes
timestampstringTimestamp when context was created
serviceIdstringservice id
Response 200
flaggr.v1.ResolveNumberResponse
valuedoublevalue
variantstringvariant
reasonenumReason for the evaluation result
EVALUATION_REASON_UNSPECIFIEDEVALUATION_REASON_STATICEVALUATION_REASON_DEFAULTEVALUATION_REASON_TARGETING_MATCHEVALUATION_REASON_SPLITEVALUATION_REASON_CACHEDEVALUATION_REASON_FLAG_NOT_FOUNDEVALUATION_REASON_ERROREVALUATION_REASON_DISABLED
errorCodeenumError codes for failed evaluations
EVALUATION_ERROR_CODE_UNSPECIFIEDEVALUATION_ERROR_CODE_PROVIDER_NOT_READYEVALUATION_ERROR_CODE_FLAG_NOT_FOUNDEVALUATION_ERROR_CODE_PARSE_ERROREVALUATION_ERROR_CODE_TYPE_MISMATCHEVALUATION_ERROR_CODE_GENERALEVALUATION_ERROR_CODE_INVALID_CONTEXT
errorMessagestringerror message
metadataobjectmetadata
Try it
Bearer
Request Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
POST

ResolveObject

Request
flaggr.v1.ResolveObjectRequest
flagKeystringflag key
defaultValuestringJSON string
contextobjectEvaluation context containing user/request attributes
targetingKeystringPrimary identifier for targeting (e.g., user ID)
stringAttributesobjectString attributes
numberAttributesobjectNumber attributes
boolAttributesobjectBoolean attributes
timestampstringTimestamp when context was created
serviceIdstringservice id
Response 200
flaggr.v1.ResolveObjectResponse
valuestringJSON string
variantstringvariant
reasonenumReason for the evaluation result
EVALUATION_REASON_UNSPECIFIEDEVALUATION_REASON_STATICEVALUATION_REASON_DEFAULTEVALUATION_REASON_TARGETING_MATCHEVALUATION_REASON_SPLITEVALUATION_REASON_CACHEDEVALUATION_REASON_FLAG_NOT_FOUNDEVALUATION_REASON_ERROREVALUATION_REASON_DISABLED
errorCodeenumError codes for failed evaluations
EVALUATION_ERROR_CODE_UNSPECIFIEDEVALUATION_ERROR_CODE_PROVIDER_NOT_READYEVALUATION_ERROR_CODE_FLAG_NOT_FOUNDEVALUATION_ERROR_CODE_PARSE_ERROREVALUATION_ERROR_CODE_TYPE_MISMATCHEVALUATION_ERROR_CODE_GENERALEVALUATION_ERROR_CODE_INVALID_CONTEXT
errorMessagestringerror message
metadataobjectmetadata
Try it
Bearer
Request Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
POST

ResolveString

Request
flaggr.v1.ResolveStringRequest
flagKeystringflag key
defaultValuestringdefault value
contextobjectEvaluation context containing user/request attributes
targetingKeystringPrimary identifier for targeting (e.g., user ID)
stringAttributesobjectString attributes
numberAttributesobjectNumber attributes
boolAttributesobjectBoolean attributes
timestampstringTimestamp when context was created
serviceIdstringservice id
Response 200
flaggr.v1.ResolveStringResponse
valuestringvalue
variantstringvariant
reasonenumReason for the evaluation result
EVALUATION_REASON_UNSPECIFIEDEVALUATION_REASON_STATICEVALUATION_REASON_DEFAULTEVALUATION_REASON_TARGETING_MATCHEVALUATION_REASON_SPLITEVALUATION_REASON_CACHEDEVALUATION_REASON_FLAG_NOT_FOUNDEVALUATION_REASON_ERROREVALUATION_REASON_DISABLED
errorCodeenumError codes for failed evaluations
EVALUATION_ERROR_CODE_UNSPECIFIEDEVALUATION_ERROR_CODE_PROVIDER_NOT_READYEVALUATION_ERROR_CODE_FLAG_NOT_FOUNDEVALUATION_ERROR_CODE_PARSE_ERROREVALUATION_ERROR_CODE_TYPE_MISMATCHEVALUATION_ERROR_CODE_GENERALEVALUATION_ERROR_CODE_INVALID_CONTEXT
errorMessagestringerror message
metadataobjectmetadata
Try it
Bearer
Request Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Flag Stream Service

1 endpoints

Real-time flag streaming — server-sent updates, bidirectional sync, and configuration fetch

STREAM

GetConfiguration

Live

Get current configuration (unary, for initial load)

Request
flaggr.v1.StreamFlagsRequest
serviceIdstringService ID to subscribe to
environmentenumEnvironment enumeration
ENVIRONMENT_UNSPECIFIEDENVIRONMENT_DEVELOPMENTENVIRONMENT_STAGINGENVIRONMENT_PRODUCTION
flagKeysarray<string>Specific flag keys to watch (empty = all flags)
lastKnownVersionstringLast known configuration version (for delta sync)
clientIdstringClient identifier for connection tracking
apiTokenstringAPI token for authentication
Response 200
flaggr.v1.ConfigurationSync
configurationobjectCollection of flags for bulk operations
flagsobjectMap of flag key to flag definition
versionstringConfiguration version
generatedAtstringWhen this configuration was generated
serviceIdstringService ID for scoped configurations
projectIdstringProject ID for scoped configurations
timestampstringTimestamp of sync
Try itStreaming — use SDK
Bearer
Request Body
1
2
3
4
5
6
7
8
9
10

Generated from protobuf definitions using protoc-gen-connect-openapi · Protocol docs