openapi: 3.1.0
info:
title: DevCycle Bucketing Audiences EdgeDB API
description: Documents the DevCycle Bucketing API which provides an API interface to User Bucketing and for Server SDKs configured to use Cloud Bucketing.
version: 1.3.0
servers:
- url: https://bucketing-api.devcycle.com/
tags:
- name: EdgeDB
paths:
/v1/edgedb/{user_id}:
patch:
summary: Update EdgeDB data based on unique id and project id
tags:
- EdgeDB
parameters:
- in: path
name: user_id
schema:
type: string
required: true
description: A unique id used to fetch and update the EdgeDB data
- name: sdkKey
in: query
description: 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.
required: false
schema:
type: string
requestBody:
description: User properties to update the EdgeDB data
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserDataEdgeDB'
responses:
200:
description: Client SDK API Response
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeDBApiResponse'
400:
$ref: '#/components/responses/BadRequest'
401:
$ref: '#/components/responses/UnauthorizedError'
404:
$ref: '#/components/responses/NotFound'
500:
$ref: '#/components/responses/InternalServerError'
components:
schemas:
EdgeDBApiResponse:
type: object
properties:
message:
description: Response message of the request
type: string
required:
- message
ErrorResponse:
type: object
properties:
statusCode:
type: number
description: Error response status code
message:
type: string
description: Error message
data:
type: object
description: Additional error information detailing the error reasoning
required:
- message
UserDataEdgeDB:
type: object
properties:
user_id:
description: Unique id to identify the user
type: string
email:
description: User's email used to identify the user on the dashaboard / target audiences
type: string
name:
description: User's name used to idenify the user on the dashaboard / target audiences
type: string
language:
description: User's language in ISO 639-1 format
additionalProperties:
type: string
maxLength: 2
country:
description: User's country in ISO 3166 alpha-2 format
additionalProperties:
type: string
maxLength: 2
customData:
description: User's custom data to target the user with, data will be logged to DevCycle for use in dashboard.
type: object
lastSeenDate:
description: Date the user was last seen being used, Unix epoch timestamp format
type: number
required:
- user_id
responses:
UnauthorizedError:
description: Missing 'sdkKey' query parameter or 'Authorization' header
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
InternalServerError:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
bearerAuth:
type: apiKey
in: header
name: Authorization
description: Enter your DevCycle SDK token