DevCycle Bucketing API
Download OpenAPI specification:Download
Documents the DevCycle Bucketing API which provides an API interface to User Bucketing and for Server SDKs configured to use Cloud Bucketing.
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": { },
- "eval": { }
}
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": { },
- "eval": { }
}, - "property2": {
- "_id": "string",
- "key": "string",
- "type": "String",
- "value": { },
- "eval": { }
}
}
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",
- "eval": { }
}, - "property2": {
- "_id": "string",
- "key": "string",
- "type": "release",
- "_variation": "string",
- "variationName": "string",
- "variationKey": "string",
- "eval": { }
}
}
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
}
]
}