https://github.com/devflowinc/trieve-dotnet-client
https://github.com/devflowinc/trieve-dotnet-client
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/devflowinc/trieve-dotnet-client
- Owner: devflowinc
- Created: 2024-03-29T17:13:33.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-02T06:15:58.000Z (about 1 year ago)
- Last Synced: 2025-06-22T05:17:06.717Z (5 days ago)
- Language: C#
- Size: 229 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# trieve_dotnet_client - the C# library for the Trieve API
Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 0.5.0
- SDK version: 0.5.0
- Generator version: 7.4.0
- Build package: org.openapitools.codegen.languages.CSharpClientCodegen
For more information, please visit [https://trieve.ai](https://trieve.ai)## Dependencies
- [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later
- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.2 or later
- [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later
- [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or laterThe DLLs included in the package may not be the latest version. We recommend using [NuGet](https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages:
```
Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations
```NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See [RestSharp#742](https://github.com/restsharp/RestSharp/issues/742).
NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See [RestSharp#1406](https://github.com/restsharp/RestSharp/issues/1406).## Installation
Run the following command to generate the DLL
- [Mac/Linux] `/bin/sh build.sh`
- [Windows] `build.bat`Then include the DLL (under the `bin` folder) in the C# project, and use the namespaces:
```csharp
using trieve_dotnet_client.Api;
using trieve_dotnet_client.Client;
using trieve_dotnet_client.Model;
```
## PackagingA `.nuspec` is included with the project. You can follow the Nuget quickstart to [create](https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package#create-the-package) and [publish](https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package#publish-the-package) packages.
This `.nuspec` uses placeholders from the `.csproj`, so build the `.csproj` directly:
```
nuget pack -Build -OutputDirectory out trieve_dotnet_client.csproj
```Then, publish to a [local feed](https://docs.microsoft.com/en-us/nuget/hosting-packages/local-feeds) or [other host](https://docs.microsoft.com/en-us/nuget/hosting-packages/overview) and consume the new package via Nuget as usual.
## Usage
To use the API client with a HTTP proxy, setup a `System.Net.WebProxy`
```csharp
Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;
```## Getting Started
```csharp
using System.Collections.Generic;
using System.Diagnostics;
using trieve_dotnet_client.Api;
using trieve_dotnet_client.Client;
using trieve_dotnet_client.Model;namespace Example
{
public class Example
{
public static void Main()
{Configuration config = new Configuration();
config.BasePath = "http://localhost:8090";
var apiInstance = new AuthApi(config);try
{
// OpenID Connect callback
SlimUser result = apiInstance.Callback();
Debug.WriteLine(result);
}
catch (ApiException e)
{
Debug.Print("Exception when calling AuthApi.Callback: " + e.Message );
Debug.Print("Status Code: "+ e.ErrorCode);
Debug.Print(e.StackTrace);
}}
}
}
```## Documentation for API Endpoints
All URIs are relative to *http://localhost:8090*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuthApi* | [**Callback**](docs/AuthApi.md#callback) | **GET** /api/auth/callback | OpenID Connect callback
*AuthApi* | [**GetMe**](docs/AuthApi.md#getme) | **GET** /api/auth/me | Get Me
*AuthApi* | [**Login**](docs/AuthApi.md#login) | **GET** /api/auth | Login
*AuthApi* | [**Logout**](docs/AuthApi.md#logout) | **DELETE** /api/auth | Logout
*ChunkApi* | [**CreateChunk**](docs/ChunkApi.md#createchunk) | **POST** /api/chunk | Create or Upsert Chunk or Chunks
*ChunkApi* | [**CreateSuggestedQueriesHandler**](docs/ChunkApi.md#createsuggestedquerieshandler) | **POST** /api/chunk/gen_suggestions | Generate suggested queries
*ChunkApi* | [**DeleteChunk**](docs/ChunkApi.md#deletechunk) | **DELETE** /api/chunk/{chunk_id} | Delete Chunk
*ChunkApi* | [**DeleteChunkByTrackingId**](docs/ChunkApi.md#deletechunkbytrackingid) | **DELETE** /api/chunk/tracking_id/{tracking_id} | Delete Chunk By Tracking Id
*ChunkApi* | [**GenerateOffChunks**](docs/ChunkApi.md#generateoffchunks) | **POST** /api/chunk/generate | RAG on Specified Chunks
*ChunkApi* | [**GetChunkById**](docs/ChunkApi.md#getchunkbyid) | **GET** /api/chunk/{chunk_id} | Get Chunk By Id
*ChunkApi* | [**GetChunkByTrackingId**](docs/ChunkApi.md#getchunkbytrackingid) | **GET** /api/chunk/tracking_id/{tracking_id} | Get Chunk By Tracking Id
*ChunkApi* | [**GetRecommendedChunks**](docs/ChunkApi.md#getrecommendedchunks) | **POST** /api/chunk/recommend | Get Recommended Chunks
*ChunkApi* | [**SearchChunk**](docs/ChunkApi.md#searchchunk) | **POST** /api/chunk/search | Search
*ChunkApi* | [**UpdateChunk**](docs/ChunkApi.md#updatechunk) | **PUT** /api/chunk | Update Chunk
*ChunkApi* | [**UpdateChunkByTrackingId**](docs/ChunkApi.md#updatechunkbytrackingid) | **PUT** /api/chunk/tracking_id/update | Update Chunk By Tracking Id
*ChunkGroupApi* | [**AddChunkToGroup**](docs/ChunkGroupApi.md#addchunktogroup) | **POST** /api/chunk_group/chunk/{group_id} | Add Chunk to Group
*ChunkGroupApi* | [**AddChunkToGroupByTrackingId**](docs/ChunkGroupApi.md#addchunktogroupbytrackingid) | **POST** /api/chunk_group/tracking_id/{tracking_id} | Add Chunk to Group by Tracking ID
*ChunkGroupApi* | [**CreateChunkGroup**](docs/ChunkGroupApi.md#createchunkgroup) | **POST** /api/chunk_group | Create Chunk Group
*ChunkGroupApi* | [**DeleteChunkGroup**](docs/ChunkGroupApi.md#deletechunkgroup) | **DELETE** /api/chunk_group/{group_id} | Delete Group
*ChunkGroupApi* | [**DeleteGroupByTrackingId**](docs/ChunkGroupApi.md#deletegroupbytrackingid) | **DELETE** /api/chunk_group/tracking_id/{tracking_id} | Delete Group by Tracking ID
*ChunkGroupApi* | [**GetChunkGroup**](docs/ChunkGroupApi.md#getchunkgroup) | **GET** /api/chunk_group/{group_id} | Get Group
*ChunkGroupApi* | [**GetChunksInGroup**](docs/ChunkGroupApi.md#getchunksingroup) | **GET** /api/chunk_group/{group_id}/{page} | Get Chunks in Group
*ChunkGroupApi* | [**GetChunksInGroupByTrackingId**](docs/ChunkGroupApi.md#getchunksingroupbytrackingid) | **GET** /api/chunk_group/tracking_id/{group_tracking_id}/{page} | Get Chunks in Group by Tracking ID
*ChunkGroupApi* | [**GetGroupByTrackingId**](docs/ChunkGroupApi.md#getgroupbytrackingid) | **GET** /api/chunk_group/tracking_id/{tracking_id} | Get Group by Tracking ID
*ChunkGroupApi* | [**GetGroupsChunkIsIn**](docs/ChunkGroupApi.md#getgroupschunkisin) | **POST** /api/chunk_group/chunks | Get Groups for Chunks
*ChunkGroupApi* | [**GetRecommendedGroups**](docs/ChunkGroupApi.md#getrecommendedgroups) | **POST** /api/chunk_group/recommend | Get Recommended Groups
*ChunkGroupApi* | [**GetSpecificDatasetChunkGroups**](docs/ChunkGroupApi.md#getspecificdatasetchunkgroups) | **GET** /api/dataset/groups/{dataset_id}/{page} | Get Groups for Dataset
*ChunkGroupApi* | [**RemoveChunkFromGroup**](docs/ChunkGroupApi.md#removechunkfromgroup) | **DELETE** /api/chunk_group/chunk/{group_id} | Remove Chunk from Group
*ChunkGroupApi* | [**SearchOverGroups**](docs/ChunkGroupApi.md#searchovergroups) | **POST** /api/chunk_group/group_oriented_search | Search Over Groups
*ChunkGroupApi* | [**SearchWithinGroup**](docs/ChunkGroupApi.md#searchwithingroup) | **POST** /api/chunk_group/search | Search Within Group
*ChunkGroupApi* | [**UpdateChunkGroup**](docs/ChunkGroupApi.md#updatechunkgroup) | **PUT** /api/chunk_group | Update Group
*ChunkGroupApi* | [**UpdateGroupByTrackingId**](docs/ChunkGroupApi.md#updategroupbytrackingid) | **PUT** /api/chunk_group/tracking_id/{tracking_id} | Update Group by Tracking ID
*DatasetApi* | [**CreateDataset**](docs/DatasetApi.md#createdataset) | **POST** /api/dataset | Create dataset
*DatasetApi* | [**DeleteDataset**](docs/DatasetApi.md#deletedataset) | **DELETE** /api/dataset | Delete Dataset
*DatasetApi* | [**GetClientDatasetConfig**](docs/DatasetApi.md#getclientdatasetconfig) | **GET** /api/dataset/envs | Get Client Configuration
*DatasetApi* | [**GetDataset**](docs/DatasetApi.md#getdataset) | **GET** /api/dataset/{dataset_id} | Get Dataset
*DatasetApi* | [**GetDatasetsFromOrganization**](docs/DatasetApi.md#getdatasetsfromorganization) | **GET** /api/dataset/organization/{organization_id} | Get Datasets from Organization
*DatasetApi* | [**UpdateDataset**](docs/DatasetApi.md#updatedataset) | **PUT** /api/dataset | Update Dataset
*EventsApi* | [**GetEvents**](docs/EventsApi.md#getevents) | **POST** /api/events | Get events for the dataset
*FileApi* | [**DeleteFileHandler**](docs/FileApi.md#deletefilehandler) | **DELETE** /api/file/{file_id} | Delete File
*FileApi* | [**GetDatasetFilesHandler**](docs/FileApi.md#getdatasetfileshandler) | **GET** /api/dataset/files/{dataset_id}/{page} | Get Files for Dataset
*FileApi* | [**GetFileHandler**](docs/FileApi.md#getfilehandler) | **GET** /api/file/{file_id} | Get File
*FileApi* | [**UploadFileHandler**](docs/FileApi.md#uploadfilehandler) | **POST** /api/file | Upload File
*HealthApi* | [**HealthCheck**](docs/HealthApi.md#healthcheck) | **GET** /api/health | Health Check
*InvitationApi* | [**PostInvitation**](docs/InvitationApi.md#postinvitation) | **POST** /api/invitation | Send Invitation
*MessageApi* | [**CreateMessageCompletionHandler**](docs/MessageApi.md#createmessagecompletionhandler) | **POST** /api/message | Create a message
*MessageApi* | [**EditMessageHandler**](docs/MessageApi.md#editmessagehandler) | **PUT** /api/message | Edit a message
*MessageApi* | [**GetAllTopicMessages**](docs/MessageApi.md#getalltopicmessages) | **GET** /api/messages/{messages_topic_id} | Get all messages for a given topic
*MessageApi* | [**RegenerateMessageHandler**](docs/MessageApi.md#regeneratemessagehandler) | **DELETE** /api/message | Regenerate message
*OrganizationApi* | [**CreateOrganization**](docs/OrganizationApi.md#createorganization) | **POST** /api/organization | Create Organization
*OrganizationApi* | [**DeleteOrganizationById**](docs/OrganizationApi.md#deleteorganizationbyid) | **DELETE** /api/organization/{organization_id} | Delete Organization
*OrganizationApi* | [**GetOrganizationById**](docs/OrganizationApi.md#getorganizationbyid) | **GET** /api/organization/{organization_id} | Get Organization
*OrganizationApi* | [**GetOrganizationUsage**](docs/OrganizationApi.md#getorganizationusage) | **GET** /api/organization/usage/{organization_id} | Get Organization Usage
*OrganizationApi* | [**GetOrganizationUsers**](docs/OrganizationApi.md#getorganizationusers) | **GET** /api/organization/users/{organization_id} | Get Organization Users
*OrganizationApi* | [**UpdateOrganization**](docs/OrganizationApi.md#updateorganization) | **PUT** /api/organization | Update Organization
*StripeApi* | [**CancelSubscription**](docs/StripeApi.md#cancelsubscription) | **DELETE** /api/stripe/subscription/{subscription_id} | Cancel Subscription
*StripeApi* | [**DirectToPaymentLink**](docs/StripeApi.md#directtopaymentlink) | **GET** /api/stripe/payment_link/{plan_id}/{organization_id} | Checkout
*StripeApi* | [**GetAllPlans**](docs/StripeApi.md#getallplans) | **GET** /api/stripe/plans | Get All Plans
*StripeApi* | [**UpdateSubscriptionPlan**](docs/StripeApi.md#updatesubscriptionplan) | **PATCH** /api/stripe/subscription_plan/{subscription_id}/{plan_id} | Update Subscription Plan
*TopicApi* | [**CreateTopic**](docs/TopicApi.md#createtopic) | **POST** /api/topic | Create Topic
*TopicApi* | [**DeleteTopic**](docs/TopicApi.md#deletetopic) | **DELETE** /api/topic | Delete Topic
*TopicApi* | [**GetAllTopicsForUser**](docs/TopicApi.md#getalltopicsforuser) | **GET** /api/topic/user/{user_id} | Get All Topics for User
*TopicApi* | [**UpdateTopic**](docs/TopicApi.md#updatetopic) | **PUT** /api/topic | Update Topic
*UserApi* | [**DeleteUserApiKey**](docs/UserApi.md#deleteuserapikey) | **DELETE** /api/user/delete_api_key | Delete User Api Key
*UserApi* | [**SetUserApiKey**](docs/UserApi.md#setuserapikey) | **POST** /api/user/set_api_key | Set User Api Key
*UserApi* | [**UpdateUser**](docs/UserApi.md#updateuser) | **PUT** /api/user | Update User## Documentation for Models
- [Model.AddChunkToGroupData](docs/AddChunkToGroupData.md)
- [Model.ApiKeyDTO](docs/ApiKeyDTO.md)
- [Model.AuthQuery](docs/AuthQuery.md)
- [Model.BatchQueuedChunkResponse](docs/BatchQueuedChunkResponse.md)
- [Model.BookmarkData](docs/BookmarkData.md)
- [Model.BookmarkGroupResult](docs/BookmarkGroupResult.md)
- [Model.ChatMessageProxy](docs/ChatMessageProxy.md)
- [Model.ChunkData](docs/ChunkData.md)
- [Model.ChunkFilter](docs/ChunkFilter.md)
- [Model.ChunkGroup](docs/ChunkGroup.md)
- [Model.ChunkGroupAndFile](docs/ChunkGroupAndFile.md)
- [Model.ChunkMetadata](docs/ChunkMetadata.md)
- [Model.ChunkMetadataWithFileData](docs/ChunkMetadataWithFileData.md)
- [Model.ClientDatasetConfiguration](docs/ClientDatasetConfiguration.md)
- [Model.CreateChunkData](docs/CreateChunkData.md)
- [Model.CreateChunkGroupData](docs/CreateChunkGroupData.md)
- [Model.CreateDatasetRequest](docs/CreateDatasetRequest.md)
- [Model.CreateMessageData](docs/CreateMessageData.md)
- [Model.CreateOrganizationData](docs/CreateOrganizationData.md)
- [Model.CreateTopicData](docs/CreateTopicData.md)
- [Model.Dataset](docs/Dataset.md)
- [Model.DatasetAndUsage](docs/DatasetAndUsage.md)
- [Model.DatasetDTO](docs/DatasetDTO.md)
- [Model.DatasetUsageCount](docs/DatasetUsageCount.md)
- [Model.DeleteDatasetRequest](docs/DeleteDatasetRequest.md)
- [Model.DeleteTopicData](docs/DeleteTopicData.md)
- [Model.DeleteUserApiKeyRequest](docs/DeleteUserApiKeyRequest.md)
- [Model.EditMessageData](docs/EditMessageData.md)
- [Model.ErrorResponseBody](docs/ErrorResponseBody.md)
- [Model.Event](docs/Event.md)
- [Model.EventReturn](docs/EventReturn.md)
- [Model.FieldCondition](docs/FieldCondition.md)
- [Model.File](docs/File.md)
- [Model.FileDTO](docs/FileDTO.md)
- [Model.GenerateChunksRequest](docs/GenerateChunksRequest.md)
- [Model.GetEventsData](docs/GetEventsData.md)
- [Model.GetGroupsForChunksData](docs/GetGroupsForChunksData.md)
- [Model.GroupData](docs/GroupData.md)
- [Model.GroupScoreChunkDTO](docs/GroupScoreChunkDTO.md)
- [Model.InvitationData](docs/InvitationData.md)
- [Model.MatchCondition](docs/MatchCondition.md)
- [Model.Message](docs/Message.md)
- [Model.Organization](docs/Organization.md)
- [Model.OrganizationUsageCount](docs/OrganizationUsageCount.md)
- [Model.Range](docs/Range.md)
- [Model.ReccomendGroupChunksRequest](docs/ReccomendGroupChunksRequest.md)
- [Model.RecommendChunksRequest](docs/RecommendChunksRequest.md)
- [Model.RegenerateMessageData](docs/RegenerateMessageData.md)
- [Model.ReturnQueuedChunk](docs/ReturnQueuedChunk.md)
- [Model.ScoreChunkDTO](docs/ScoreChunkDTO.md)
- [Model.SearchChunkData](docs/SearchChunkData.md)
- [Model.SearchChunkQueryResponseBody](docs/SearchChunkQueryResponseBody.md)
- [Model.SearchGroupsResult](docs/SearchGroupsResult.md)
- [Model.SearchOverGroupsData](docs/SearchOverGroupsData.md)
- [Model.SearchOverGroupsResponseBody](docs/SearchOverGroupsResponseBody.md)
- [Model.SearchWithinGroupData](docs/SearchWithinGroupData.md)
- [Model.SetUserApiKeyRequest](docs/SetUserApiKeyRequest.md)
- [Model.SetUserApiKeyResponse](docs/SetUserApiKeyResponse.md)
- [Model.SingleQueuedChunkResponse](docs/SingleQueuedChunkResponse.md)
- [Model.SlimGroup](docs/SlimGroup.md)
- [Model.SlimUser](docs/SlimUser.md)
- [Model.StripePlan](docs/StripePlan.md)
- [Model.SuggestedQueriesRequest](docs/SuggestedQueriesRequest.md)
- [Model.SuggestedQueriesResponse](docs/SuggestedQueriesResponse.md)
- [Model.Topic](docs/Topic.md)
- [Model.UpdateChunkByTrackingIdData](docs/UpdateChunkByTrackingIdData.md)
- [Model.UpdateChunkData](docs/UpdateChunkData.md)
- [Model.UpdateChunkGroupData](docs/UpdateChunkGroupData.md)
- [Model.UpdateDatasetRequest](docs/UpdateDatasetRequest.md)
- [Model.UpdateGroupByTrackingIDData](docs/UpdateGroupByTrackingIDData.md)
- [Model.UpdateOrganizationData](docs/UpdateOrganizationData.md)
- [Model.UpdateTopicData](docs/UpdateTopicData.md)
- [Model.UpdateUserData](docs/UpdateUserData.md)
- [Model.UploadFileData](docs/UploadFileData.md)
- [Model.UploadFileResult](docs/UploadFileResult.md)
- [Model.UserOrganization](docs/UserOrganization.md)## Documentation for Authorization
Authentication schemes defined for the API:
### ApiKey- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header