Creates one or more contexts within a project. Contexts can be used to organize logs
and artifacts within a project.
If is_versioned=True, all logs in this context will be versioned and mutable.
The context version will increment automatically when logs are added, updated, or removed.
The context can be provided as:
- A string (which will be used as the name with no description)
- A ContextCreateRequest object with name and description fields
- A list of strings for batch creation
- A list of ContextCreateRequest objects for batch creation
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Name of the project to create context in.
Body
Context name, can be nested using ’/’ (e.g., ‘parent/child’). Must contain only alphanumeric characters, underscores, and hyphens.
Optional description of the context
Whether the context should be versioned. If True, the context will be versioned and mutable.
Whether duplicate log entries are allowed in this context. If False, attempts to add duplicate logs will be ignored.
Unique key definition. Keys are column names, values are types (‘str’, ‘int’, ‘float’, ‘bool’, ‘datetime’, ‘time’, ‘date’, ‘timedelta’, ‘dict’, ‘list’).
Auto-counting configuration. Keys are column names to auto-increment, values are parent counter names (None for independent counters).
Foreign key definitions for referential integrity
curl --request POST \
--url 'https://api.unify.ai/v0/project/my_project/contexts' \
--header "Authorization: Bearer $UNIFY_KEY"
--header 'Content-Type: application/json' \
--data '{
"name": "experiment1/trial1",
"description": "Context for experiment 1 trial 1",
"is_versioned": true,
"allow_duplicates": true,
"unique_keys": {
"company_id": "int",
"department_id": "int",
"first_name": "str",
"last_name": "str"
},
"auto_counting": {
"company_id": "department_id"
},
"foreign_keys": [
{
"default": 0,
"name": "department_id",
"on_delete": "SET DEFAULT",
"on_update": "CASCADE",
"references": "Departments.id"
}
]
}'