API

Swagger API details

This is a snapshot of swagger.json file at time of this release. You can also view the 'live' swagger API documentation details for your hosted backend environment by adding /swagger to your backend hostUrl link.

post

Create/Update Experiment User

Body
idstringOptionalExample: user1
Responses
200
Set Group Membership
application/json
post
POST /api/v5/init HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 185

{
  "id": "user1",
  "group": {
    "schoolId": [
      "school1"
    ],
    "classId": [
      "class1"
    ],
    "instructorId": [
      "instructor1"
    ]
  },
  "workingGroup": {
    "schoolId": "school1",
    "classId": "class1",
    "instructorId": "instructor1"
  }
}
{
  "id": "text",
  "group": {
    "class": [
      "text"
    ]
  },
  "workingGroup": {
    "school": "text",
    "class": "text",
    "instructor": "text"
  }
}
patch

Set group membership for a user

Body
idstringOptionalExample: user1
Responses
200
Set Group Membership
application/json
patch
PATCH /api/v5/groupmembership HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 99

{
  "id": "user1",
  "group": {
    "schoolId": [
      "school1"
    ],
    "classId": [
      "class1"
    ],
    "instructorId": [
      "instructor1"
    ]
  }
}
{
  "id": "text",
  "group": {
    "class": [
      "text"
    ]
  },
  "workingGroup": {
    "school": "text",
    "class": "text",
    "instructor": "text"
  }
}
patch

Set working group for a user

Body
idstringOptionalExample: user1
Responses
200
Set Group Membership
application/json
patch
PATCH /api/v5/workinggroup HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "id": "user1",
  "workingGroup": {
    "schoolId": "school1",
    "classId": "class1",
    "instructorId": "instructor1"
  }
}
{
  "id": "text",
  "group": {
    "class": [
      "text"
    ]
  },
  "workingGroup": {
    "school": "text",
    "class": "text",
    "instructor": "text"
  }
}
post

Mark a Experiment Point

Body
userIdstringRequired
statusstringOptionalExample: condition applied
Responses
200
Experiment Point is Marked
application/json
post
POST /api/v5/mark HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 161

{
  "userId": "text",
  "data": {
    "site": "text",
    "target": "partition1",
    "assignedCondition": {
      "conditionCode": "control"
    },
    "experimentId": "exp1"
  },
  "status": "condition applied"
}
{
  "id": "text",
  "userId": "text",
  "experimentId": "text",
  "site": "text",
  "target": "text",
  "condition": "text"
}
post

Assign a Experiment Point

Body
userIdstringOptionalExample: user1
contextstringOptionalExample: add
Responses
200
Experiment Point is Assigned
application/json
post
POST /api/v5/assign HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 34

{
  "userId": "user1",
  "context": "add"
}
[
  {
    "site": "text",
    "target": "text",
    "experimentType": "Simple",
    "assignedCondition": [
      {
        "conditionCode": "text",
        "payload": {
          "type": "text",
          "value": "text"
        },
        "id": "text",
        "experimentId": "text"
      }
    ]
  }
]
post

Post log data

Body
userIdstringOptional
Responses
200
Log data
post
POST /api/v5/log HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 331

{
  "userId": "text",
  "value": [
    {
      "timestamp": "text",
      "metrics": {
        "attributes": {
          "continuousMetricName": 100,
          "categoricalMetricName": "CATEGORY"
        },
        "groupedMetrics": [
          {
            "groupClass": "workspaceType",
            "groupKey": "workspaceName",
            "groupUniquifier": "workspaceUniquifier",
            "attributes": {
              "continuousMetricName": 100,
              "categoricalMetricName": "CATEGORY"
            }
          }
        ]
      }
    }
  ]
}

No content

post

Post blob log data

Body
userIdstringOptional
valueobject[]Optional
Responses
200
Log blob data
post
POST /api/v5/bloblog HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 30

{
  "userId": "text",
  "value": [
    {}
  ]
}

No content

post

Get all feature flags using SDK

Body

User Document

userIdstringOptionalExample: user1
contextstringOptionalExample: add
Responses
200
Feature flags list
post
POST /api/v5/featureflag HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 34

