# \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_shared_ai_artifact**](AiApi.md#get_shared_ai_artifact) | **GET** /w/{workspace}/ai/shared_artifacts/get/{id} | get a shared AI session artifact
[**list_ai_usage**](AiApi.md#list_ai_usage) | **GET** /w/{workspace}/ai/usage | list aggregated AI token usage
[**record_ai_usage**](AiApi.md#record_ai_usage) | **POST** /w/{workspace}/ai/usage | record AI token usage for the calling user
[**share_ai_artifact**](AiApi.md#share_ai_artifact) | **POST** /w/{workspace}/ai/shared_artifacts/share | share an AI session artifact with the workspace
[**unshare_ai_artifact**](AiApi.md#unshare_ai_artifact) | **DELETE** /w/{workspace}/ai/shared_artifacts/delete/{id} | stop sharing an AI session artifact
## 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_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)
## 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)
## 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)
## 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)
## 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)