Skip to main content

DevCycle Bucketing API (1.2.0)

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.

EdgeDB

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/json
required

User properties to update the EdgeDB data

user_id
required
string

Unique id to identify the user

email
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

Content type
application/json
{
  • "user_id": "string",
  • "email": "string",
  • "name": "string",
  • "language": {
    },
  • "country": {
    },
  • "customData": { },
  • "lastSeenDate": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Bucketing API

Get variable by key for user data

Authorizations:
bearerAuth
path Parameters
key
required
string

Variable key

Request Body schema: application/json
required
user_id
required
string

Unique id to identify the user

email
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

Content type
application/json
{
  • "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

Content type
application/json
{
  • "_id": "string",
  • "key": "string",
  • "type": "String",
  • "value": { }
}

Get all variables by key for user data

Authorizations:
bearerAuth
Request Body schema: application/json
required
user_id
required
string

Unique id to identify the user

email
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

Content type
application/json
{
  • "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

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Get all features by key for user data

Authorizations:
bearerAuth
Request Body schema: application/json
required
user_id
required
string

Unique id to identify the user

email
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

Content type
application/json
{
  • "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

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Post events to DevCycle for user

Authorizations:
bearerAuth
Request Body schema: application/json
required
Array of objects (Event)
object (UserData)

Responses

Request samples

Content type
application/json
{
  • "events": [
    ],
  • "user": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Feature Opt-in

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

Content type
application/json
{
  • "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/json
required

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

Content type
application/json
{
  • "property1": true,
  • "property2": true
}

Response samples

Content type
application/json
{
  • "message": "string"
}

OpenFeature Remote Evaluation API (OFREP)

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

Content type
application/json
{
  • "context": { }
}

Response samples

Content type
application/json
{
  • "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

Content type
application/json
{
  • "context": { }
}

Response samples

Content type
application/json
{
  • "flags": [
    ]
}