Skip to main content
v1.0
OAS 2.0

Bucketeer Gateway Service

Server:https://ENDPOINT
Client Libraries

Client and Server SDKs

Get Evaluation

Gets a single evaluation for a specific user. To call this API, you need a CLIENT API Key role.

Body
required
application/json
  • featureId
    Type: string
  • sdkVersion
    Type: string
  • sourceId
    Type: stringenum
    default: 
    "UNKNOWN"
    • UNKNOWN
    • ANDROID
    • IOS
    • WEB
    • GO_SERVER
  • tag
    Type: string
  • user
    Type: object
Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/get_evaluation
curl https://ENDPOINT/get_evaluation \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'authorization: YOUR_SECRET_TOKEN' \
  --data '{
  "tag": "",
  "user": {
    "id": "",
    "data": {
      "propertyName*": ""
    },
    "taggedData": {
      "propertyName*": {
        "value": {
          "propertyName*": ""
        }
      }
    },
    "lastSeen": "",
    "createdAt": ""
  },
  "featureId": "",
  "sourceId": "UNKNOWN",
  "sdkVersion": ""
}'
{
  "evaluation": {
    "id": "string",
    "featureId": "string",
    "featureVersion": 1,
    "userId": "string",
    "variationId": "string",
    "variation": {
      "id": "string",
      "value": "string",
      "name": "string",
      "description": "string"
    },
    "reason": {
      "type": "TARGET",
      "ruleId": "string"
    },
    "variationValue": "string",
    "variationName": "string"
  }
}

Get Evaluations

Gets all the evaluations for a specific user. To call this API, you need a CLIENT API Key role.

Body
required
application/json
  • featureId
    Type: instead, use GetEvaluation API
  • sdkVersion
    Type: string
  • sourceId
    Type: stringenum
    default: 
    "UNKNOWN"
    • UNKNOWN
    • ANDROID
    • IOS
    • WEB
    • GO_SERVER
  • tag
    Type: string
  • user
    Type: object
  • userEvaluationCondition
    Type: object
  • userEvaluationsId
    Type: string
Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/get_evaluations
curl https://ENDPOINT/get_evaluations \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'authorization: YOUR_SECRET_TOKEN' \
  --data '{
  "tag": "",
  "user": {
    "id": "",
    "data": {
      "propertyName*": ""
    },
    "taggedData": {
      "propertyName*": {
        "value": {
          "propertyName*": ""
        }
      }
    },
    "lastSeen": "",
    "createdAt": ""
  },
  "userEvaluationsId": "",
  "featureId": "",
  "sourceId": "UNKNOWN",
  "userEvaluationCondition": {
    "evaluatedAt": "",
    "userAttributesUpdated": true
  },
  "sdkVersion": ""
}'
{
  "state": "QUEUED",
  "evaluations": {
    "id": "string",
    "evaluations": [
      {
        "id": "string",
        "featureId": "string",
        "featureVersion": 1,
        "userId": "string",
        "variationId": "string",
        "variation": {
          "id": "string",
          "value": "string",
          "name": "string",
          "description": "string"
        },
        "reason": {
          "type": "TARGET",
          "ruleId": "string"
        },
        "variationValue": "string",
        "variationName": "string"
      }
    ],
    "createdAt": "string",
    "archivedFeatureIds": [
      "string"
    ],
    "forceUpdate": true
  },
  "userEvaluationsId": "string"
}

Get Feature Flags

Gets all the feature flag in an environment. To call this API, you need a SERVER API Key role.