{
  "userId": "user1",
  "context": "add"
}

No content

patch

Set aliases for current user

Body
userIdstringRequiredExample: user1
aliasesstring[]Required
Responses
200
Experiment User aliases added
application/json
patch
PATCH /api/v5/useraliases HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "userId": "user1",
  "aliases": [
    "alias123"
  ]
}
{
  "userId": "text",
  "aliases": [
    "text"
  ]
}
post

Create/Update Experiment User

Body
Responses
200
Set Group Membership
application/json
post
POST /api/v6/init HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 172

{
  "group": {
    "schoolId": [
      "school1"
    ],
    "classId": [
      "class1"
    ],
    "instructorId": [
      "instructor1"
    ]
  },
  "workingGroup": {
    "schoolId": "school1",
    "classId": "class1",
    "instructorId": "instructor1"
  }
}
{
  "id": "text",
  "group": {
    "class": [
      "text"
    ]
  },
  "workingGroup": {
    "school": "text",
    "class": "text",
    "instructor": "text"
  }
}
patch

Set group membership for a user

Body
Responses
200
Set Group Membership
application/json
patch
PATCH /api/v6/groupmembership HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 86

{
  "group": {
    "schoolId": [
      "school1"
    ],
    "classId": [
      "class1"
    ],
    "instructorId": [
      "instructor1"
    ]
  }
}
{
  "id": "text",
  "group": {
    "class": [
      "text"
    ]
  },
  "workingGroup": {
    "school": "text",
    "class": "text",
    "instructor": "text"
  }
}
patch

Set working group for a user

Body
Responses
200
Set Group Membership
application/json
patch
PATCH /api/v6/workinggroup HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 87

{
  "workingGroup": {
    "schoolId": "school1",
    "classId": "class1",
    "instructorId": "instructor1"
  }
}
{
  "id": "text",
  "group": {
    "class": [
      "text"
    ]
  },
  "workingGroup": {
    "school": "text",
    "class": "text",
    "instructor": "text"
  }
}
post

Mark a Experiment Point

Body
statusstringOptionalExample: condition applied
Responses
200
Experiment Point is Marked
application/json
post
POST /api/v6/mark HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 145

{
  "data": {
    "site": "text",
    "target": "partition1",
    "assignedCondition": {
      "conditionCode": "control"
    },
    "experimentId": "exp1"
  },
  "status": "condition applied"
}
{
  "id": "text",
  "userId": "text",
  "experimentId": "text",
  "site": "text",
  "target": "text",
  "condition": "text"
}
post

Assign a Experiment Point

Body
contextstringOptionalExample: add
Responses
200
Experiment Point is Assigned
application/json
post
POST /api/v6/assign HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "context": "add"
}
[
  {
    "site": "text",
    "target": "text",
    "experimentType": "Simple",
    "assignedCondition": [
      {
        "conditionCode": "text",
        "payload": {
          "type": "text",
          "value": "text"
        },
        "id": "text",
        "experimentId": "text"
      }
    ]
  }
]
post

Post log data

Body
Responses
200
Log data
post
POST /api/v6/log HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 315

{
  "value": [
    {
      "timestamp": "text",
      "metrics": {
        "attributes": {
          "continuousMetricName": 100,
          "categoricalMetricName": "CATEGORY"
        },
        "groupedMetrics": [
          {
            "groupClass": "workspaceType",
            "groupKey": "workspaceName",
            "groupUniquifier": "workspaceUniquifier",
            "attributes": {
              "continuousMetricName": 100,
              "categoricalMetricName": "CATEGORY"
            }
          }
        ]
      }
    }
  ]
}

No content

post

Get all feature flags using SDK

Body

User Document

contextstringOptionalExample: add
Responses
200
Feature flags list
post
POST /api/v6/featureflag HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "context": "add"
}

No content

patch

Set aliases for current user

Body
aliasesstring[]Required
Responses
200
Experiment User aliases added
application/json
patch
PATCH /api/v6/useraliases HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 24

{
  "aliases": [
    "alias123"
  ]
}
{
  "userId": "text",
  "aliases": [
    "text"
  ]
}

Last updated