# \AiApi
All URIs are relative to */api*
[**get_ai_artifact_share_status**](AiApi.md#get_ai_artifact_share_status) | **GET** /w/{workspace}/ai/shared_artifacts/status | get the calling user's share of one of their AI session artifacts
[**get_ai_session_share_status**](AiApi.md#get_ai_session_share_status) | **GET** /w/{workspace}/ai/shared_sessions/status | get the calling user's share of one of their AI sessions
[**get_shared_ai_artifact**](AiApi.md#get_shared_ai_artifact) | **GET** /w/{workspace}/ai/shared_artifacts/get/{id} | get a shared AI session artifact
[**get_shared_ai_session**](AiApi.md#get_shared_ai_session) | **GET** /w/{workspace}/ai_u/shared_sessions/get/{id} | get a shared AI session
[**list_ai_session_backups**](AiApi.md#list_ai_session_backups) | **GET** /w/{workspace}/ai/sessions/list | list the calling user's AI session backups in the workspace object storage
[**list_ai_usage**](AiApi.md#list_ai_usage) | **GET** /w/{workspace}/ai/usage | list aggregated AI token usage
[**pull_ai_session_backups**](AiApi.md#pull_ai_session_backups) | **POST** /w/{workspace}/ai/sessions/pull | fetch whole AI session backups
[**push_ai_session_backups**](AiApi.md#push_ai_session_backups) | **POST** /w/{workspace}/ai/sessions/push | write changed pieces of AI sessions to their backups, and remove deleted ones
[**record_ai_usage**](AiApi.md#record_ai_usage) | **POST** /w/{workspace}/ai/usage | record AI token usage for the calling user
[**set_ai_session_share_public**](AiApi.md#set_ai_session_share_public) | **POST** /w/{workspace}/ai/shared_sessions/set_public/{id} | make a shared AI session public, or reserve it to workspace members
[**share_ai_artifact**](AiApi.md#share_ai_artifact) | **POST** /w/{workspace}/ai/shared_artifacts/share | share an AI session artifact with the workspace
[**share_ai_session**](AiApi.md#share_ai_session) | **POST** /w/{workspace}/ai/shared_sessions/share | share an AI session transcript by link
[**unshare_ai_artifact**](AiApi.md#unshare_ai_artifact) | **DELETE** /w/{workspace}/ai/shared_artifacts/delete/{id} | stop sharing an AI session artifact
[**unshare_ai_session**](AiApi.md#unshare_ai_session) | **DELETE** /w/{workspace}/ai/shared_sessions/delete/{id} | stop sharing an AI session
## get_ai_artifact_share_status
> models::GetAiArtifactShareStatus200Response get_ai_artifact_share_status(workspace, artifact_id)
get the calling user's share of one of their AI session artifacts
### Parameters
**workspace** | **String** | | [required] |
**artifact_id** | **String** | | [required] |
### Return type
[**models::GetAiArtifactShareStatus200Response**](getAiArtifactShareStatus_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_ai_session_share_status
> models::GetAiSessionShareStatus200Response get_ai_session_share_status(workspace, session_id)
get the calling user's share of one of their AI sessions
### Parameters
**workspace** | **String** | | [required] |
**session_id** | **String** | | [required] |
### Return type
[**models::GetAiSessionShareStatus200Response**](getAiSessionShareStatus_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_shared_ai_artifact
> models::GetSharedAiArtifact200Response get_shared_ai_artifact(workspace, id)
get a shared AI session artifact
### Parameters
**workspace** | **String** | | [required] |
**id** | **uuid::Uuid** | | [required] |
### Return type
[**models::GetSharedAiArtifact200Response**](getSharedAiArtifact_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_shared_ai_session
> models::GetSharedAiSession200Response get_shared_ai_session(workspace, id)
get a shared AI session
A public share is served without authentication; any other one only to a member of the workspace.
### Parameters
**workspace** | **String** | | [required] |
**id** | **uuid::Uuid** | | [required] |
### Return type
[**models::GetSharedAiSession200Response**](getSharedAiSession_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_ai_session_backups
> models::ListAiSessionBackups200Response list_ai_session_backups(workspace)
list the calling user's AI session backups in the workspace object storage
### Parameters
**workspace** | **String** | | [required] |
### Return type
[**models::ListAiSessionBackups200Response**](listAiSessionBackups_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## list_ai_usage
> models::ListAiUsage200Response list_ai_usage(workspace, days, group_by, scope)
list aggregated AI token usage
### Parameters
**workspace** | **String** | | [required] |
**days** | Option<**i32**> | | |
**group_by** | Option<**String**> | | |
**scope** | Option<**String**> | workspace-wide usage (admin only) or the calling user's own | |
### Return type
[**models::ListAiUsage200Response**](listAiUsage_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## pull_ai_session_backups
> models::PullAiSessionBackups200Response pull_ai_session_backups(workspace, pull_ai_session_backups_request)
fetch whole AI session backups
### Parameters
**workspace** | **String** | | [required] |
**pull_ai_session_backups_request** | [**PullAiSessionBackupsRequest**](PullAiSessionBackupsRequest.md) | | [required] |
### Return type
[**models::PullAiSessionBackups200Response**](pullAiSessionBackups_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## push_ai_session_backups
> models::PushAiSessionBackups200Response push_ai_session_backups(workspace, push_ai_session_backups_request)
write changed pieces of AI sessions to their backups, and remove deleted ones
### Parameters
**workspace** | **String** | | [required] |
**push_ai_session_backups_request** | [**PushAiSessionBackupsRequest**](PushAiSessionBackupsRequest.md) | | [required] |
### Return type
[**models::PushAiSessionBackups200Response**](pushAiSessionBackups_200_response.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## record_ai_usage
> record_ai_usage(workspace, record_ai_usage_request)
record AI token usage for the calling user
### Parameters
**workspace** | **String** | | [required] |
**record_ai_usage_request** | [**RecordAiUsageRequest**](RecordAiUsageRequest.md) | | [required] |
### Return type
(empty response body)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## set_ai_session_share_public
> models::SharedAiSessionInfo set_ai_session_share_public(workspace, id, set_ai_session_share_public_request)
make a shared AI session public, or reserve it to workspace members
### Parameters
**workspace** | **String** | | [required] |
**id** | **uuid::Uuid** | | [required] |
**set_ai_session_share_public_request** | [**SetAiSessionSharePublicRequest**](SetAiSessionSharePublicRequest.md) | | [required] |
### Return type
[**models::SharedAiSessionInfo**](SharedAiSessionInfo.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## share_ai_artifact
> models::SharedAiArtifactInfo share_ai_artifact(workspace, share_ai_artifact_request)
share an AI session artifact with the workspace
Stores a read-only copy that any member of the workspace can open by id. Sharing the same artifact again updates that copy, keeps its id, and restarts its retention window.
### Parameters
**workspace** | **String** | | [required] |
**share_ai_artifact_request** | [**ShareAiArtifactRequest**](ShareAiArtifactRequest.md) | | [required] |
### Return type
[**models::SharedAiArtifactInfo**](SharedAiArtifactInfo.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## share_ai_session
> models::SharedAiSessionInfo share_ai_session(workspace, share_ai_session_request)
share an AI session transcript by link
Stores a read-only snapshot of the session that members of the workspace can open by id, or anyone with the link once it is public. Sharing the same session again updates that snapshot and keeps its id.
### Parameters
**workspace** | **String** | | [required] |
**share_ai_session_request** | [**ShareAiSessionRequest**](ShareAiSessionRequest.md) | | [required] |
### Return type
[**models::SharedAiSessionInfo**](SharedAiSessionInfo.md)
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## unshare_ai_artifact
> String unshare_ai_artifact(workspace, id)
stop sharing an AI session artifact
### Parameters
**workspace** | **String** | | [required] |
**id** | **uuid::Uuid** | | [required] |
### Return type
**String**
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## unshare_ai_session
> String unshare_ai_session(workspace, id)
stop sharing an AI session
### Parameters
**workspace** | **String** | | [required] |
**id** | **uuid::Uuid** | | [required] |
### Return type
**String**
### Authorization
[cookieAuth](../README.md#cookieAuth), [bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)