DevCycle Bucketing API
Download OpenAPI specification:Download
Documents the DevCycle Bucketing API (https://bucketing-api.devcycle.com/) which provides an API interface to User Bucketing and for generated SDKs.
Update EdgeDB data based on unique id and project id
path Parameters
id required | string A unique id used to fetch and update the EdgeDB data |
query Parameters
sdkKey | string SDK Key as defined in the dashboard for your DevCycle environment. One of the Authorization header or "sdkKey" query parameter is required to be set. |
Request Body schema: application/jsonrequired
User properties to update the EdgeDB data
user_id required | string Unique id to identify the user |
string User's email used to identify the user on the dashaboard / target audiences | |
name | string User's name used to idenify the user on the dashaboard / target audiences |
object User's language in ISO 639-1 format | |
object User's country in ISO 3166 alpha-2 format | |
customData | object User's custom data to target the user with, data will be logged to DevCycle for use in dashboard. |
lastSeenDate | number Date the user was last seen being used, Unix epoch timestamp format |
Responses
Request samples
- Payload
{- "user_id": "string",
- "email": "string",
- "name": "string",
- "language": {
- "property1": "st",
- "property2": "st"
}, - "country": {
- "property1": "st",
- "property2": "st"
}, - "customData": { },
- "lastSeenDate": 0
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "message": "string"
}
Get variable by key for user data
Authorizations:
path Parameters
key required | string Variable key |
Request Body schema: application/jsonrequired
user_id required | string Unique id to identify the user |
string User's email used to identify the user on the dashboard / target audiences | |
name | string User's name used to identify the user on the dashboard / target audiences |
language | string <= 2 characters User's language in ISO 639-1 format |
country | string <= 2 characters User's country in ISO 3166 alpha-2 format |
appVersion | string App Version of the running application |
appBuild | string App Build number of the running application |
customData | object User's custom data to target the user with, data will be logged to DevCycle for use in dashboard. |
privateCustomData | object User's custom data to target the user with, data will not be logged to DevCycle only used for feature bucketing. |
createdDate | number Date the user was created, Unix epoch timestamp format |
lastSeenDate | number Date the user was created, Unix epoch timestamp format |
platform | string Platform the Client SDK is running on |
platformVersion | string Version of the platform the Client SDK is running on |
deviceModel | string User's device model |
sdkType | string Enum: "api" "server" DevCycle SDK type |
sdkVersion | string DevCycle SDK Version |
Responses
Request samples
- Payload
{- "user_id": "string",
- "email": "string",
- "name": "string",
- "language": "st",
- "country": "st",
- "appVersion": "string",
- "appBuild": "string",
- "customData": { },
- "privateCustomData": { },
- "createdDate": 0,
- "lastSeenDate": 0,
- "platform": "string",
- "platformVersion": "string",
- "deviceModel": "string",
- "sdkType": "api",
- "sdkVersion": "string"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "_id": "string",
- "key": "string",
- "type": "String",
- "value": { }
}
Get all variables by key for user data
Authorizations:
Request Body schema: application/jsonrequired
user_id required | string Unique id to identify the user |
string User's email used to identify the user on the dashboard / target audiences | |
name | string User's name used to identify the user on the dashboard / target audiences |
language | string <= 2 characters User's language in ISO 639-1 format |
country | string <= 2 characters User's country in ISO 3166 alpha-2 format |
appVersion | string App Version of the running application |
appBuild | string App Build number of the running application |
customData | object User's custom data to target the user with, data will be logged to DevCycle for use in dashboard. |
privateCustomData | object User's custom data to target the user with, data will not be logged to DevCycle only used for feature bucketing. |
createdDate | number Date the user was created, Unix epoch timestamp format |
lastSeenDate | number Date the user was created, Unix epoch timestamp format |
platform | string Platform the Client SDK is running on |
platformVersion | string Version of the platform the Client SDK is running on |
deviceModel | string User's device model |
sdkType | string Enum: "api" "server" DevCycle SDK type |
sdkVersion | string DevCycle SDK Version |
Responses
Request samples
- Payload
{- "user_id": "string",
- "email": "string",
- "name": "string",
- "language": "st",
- "country": "st",
- "appVersion": "string",
- "appBuild": "string",
- "customData": { },
- "privateCustomData": { },
- "createdDate": 0,
- "lastSeenDate": 0,
- "platform": "string",
- "platformVersion": "string",
- "deviceModel": "string",
- "sdkType": "api",
- "sdkVersion": "string"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "property1": {
- "_id": "string",
- "key": "string",
- "type": "String",
- "value": { }
}, - "property2": {
- "_id": "string",
- "key": "string",
- "type": "String",
- "value": { }
}
}
Get all features by key for user data
Authorizations:
Request Body schema: application/jsonrequired
user_id required | string Unique id to identify the user |
string User's email used to identify the user on the dashboard / target audiences | |
name | string User's name used to identify the user on the dashboard / target audiences |
language | string <= 2 characters User's language in ISO 639-1 format |
country | string <= 2 characters User's country in ISO 3166 alpha-2 format |
appVersion | string App Version of the running application |
appBuild | string App Build number of the running application |
customData | object User's custom data to target the user with, data will be logged to DevCycle for use in dashboard. |
privateCustomData | object User's custom data to target the user with, data will not be logged to DevCycle only used for feature bucketing. |
createdDate | number Date the user was created, Unix epoch timestamp format |
lastSeenDate | number Date the user was created, Unix epoch timestamp format |
platform | string Platform the Client SDK is running on |
platformVersion | string Version of the platform the Client SDK is running on |
deviceModel | string User's device model |
sdkType | string Enum: "api" "server" DevCycle SDK type |
sdkVersion | string DevCycle SDK Version |
Responses
Request samples
- Payload
{- "user_id": "string",
- "email": "string",
- "name": "string",
- "language": "st",
- "country": "st",
- "appVersion": "string",
- "appBuild": "string",
- "customData": { },
- "privateCustomData": { },
- "createdDate": 0,
- "lastSeenDate": 0,
- "platform": "string",
- "platformVersion": "string",
- "deviceModel": "string",
- "sdkType": "api",
- "sdkVersion": "string"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "property1": {
- "_id": "string",
- "key": "string",
- "type": "release",
- "_variation": "string",
- "variationName": "string",
- "variationKey": "string",
- "evalReason": "string"
}, - "property2": {
- "_id": "string",
- "key": "string",
- "type": "release",
- "_variation": "string",
- "variationName": "string",
- "variationKey": "string",
- "evalReason": "string"
}
}
Post events to DevCycle for user
Authorizations:
Request Body schema: application/jsonrequired
Array of objects (Event) | |
object (UserData) |
Responses
Request samples
- Payload
{- "events": [
- {
- "type": "string",
- "target": "string",
- "date": 0,
- "value": 0,
- "metaData": { }
}
], - "user": {
- "user_id": "string",
- "email": "string",
- "name": "string",
- "language": "st",
- "country": "st",
- "appVersion": "string",
- "appBuild": "string",
- "customData": { },
- "privateCustomData": { },
- "createdDate": 0,
- "lastSeenDate": 0,
- "platform": "string",
- "platformVersion": "string",
- "deviceModel": "string",
- "sdkType": "api",
- "sdkVersion": "string"
}
}
Response samples
- 201
- 400
- 401
- 404
- 500
{- "message": "string"
}
Fetch opt-in config
Fetch a project config to display features available for Opt-in
query Parameters
sdkKey | string SDK Key as defined in the dashboard for your DevCycle environment. One of the Authorization header or "sdkKey" query parameter is required to be set. |
user_id required | string Unique id to identify the user |
Responses
Response samples
- 200
- 400
- 401
- 500
{- "message": "string"
}
Update opt-in preferences for a user
query Parameters
sdkKey | string SDK Key as defined in the dashboard for your DevCycle environment. One of the Authorization header or "sdkKey" query parameter is required to be set. |
Request Body schema: application/jsonrequired
A map of feature IDs to boolean values. The value should be true if the user has opted in, false otherwise
property name* additional property | boolean |
Responses
Request samples
- Payload
{- "property1": true,
- "property2": true
}
Response samples
- 200
- 400
- 401
- 500
{- "message": "string"
}
See the OpenFeature documentation for more information: https://github.com/open-feature/protocol
OFREP Single Flag Evaluation Request
Return a single flag for a user context
path Parameters
key required | string |
Request Body schema: application/json
context | object (ofrep-context) Context information for flag evaluation |
Responses
Request samples
- Payload
{- "context": { }
}
Response samples
- 200
- 400
- 404
- 500
{- "key": "my-flag",
- "reason": "STATIC",
- "variant": "string",
- "metadata": { },
- "value": { }
}
OFREP Bulk Evaluation Request
Return all flag values for a user context.
header Parameters
If-None-Match | string The request will be processed only if ETag doesn't match any of the values listed. |
Request Body schema: application/json
context | object (ofrep-context) Context information for flag evaluation |
Responses
Request samples
- Payload
{- "context": { }
}
Response samples
- 200
- 400
- 500
{- "flags": [
- {
- "value": true
}
]
}