Body
required
application/json
  • featureFlagsId
    Type: string
  • requestedAt
    Type: stringFormat: int64
  • sdkVersion
    Type: string
  • sourceId
    Type: stringenum
    default: 
    "UNKNOWN"
    • UNKNOWN
    • ANDROID
    • IOS
    • WEB
    • GO_SERVER
  • tag
    Type: string
Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/get_feature_flags
curl https://ENDPOINT/get_feature_flags \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'authorization: YOUR_SECRET_TOKEN' \
  --data '{
  "tag": "",
  "featureFlagsId": "",
  "requestedAt": "",
  "sourceId": "UNKNOWN",
  "sdkVersion": ""
}'
{
  "featureFlagsId": "string",
  "features": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "enabled": true,
      "deleted": true,
      "evaluationUndelayable": true,
      "ttl": 1,
      "version": 1,
      "createdAt": "string",
      "updatedAt": "string",
      "variations": [
        {
          "id": "string",
          "value": "string",
          "name": "string",
          "description": "string"
        }
      ],
      "targets": [
        {
          "variation": "string",
          "users": [
            "string"
          ]
        }
      ],
      "rules": [
        {
          "id": "string",
          "strategy": {
            "type": "FIXED",
            "fixedStrategy": {
              "variation": "string"
            },
            "rolloutStrategy": {
              "variations": [
                {
                  "variation": "string",
                  "weight": 1
                }
              ],
              "audience": {
                "percentage": 1,
                "defaultVariation": "string"
              }
            }
          },
          "clauses": [
            {
              "id": "string",
              "attribute": "string",
              "operator": "EQUALS",
              "values": [
                "string"
              ]
            }
          ]
        }
      ],
      "defaultStrategy": {
        "type": "FIXED",
        "fixedStrategy": {
          "variation": "string"
        },
        "rolloutStrategy": {
          "variations": [
            {
              "variation": "string",
              "weight": 1
            }
          ],
          "audience": {
            "percentage": 1,
            "defaultVariation": "string"
          }
        }
      },
      "offVariation": "string",
      "tags": [
        "string"
      ],
      "lastUsedInfo": {
        "featureId": "string",
        "version": 1,
        "lastUsedAt": "string",
        "createdAt": "string",
        "clientOldestVersion": "string",
        "clientLatestVersion": "string"
      },
      "maintainer": "string",
      "variationType": "STRING",
      "archived": true,
      "prerequisites": [
        {
          "featureId": "string",
          "variationId": "string"
        }
      ],
      "samplingSeed": "string",
      "autoOpsSummary": {
        "progressiveRolloutCount": 1,
        "scheduleCount": 1,
        "killSwitchCount": 1
      }
    }
  ],
  "archivedFeatureFlagIds": [
    "string"
  ],
  "requestedAt": "string",
  "forceUpdate": true
}

Get Segment Users

Gets all the segment users in an environment. To call this API, you need a SERVER API Key role.

Body
required
application/json
  • requestedAt
    Type: stringFormat: int64
  • sdkVersion
    Type: string
  • segmentIds
    Type: array string[]
  • sourceId
    Type: stringenum
    default: 
    "UNKNOWN"
    • UNKNOWN
    • ANDROID
    • IOS
    • WEB
    • GO_SERVER
Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/get_segment_users
curl https://ENDPOINT/get_segment_users \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'authorization: YOUR_SECRET_TOKEN' \
  --data '{
  "segmentIds": [
    ""
  ],
  "requestedAt": "",
  "sourceId": "UNKNOWN",
  "sdkVersion": ""
}'
{
  "segmentUsers": [
    {
      "segmentId": "string",
      "users": [
        {
          "id": "string",
          "segmentId": "string",
          "userId": "string",
          "state": "INCLUDED",
          "deleted": true
        }
      ],
      "updatedAt": "string"
    }
  ],
  "deletedSegmentIds": [
    "string"
  ],
  "requestedAt": "string",
  "forceUpdate": true
}

Register Events

This API is for reporting Goal events. To call this API, you need a CLIENT or SERVER API Key role.

Body
required
application/json
  • events
    Type: array eventclientEvent[]
  • sdkVersion
    Type: string
  • sourceId
    Type: stringenum
    default: 
    "UNKNOWN"
    • UNKNOWN
    • ANDROID
    • IOS
    • WEB
    • GO_SERVER
Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/register_events
curl https://ENDPOINT/register_events \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'authorization: YOUR_SECRET_TOKEN' \
  --data '{
  "events": [
    {
      "id": "",
      "event": {
        "@type": "",
        "propertyName*": "anything"
      },
      "environmentId": ""
    }
  ],
  "sdkVersion": "",
  "sourceId": "UNKNOWN"
}'
{
  "errors": {
    "propertyName*": {
      "retriable": true,
      "message": "string"
    }
  }
}

Track

This API is an integration for Google Tab Manager to report Goal events. To call this API, you need a CLIENT API Key role.

Query Parameters
  • apikey
    Type: string
  • userid
    Type: string
  • goalid
    Type: string
  • tag
    Type: string
  • timestamp
    Type: stringFormat: int64
  • value
    Type: numberFormat: double
Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/track
curl 'https://ENDPOINT/track?apikey=&userid=&goalid=&tag=&timestamp=&value=1' \
  --header 'authorization: YOUR_SECRET_TOKEN'
{}

Utility (Collapsed)

Utility Operations

Audit Logs (Collapsed)

Feature Flags (Collapsed)

Environment (Collapsed)

Project (Collapsed)

Experiments (Collapsed)

Flag Triggers (Collapsed)

Goals (Collapsed)

Pushes (Collapsed)

Subscriptions (Collapsed)

Tags (Collapsed)

Teams (Collapsed)