diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 84c83cc..e306bdb 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -2,9 +2,14 @@
Com.Sajari.Sdk.sln
README.md
appveyor.yml
+docs/ActivePromotion.md
docs/BatchCreateSchemaFieldsRequest.md
docs/BatchCreateSchemaFieldsResponse.md
docs/BatchCreateSchemaFieldsResponseError.md
+docs/BatchUpdateRecordsRequest.md
+docs/BatchUpdateRecordsResponse.md
+docs/BatchUpdateRecordsResponseError.md
+docs/BatchUpdateRecordsResponseRecord.md
docs/BatchUpsertRecordsRequest.md
docs/BatchUpsertRecordsRequestPipeline.md
docs/BatchUpsertRecordsResponse.md
@@ -25,6 +30,8 @@ docs/GetRecordRequest.md
docs/ListCollectionsResponse.md
docs/ListPipelinesRequestView.md
docs/ListPipelinesResponse.md
+docs/ListPromotionsResponse.md
+docs/ListRedirectsResponse.md
docs/ListSchemaFieldsResponse.md
docs/PercentileDataPoint.md
docs/Pipeline.md
@@ -32,7 +39,16 @@ docs/PipelineStep.md
docs/PipelineStepParamBinding.md
docs/PipelineType.md
docs/PipelinesApi.md
+docs/Promotion.md
+docs/PromotionCategory.md
+docs/PromotionExclusion.md
+docs/PromotionFilterBoost.md
+docs/PromotionFilterCondition.md
+docs/PromotionPin.md
+docs/PromotionRangeBoost.md
+docs/PromotionsApi.md
docs/ProtobufAny.md
+docs/ProtobufFieldMask.md
docs/ProtobufNullValue.md
docs/QueryAggregateResult.md
docs/QueryAggregateResultAnalysis.md
@@ -54,6 +70,9 @@ docs/QueryResultTokenClick.md
docs/QueryResultTokenPosNeg.md
docs/RecordKey.md
docs/RecordsApi.md
+docs/Redirect.md
+docs/RedirectResult.md
+docs/RedirectsApi.md
docs/SchemaApi.md
docs/SchemaField.md
docs/SchemaFieldMode.md
@@ -66,11 +85,32 @@ docs/UpdateRecordRequest.md
docs/UpsertRecordRequest.md
docs/UpsertRecordRequestPipeline.md
docs/UpsertRecordResponse.md
+src/Com.Sajari.Sdk.Test/Api/PromotionsApiTests.cs
+src/Com.Sajari.Sdk.Test/Api/RedirectsApiTests.cs
src/Com.Sajari.Sdk.Test/Com.Sajari.Sdk.Test.csproj
+src/Com.Sajari.Sdk.Test/Model/ActivePromotionTests.cs
+src/Com.Sajari.Sdk.Test/Model/BatchUpdateRecordsRequestTests.cs
+src/Com.Sajari.Sdk.Test/Model/BatchUpdateRecordsResponseErrorTests.cs
+src/Com.Sajari.Sdk.Test/Model/BatchUpdateRecordsResponseRecordTests.cs
+src/Com.Sajari.Sdk.Test/Model/BatchUpdateRecordsResponseTests.cs
+src/Com.Sajari.Sdk.Test/Model/ListPromotionsResponseTests.cs
+src/Com.Sajari.Sdk.Test/Model/ListRedirectsResponseTests.cs
+src/Com.Sajari.Sdk.Test/Model/PromotionCategoryTests.cs
+src/Com.Sajari.Sdk.Test/Model/PromotionExclusionTests.cs
+src/Com.Sajari.Sdk.Test/Model/PromotionFilterBoostTests.cs
+src/Com.Sajari.Sdk.Test/Model/PromotionFilterConditionTests.cs
+src/Com.Sajari.Sdk.Test/Model/PromotionPinTests.cs
+src/Com.Sajari.Sdk.Test/Model/PromotionRangeBoostTests.cs
+src/Com.Sajari.Sdk.Test/Model/PromotionTests.cs
+src/Com.Sajari.Sdk.Test/Model/ProtobufFieldMaskTests.cs
+src/Com.Sajari.Sdk.Test/Model/RedirectResultTests.cs
+src/Com.Sajari.Sdk.Test/Model/RedirectTests.cs
src/Com.Sajari.Sdk/Api/CollectionsApi.cs
src/Com.Sajari.Sdk/Api/EventsApi.cs
src/Com.Sajari.Sdk/Api/PipelinesApi.cs
+src/Com.Sajari.Sdk/Api/PromotionsApi.cs
src/Com.Sajari.Sdk/Api/RecordsApi.cs
+src/Com.Sajari.Sdk/Api/RedirectsApi.cs
src/Com.Sajari.Sdk/Api/SchemaApi.cs
src/Com.Sajari.Sdk/Client/ApiClient.cs
src/Com.Sajari.Sdk/Client/ApiException.cs
@@ -90,9 +130,14 @@ src/Com.Sajari.Sdk/Client/RequestOptions.cs
src/Com.Sajari.Sdk/Client/RetryConfiguration.cs
src/Com.Sajari.Sdk/Com.Sajari.Sdk.csproj
src/Com.Sajari.Sdk/Model/AbstractOpenAPISchema.cs
+src/Com.Sajari.Sdk/Model/ActivePromotion.cs
src/Com.Sajari.Sdk/Model/BatchCreateSchemaFieldsRequest.cs
src/Com.Sajari.Sdk/Model/BatchCreateSchemaFieldsResponse.cs
src/Com.Sajari.Sdk/Model/BatchCreateSchemaFieldsResponseError.cs
+src/Com.Sajari.Sdk/Model/BatchUpdateRecordsRequest.cs
+src/Com.Sajari.Sdk/Model/BatchUpdateRecordsResponse.cs
+src/Com.Sajari.Sdk/Model/BatchUpdateRecordsResponseError.cs
+src/Com.Sajari.Sdk/Model/BatchUpdateRecordsResponseRecord.cs
src/Com.Sajari.Sdk/Model/BatchUpsertRecordsRequest.cs
src/Com.Sajari.Sdk/Model/BatchUpsertRecordsRequestPipeline.cs
src/Com.Sajari.Sdk/Model/BatchUpsertRecordsResponse.cs
@@ -111,13 +156,23 @@ src/Com.Sajari.Sdk/Model/GetRecordRequest.cs
src/Com.Sajari.Sdk/Model/ListCollectionsResponse.cs
src/Com.Sajari.Sdk/Model/ListPipelinesRequestView.cs
src/Com.Sajari.Sdk/Model/ListPipelinesResponse.cs
+src/Com.Sajari.Sdk/Model/ListPromotionsResponse.cs
+src/Com.Sajari.Sdk/Model/ListRedirectsResponse.cs
src/Com.Sajari.Sdk/Model/ListSchemaFieldsResponse.cs
src/Com.Sajari.Sdk/Model/PercentileDataPoint.cs
src/Com.Sajari.Sdk/Model/Pipeline.cs
src/Com.Sajari.Sdk/Model/PipelineStep.cs
src/Com.Sajari.Sdk/Model/PipelineStepParamBinding.cs
src/Com.Sajari.Sdk/Model/PipelineType.cs
+src/Com.Sajari.Sdk/Model/Promotion.cs
+src/Com.Sajari.Sdk/Model/PromotionCategory.cs
+src/Com.Sajari.Sdk/Model/PromotionExclusion.cs
+src/Com.Sajari.Sdk/Model/PromotionFilterBoost.cs
+src/Com.Sajari.Sdk/Model/PromotionFilterCondition.cs
+src/Com.Sajari.Sdk/Model/PromotionPin.cs
+src/Com.Sajari.Sdk/Model/PromotionRangeBoost.cs
src/Com.Sajari.Sdk/Model/ProtobufAny.cs
+src/Com.Sajari.Sdk/Model/ProtobufFieldMask.cs
src/Com.Sajari.Sdk/Model/ProtobufNullValue.cs
src/Com.Sajari.Sdk/Model/QueryAggregateResult.cs
src/Com.Sajari.Sdk/Model/QueryAggregateResultAnalysis.cs
@@ -138,6 +193,8 @@ src/Com.Sajari.Sdk/Model/QueryResultToken.cs
src/Com.Sajari.Sdk/Model/QueryResultTokenClick.cs
src/Com.Sajari.Sdk/Model/QueryResultTokenPosNeg.cs
src/Com.Sajari.Sdk/Model/RecordKey.cs
+src/Com.Sajari.Sdk/Model/Redirect.cs
+src/Com.Sajari.Sdk/Model/RedirectResult.cs
src/Com.Sajari.Sdk/Model/SchemaField.cs
src/Com.Sajari.Sdk/Model/SchemaFieldMode.cs
src/Com.Sajari.Sdk/Model/SchemaFieldType.cs
diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION
index e230c83..7d3cdbf 100644
--- a/.openapi-generator/VERSION
+++ b/.openapi-generator/VERSION
@@ -1 +1 @@
-5.3.0
\ No newline at end of file
+5.3.1
\ No newline at end of file
diff --git a/Com.Sajari.Sdk.sln b/Com.Sajari.Sdk.sln
index d931c5a..5d54a86 100644
--- a/Com.Sajari.Sdk.sln
+++ b/Com.Sajari.Sdk.sln
@@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Com.Sajari.Sdk", "src\Com.Sajari.Sdk\Com.Sajari.Sdk.csproj", "{028A2A5B-F258-4825-8462-DF48027A4BD0}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Com.Sajari.Sdk", "src\Com.Sajari.Sdk\Com.Sajari.Sdk.csproj", "{F43DF556-4B80-4335-95A6-C0E8DE8BBDCA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Com.Sajari.Sdk.Test", "src\Com.Sajari.Sdk.Test\Com.Sajari.Sdk.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}"
EndProject
@@ -12,10 +12,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {028A2A5B-F258-4825-8462-DF48027A4BD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {028A2A5B-F258-4825-8462-DF48027A4BD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {028A2A5B-F258-4825-8462-DF48027A4BD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {028A2A5B-F258-4825-8462-DF48027A4BD0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F43DF556-4B80-4335-95A6-C0E8DE8BBDCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F43DF556-4B80-4335-95A6-C0E8DE8BBDCA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F43DF556-4B80-4335-95A6-C0E8DE8BBDCA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F43DF556-4B80-4335-95A6-C0E8DE8BBDCA}.Release|Any CPU.Build.0 = Release|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU
diff --git a/README.md b/README.md
index f2d98b3..0bb1ab3 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
-# Com.Sajari.Sdk - the C# library for the Sajari API
+# Com.Sajari.Sdk - the C# library for the Search.io API
-Sajari is a smart, highly-configurable, real-time search service that enables thousands of businesses worldwide to provide amazing search experiences on their websites, stores, and applications.
+Search.io offers a search and discovery service with Neuralsearch®, the world's first instant AI search technology. Businesses of all sizes use Search.io to build site search and discovery solutions that maximize e-commerce revenue, optimize on-site customer experience, and scale their online presence.
This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: v4
-- SDK version: 4.2.0
+- SDK version: 4.3.0
- Build package: org.openapitools.codegen.languages.CSharpNetCoreClientCodegen
- For more information, please visit [https://www.sajari.com/company/contact](https://www.sajari.com/company/contact)
+ For more information, please visit [https://www.search.io/company/contact](https://www.search.io/company/contact)
## Frameworks supported
@@ -18,7 +18,7 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap
## Dependencies
-- [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.11.7 or later
+- [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.13.0 or later
- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.3 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 later
@@ -73,7 +73,7 @@ namespace Example
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -103,7 +103,7 @@ namespace Example
## Documentation for API Endpoints
-All URIs are relative to *https://api-gateway.sajari.com*
+All URIs are relative to *https://api.search.io*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
@@ -124,11 +124,22 @@ Class | Method | HTTP request | Description
*PipelinesApi* | [**ListPipelines**](docs/PipelinesApi.md#listpipelines) | **GET** /v4/collections/{collection_id}/pipelines | List pipelines
*PipelinesApi* | [**SetDefaultPipeline**](docs/PipelinesApi.md#setdefaultpipeline) | **POST** /v4/collections/{collection_id}:setDefaultPipeline | Set default pipeline
*PipelinesApi* | [**SetDefaultVersion**](docs/PipelinesApi.md#setdefaultversion) | **POST** /v4/collections/{collection_id}/pipelines/{type}/{name}:setDefaultVersion | Set default pipeline version
+*PromotionsApi* | [**CreatePromotion**](docs/PromotionsApi.md#createpromotion) | **POST** /v4/collections/{collection_id}/promotions | Create promotion
+*PromotionsApi* | [**DeletePromotion**](docs/PromotionsApi.md#deletepromotion) | **DELETE** /v4/collections/{collection_id}/promotions/{promotion_id} | Delete promotion
+*PromotionsApi* | [**GetPromotion**](docs/PromotionsApi.md#getpromotion) | **GET** /v4/collections/{collection_id}/promotions/{promotion_id} | Get promotion
+*PromotionsApi* | [**ListPromotions**](docs/PromotionsApi.md#listpromotions) | **GET** /v4/collections/{collection_id}/promotions | List promotions
+*PromotionsApi* | [**UpdatePromotion**](docs/PromotionsApi.md#updatepromotion) | **PATCH** /v4/collections/{collection_id}/promotions/{promotion_id} | Update promotion
+*RecordsApi* | [**BatchUpdateRecords**](docs/RecordsApi.md#batchupdaterecords) | **POST** /v4/collections/{collection_id}/records:batchUpdate | Batch update records
*RecordsApi* | [**BatchUpsertRecords**](docs/RecordsApi.md#batchupsertrecords) | **POST** /v4/collections/{collection_id}/records:batchUpsert | Batch upsert records
*RecordsApi* | [**DeleteRecord**](docs/RecordsApi.md#deleterecord) | **POST** /v4/collections/{collection_id}/records:delete | Delete record
*RecordsApi* | [**GetRecord**](docs/RecordsApi.md#getrecord) | **POST** /v4/collections/{collection_id}/records:get | Get record
*RecordsApi* | [**UpdateRecord**](docs/RecordsApi.md#updaterecord) | **POST** /v4/collections/{collection_id}/records:update | Update record
*RecordsApi* | [**UpsertRecord**](docs/RecordsApi.md#upsertrecord) | **POST** /v4/collections/{collection_id}/records:upsert | Upsert record
+*RedirectsApi* | [**CreateRedirect**](docs/RedirectsApi.md#createredirect) | **POST** /v4/collections/{collection_id}/redirects | Create redirect
+*RedirectsApi* | [**DeleteRedirect**](docs/RedirectsApi.md#deleteredirect) | **DELETE** /v4/collections/{collection_id}/redirects/{redirect_id} | Delete redirect
+*RedirectsApi* | [**GetRedirect**](docs/RedirectsApi.md#getredirect) | **GET** /v4/collections/{collection_id}/redirects/{redirect_id} | Get redirect
+*RedirectsApi* | [**ListRedirects**](docs/RedirectsApi.md#listredirects) | **GET** /v4/collections/{collection_id}/redirects | List redirects
+*RedirectsApi* | [**UpdateRedirect**](docs/RedirectsApi.md#updateredirect) | **PATCH** /v4/collections/{collection_id}/redirects/{redirect_id} | Update redirect
*SchemaApi* | [**BatchCreateSchemaFields**](docs/SchemaApi.md#batchcreateschemafields) | **POST** /v4/collections/{collection_id}/schemaFields:batchCreate | Batch create schema fields
*SchemaApi* | [**CreateSchemaField**](docs/SchemaApi.md#createschemafield) | **POST** /v4/collections/{collection_id}/schemaFields | Create schema field
*SchemaApi* | [**ListSchemaFields**](docs/SchemaApi.md#listschemafields) | **GET** /v4/collections/{collection_id}/schemaFields | List schema fields
@@ -137,9 +148,14 @@ Class | Method | HTTP request | Description
## Documentation for Models
+ - [Model.ActivePromotion](docs/ActivePromotion.md)
- [Model.BatchCreateSchemaFieldsRequest](docs/BatchCreateSchemaFieldsRequest.md)
- [Model.BatchCreateSchemaFieldsResponse](docs/BatchCreateSchemaFieldsResponse.md)
- [Model.BatchCreateSchemaFieldsResponseError](docs/BatchCreateSchemaFieldsResponseError.md)
+ - [Model.BatchUpdateRecordsRequest](docs/BatchUpdateRecordsRequest.md)
+ - [Model.BatchUpdateRecordsResponse](docs/BatchUpdateRecordsResponse.md)
+ - [Model.BatchUpdateRecordsResponseError](docs/BatchUpdateRecordsResponseError.md)
+ - [Model.BatchUpdateRecordsResponseRecord](docs/BatchUpdateRecordsResponseRecord.md)
- [Model.BatchUpsertRecordsRequest](docs/BatchUpsertRecordsRequest.md)
- [Model.BatchUpsertRecordsRequestPipeline](docs/BatchUpsertRecordsRequestPipeline.md)
- [Model.BatchUpsertRecordsResponse](docs/BatchUpsertRecordsResponse.md)
@@ -158,13 +174,23 @@ Class | Method | HTTP request | Description
- [Model.ListCollectionsResponse](docs/ListCollectionsResponse.md)
- [Model.ListPipelinesRequestView](docs/ListPipelinesRequestView.md)
- [Model.ListPipelinesResponse](docs/ListPipelinesResponse.md)
+ - [Model.ListPromotionsResponse](docs/ListPromotionsResponse.md)
+ - [Model.ListRedirectsResponse](docs/ListRedirectsResponse.md)
- [Model.ListSchemaFieldsResponse](docs/ListSchemaFieldsResponse.md)
- [Model.PercentileDataPoint](docs/PercentileDataPoint.md)
- [Model.Pipeline](docs/Pipeline.md)
- [Model.PipelineStep](docs/PipelineStep.md)
- [Model.PipelineStepParamBinding](docs/PipelineStepParamBinding.md)
- [Model.PipelineType](docs/PipelineType.md)
+ - [Model.Promotion](docs/Promotion.md)
+ - [Model.PromotionCategory](docs/PromotionCategory.md)
+ - [Model.PromotionExclusion](docs/PromotionExclusion.md)
+ - [Model.PromotionFilterBoost](docs/PromotionFilterBoost.md)
+ - [Model.PromotionFilterCondition](docs/PromotionFilterCondition.md)
+ - [Model.PromotionPin](docs/PromotionPin.md)
+ - [Model.PromotionRangeBoost](docs/PromotionRangeBoost.md)
- [Model.ProtobufAny](docs/ProtobufAny.md)
+ - [Model.ProtobufFieldMask](docs/ProtobufFieldMask.md)
- [Model.ProtobufNullValue](docs/ProtobufNullValue.md)
- [Model.QueryAggregateResult](docs/QueryAggregateResult.md)
- [Model.QueryAggregateResultAnalysis](docs/QueryAggregateResultAnalysis.md)
@@ -185,6 +211,8 @@ Class | Method | HTTP request | Description
- [Model.QueryResultTokenClick](docs/QueryResultTokenClick.md)
- [Model.QueryResultTokenPosNeg](docs/QueryResultTokenPosNeg.md)
- [Model.RecordKey](docs/RecordKey.md)
+ - [Model.Redirect](docs/Redirect.md)
+ - [Model.RedirectResult](docs/RedirectResult.md)
- [Model.SchemaField](docs/SchemaField.md)
- [Model.SchemaFieldMode](docs/SchemaFieldMode.md)
- [Model.SchemaFieldType](docs/SchemaFieldType.md)
diff --git a/docs/ActivePromotion.md b/docs/ActivePromotion.md
new file mode 100644
index 0000000..ad4f7cc
--- /dev/null
+++ b/docs/ActivePromotion.md
@@ -0,0 +1,13 @@
+# Com.Sajari.Sdk.Model.ActivePromotion
+ActivePromotion is a promotion that is active for a given search.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ActiveExclusions** | [**List<PromotionExclusion>**](PromotionExclusion.md) | The records that are excluded from the result set by the active promotion. | [optional]
+**ActivePins** | [**List<PromotionPin>**](PromotionPin.md) | The pins that belong to the active promotion. Note that the positions in these pins are the positions specified at pin creation time, which is not necessarily the position that a pin ends up in. For example, if a pin is created at position 2, but the query that the pin is active in has zero results, the pinned result actually appears in position 1. | [optional]
+**PromotionId** | **string** | The ID of the active promotion. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/BatchUpdateRecordsRequest.md b/docs/BatchUpdateRecordsRequest.md
new file mode 100644
index 0000000..a58a447
--- /dev/null
+++ b/docs/BatchUpdateRecordsRequest.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.BatchUpdateRecordsRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Requests** | [**List<UpdateRecordRequest>**](UpdateRecordRequest.md) | The list of requests containing the records to be updated. A maximum of 200 records can be updated in a batch. |
+**UpdateMask** | **string** | The list of fields to be updated, separated by a comma, e.g. `field1,field2`. For each field that you want to update, provide a corresponding value in each record object, within the requests list, containing the new value. If provided, and you also provide an update mask in any child request, the values must match. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/BatchUpdateRecordsResponse.md b/docs/BatchUpdateRecordsResponse.md
new file mode 100644
index 0000000..bd0f6c5
--- /dev/null
+++ b/docs/BatchUpdateRecordsResponse.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.BatchUpdateRecordsResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Errors** | [**List<BatchUpdateRecordsResponseError>**](BatchUpdateRecordsResponseError.md) | The errors that occurred. | [optional]
+**Records** | [**List<BatchUpdateRecordsResponseRecord>**](BatchUpdateRecordsResponseRecord.md) | A list of updated records. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/BatchUpdateRecordsResponseError.md b/docs/BatchUpdateRecordsResponseError.md
new file mode 100644
index 0000000..664e26d
--- /dev/null
+++ b/docs/BatchUpdateRecordsResponseError.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.BatchUpdateRecordsResponseError
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Index** | **int** | The index of the record in `requests` that this error corresponds to. | [optional]
+**Status** | [**Status**](Status.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/BatchUpdateRecordsResponseRecord.md b/docs/BatchUpdateRecordsResponseRecord.md
new file mode 100644
index 0000000..cb35d55
--- /dev/null
+++ b/docs/BatchUpdateRecordsResponseRecord.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.BatchUpdateRecordsResponseRecord
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Index** | **int** | The index of the record in `requests`. | [optional]
+**Record** | **Object** | The updated record. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/CollectionsApi.md b/docs/CollectionsApi.md
index 0a2f345..237dc2a 100644
--- a/docs/CollectionsApi.md
+++ b/docs/CollectionsApi.md
@@ -1,6 +1,6 @@
# Com.Sajari.Sdk.Api.CollectionsApi
-All URIs are relative to *https://api-gateway.sajari.com*
+All URIs are relative to *https://api.search.io*
Method | HTTP request | Description
------------- | ------------- | -------------
@@ -19,7 +19,7 @@ Method | HTTP request | Description
Create collection
-Create an empty collection. Before records can be added to a collection, the schema and pipelines for the collection have to be set up. Consider setting up new collections via the Sajari Console, which handles the creation of the schema and pipelines for you.
+Create an empty collection. Before records can be added to a collection, the schema and pipelines for the collection have to be set up. Consider setting up new collections via the Search.io Console, which handles the creation of the schema and pipelines for you.
### Example
```csharp
@@ -36,7 +36,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -120,7 +120,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -200,7 +200,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -280,7 +280,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -345,7 +345,7 @@ Name | Type | Description | Notes
Query collection
-Query the collection to search for records. The following example demonstrates how to run a simple search for a particular string: ```json { \"variables\": { \"q\": \"search terms\" } } ``` For more information: - See [filtering content](https://docs.sajari.com/user-guide/integrating-search/filters/) - See [tracking in the Go SDK](https://github.com/sajari/sdk-go/blob/v2/session.go) - See [tracking in the JS SDK](https://github.com/sajari/sajari-sdk-js/blob/master/src/session.ts)
+Query the collection to search for records. The following example demonstrates how to run a simple search for a particular string: ```json { \"variables\": { \"q\": \"search terms\" } } ``` For more information: - See [filtering content](https://docs.search.io/documentation/fundamentals/integrating-search/filters-and-sort-options) - See [tracking in the Go SDK](https://github.com/sajari/sdk-go/blob/v2/session.go) - See [tracking in the JS SDK](https://github.com/sajari/sajari-sdk-js/blob/master/src/session.ts)
### Example
```csharp
@@ -362,7 +362,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -427,7 +427,7 @@ Name | Type | Description | Notes
Query collection
-Query the collection to search for records. The following example demonstrates how to run a simple search for a particular string: ```json { \"variables\": { \"q\": \"search terms\" } } ``` For more information: - See [filtering content](https://docs.sajari.com/user-guide/integrating-search/filters/) - See [tracking in the Go SDK](https://github.com/sajari/sdk-go/blob/v2/session.go) - See [tracking in the JS SDK](https://github.com/sajari/sajari-sdk-js/blob/master/src/session.ts)
+Query the collection to search for records. The following example demonstrates how to run a simple search for a particular string: ```json { \"variables\": { \"q\": \"search terms\" } } ``` For more information: - See [filtering content](https://docs.search.io/documentation/fundamentals/integrating-search/filters-and-sort-options) - See [tracking in the Go SDK](https://github.com/sajari/sdk-go/blob/v2/session.go) - See [tracking in the JS SDK](https://github.com/sajari/sajari-sdk-js/blob/master/src/session.ts)
### Example
```csharp
@@ -444,7 +444,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -526,7 +526,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
diff --git a/docs/EventsApi.md b/docs/EventsApi.md
index dc281f2..e9c15c1 100644
--- a/docs/EventsApi.md
+++ b/docs/EventsApi.md
@@ -1,6 +1,6 @@
# Com.Sajari.Sdk.Api.EventsApi
-All URIs are relative to *https://api-gateway.sajari.com*
+All URIs are relative to *https://api.search.io*
Method | HTTP request | Description
------------- | ------------- | -------------
@@ -31,7 +31,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -112,7 +112,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
diff --git a/docs/ListPromotionsResponse.md b/docs/ListPromotionsResponse.md
new file mode 100644
index 0000000..71fd839
--- /dev/null
+++ b/docs/ListPromotionsResponse.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.ListPromotionsResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**NextPageToken** | **string** | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | [optional]
+**Promotions** | [**List<Promotion>**](Promotion.md) | The promotions. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/ListRedirectsResponse.md b/docs/ListRedirectsResponse.md
new file mode 100644
index 0000000..ff10770
--- /dev/null
+++ b/docs/ListRedirectsResponse.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.ListRedirectsResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**NextPageToken** | **string** | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | [optional]
+**Redirects** | [**List<Redirect>**](Redirect.md) | The redirects. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/Pipeline.md b/docs/Pipeline.md
index ab7bf4f..50d261a 100644
--- a/docs/Pipeline.md
+++ b/docs/Pipeline.md
@@ -9,8 +9,8 @@ Name | Type | Description | Notes
**DefaultVersion** | **bool** | Output only. Indicates if the pipeline is the default version. | [optional] [readonly]
**Description** | **string** | Description of the pipeline. | [optional]
**Name** | **string** | The pipeline's name. Must start with an alphanumeric character followed by one or more alphanumeric, `_`, `-` or `.` characters. Strictly speaking, it must match the regular expression: `^[a-zA-Z0-9][a-zA-Z0-9_\\-\\.]+$`. |
-**PostSteps** | [**List<PipelineStep>**](PipelineStep.md) | Post-steps are run after an indexing operation or query request has been sent to the search index. For indexing operations, the post-steps only run when creating new records. They do not run when updating records. For querying, the post-steps have access to the result-set. This makes it possible to act on the results before sending them back to the caller. | [optional]
-**PreSteps** | [**List<PipelineStep>**](PipelineStep.md) | Pre-steps are run before an indexing operation or query request is sent to the search index. | [optional]
+**PostSteps** | [**List<PipelineStep>**](PipelineStep.md) | The post-steps that are run after an indexing operation or query request has been sent to the search index. For indexing operations, the post-steps only run when creating new records. They do not run when updating records. For querying, the post-steps have access to the result-set. This makes it possible to act on the results before sending them back to the caller. | [optional]
+**PreSteps** | [**List<PipelineStep>**](PipelineStep.md) | The pre-steps that are run before an indexing operation or query request is sent to the search index. | [optional]
**Type** | **PipelineType** | |
**_Version** | **string** | The pipeline's version. Must start with an alphanumeric character followed by one or more alphanumeric, `_`, `-` or `.` characters. Strictly speaking, it must match the regular expression: `^[a-zA-Z0-9][a-zA-Z0-9_\\-\\.]+$`. |
diff --git a/docs/PipelineStep.md b/docs/PipelineStep.md
index c6dd6ce..b289edd 100644
--- a/docs/PipelineStep.md
+++ b/docs/PipelineStep.md
@@ -6,7 +6,7 @@ Step creates a pipeline step.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Annotations** | **List<string>** | Annotations added to the request when the step is run. | [optional]
-**Condition** | **string** | Condition expression to determine if the step should be run. This is a filter expression much like the query filter expression, but it acts upon the pipeline variables. For example, to only run the step if the pipeline `q` variable is not empty, set this to `q != ''`. | [optional]
+**Condition** | **string** | A condition expression to determine if the step should be run. This is a filter expression much like the query filter expression, but it acts upon the pipeline variables. For example, to only run the step if the pipeline `q` variable is not empty, set this to `q != ''`. | [optional]
**Description** | **string** | Description for the step. Overrides the default description. | [optional]
**Id** | **string** | ID of the step template. |
**Params** | [**Dictionary<string, PipelineStepParamBinding>**](PipelineStepParamBinding.md) | Bindings for the step parameters. | [optional]
diff --git a/docs/PipelinesApi.md b/docs/PipelinesApi.md
index bc0e9fc..b0769ec 100644
--- a/docs/PipelinesApi.md
+++ b/docs/PipelinesApi.md
@@ -1,6 +1,6 @@
# Com.Sajari.Sdk.Api.PipelinesApi
-All URIs are relative to *https://api-gateway.sajari.com*
+All URIs are relative to *https://api.search.io*
Method | HTTP request | Description
------------- | ------------- | -------------
@@ -37,7 +37,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -119,7 +119,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -201,7 +201,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -283,7 +283,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -369,7 +369,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -457,7 +457,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -543,7 +543,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -625,7 +625,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
diff --git a/docs/Promotion.md b/docs/Promotion.md
new file mode 100644
index 0000000..6e0800f
--- /dev/null
+++ b/docs/Promotion.md
@@ -0,0 +1,24 @@
+# Com.Sajari.Sdk.Model.Promotion
+Promotion contains a trigger, determining which searches it should be active for, and a list of alterations that should be made to search results when it is active.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CollectionId** | **string** | Output only. The ID of the collection that owns this promotion. | [optional] [readonly]
+**Condition** | **string** | A condition expression applied to a search request that determines which searches the promotion is active for. For example, to apply the promotion's pins and boosts whenever a user searches for 'shoes' set condition to `q = 'shoes'`. |
+**CreateTime** | **DateTime** | Output only. Time the promotion was created. | [optional] [readonly]
+**Disabled** | **bool** | If disabled, the promotion is never triggered. | [optional]
+**DisplayName** | **string** | The promotion's display name. |
+**EndTime** | **DateTime** | If specified, the promotion is considered disabled after this time. | [optional]
+**Exclusions** | [**List<PromotionExclusion>**](PromotionExclusion.md) | The records to exclude from search results, if the promotion is enabled. | [optional]
+**FilterBoosts** | [**List<PromotionFilterBoost>**](PromotionFilterBoost.md) | The filter boosts to apply to searches, if the promotion is enabled. | [optional]
+**FilterConditions** | [**List<PromotionFilterCondition>**](PromotionFilterCondition.md) | The conditions applied to the filters passed from the user. A query must match at least one of these in order to trigger the promotion. | [optional]
+**Id** | **string** | The promotion's ID. | [optional]
+**Pins** | [**List<PromotionPin>**](PromotionPin.md) | The items to fix to specific positions in the search results. | [optional]
+**RangeBoosts** | [**List<PromotionRangeBoost>**](PromotionRangeBoost.md) | The range boosts to apply to searches, if the promotion is enabled. | [optional]
+**StartTime** | **DateTime** | If specified, the promotion is considered disabled before this time. | [optional]
+**UpdateTime** | **DateTime** | Output only. Time the promotion was last updated. | [optional] [readonly]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/PromotionCategory.md b/docs/PromotionCategory.md
new file mode 100644
index 0000000..dc2ede5
--- /dev/null
+++ b/docs/PromotionCategory.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.PromotionCategory
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**IdField** | **string** | The logical field that specifies a record's category, e.g. \"product_type\". | [optional]
+**MappingField** | **string** | The field that contains a human-readable rendering of a record's category, e.g. \"product_type_name\". When creating promotions, this field's text value is displayed instead of the `id_field`. If `mapping_field` is not provided, the text value of the record's `id_field` is displayed. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/PromotionExclusion.md b/docs/PromotionExclusion.md
new file mode 100644
index 0000000..edb1c16
--- /dev/null
+++ b/docs/PromotionExclusion.md
@@ -0,0 +1,10 @@
+# Com.Sajari.Sdk.Model.PromotionExclusion
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Key** | [**RecordKey**](RecordKey.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/PromotionFilterBoost.md b/docs/PromotionFilterBoost.md
new file mode 100644
index 0000000..c8cfbf9
--- /dev/null
+++ b/docs/PromotionFilterBoost.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.PromotionFilterBoost
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Boost** | **float** | Number that determines the size of the boost that is applied to matching records. Must be greater than or equal to 0 and less than or equal to 1. | [optional]
+**Filter** | **string** | Filter expression that applies a relevance boost to records matching this filter. This is a filter expression much like the query filter expression. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/PromotionFilterCondition.md b/docs/PromotionFilterCondition.md
new file mode 100644
index 0000000..4463162
--- /dev/null
+++ b/docs/PromotionFilterCondition.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.PromotionFilterCondition
+A set of filters of the form `field = 'value'`. Matches a query if the set of filters in the condition matches exactly the set of filters associated with it.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Filter** | **List<string>** | A filter of the form `field = 'value'`. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/PromotionPin.md b/docs/PromotionPin.md
new file mode 100644
index 0000000..98860f1
--- /dev/null
+++ b/docs/PromotionPin.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.PromotionPin
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Key** | [**RecordKey**](RecordKey.md) | | [optional]
+**Position** | **int** | Position the record should occupy in search results. The top position is position 1. Doesn't need to be contiguous with other pins, i.e. there can be gaps in the pinned set that are filled with organic results. In the case where there are insufficient search results pinned items are collapsed. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/PromotionRangeBoost.md b/docs/PromotionRangeBoost.md
new file mode 100644
index 0000000..21263b2
--- /dev/null
+++ b/docs/PromotionRangeBoost.md
@@ -0,0 +1,14 @@
+# Com.Sajari.Sdk.Model.PromotionRangeBoost
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Boost** | **float** | Number that determines the size of the boost that is applied to matching records. Must be greater than or equal to 0 and less than or equal to 1. | [optional]
+**End** | **float** | The end value to apply 1 boost to. | [optional]
+**Field** | **string** | The field to apply the boost to. | [optional]
+**NullBoost** | **float** | The boost given to null/empty values. Must be greater than or equal to 0 and less than or equal to 1. The default value is 0. | [optional]
+**Start** | **float** | The start value to apply 0 boost to. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/PromotionsApi.md b/docs/PromotionsApi.md
new file mode 100644
index 0000000..b184eb6
--- /dev/null
+++ b/docs/PromotionsApi.md
@@ -0,0 +1,429 @@
+# Com.Sajari.Sdk.Api.PromotionsApi
+
+All URIs are relative to *https://api.search.io*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**CreatePromotion**](PromotionsApi.md#createpromotion) | **POST** /v4/collections/{collection_id}/promotions | Create promotion
+[**DeletePromotion**](PromotionsApi.md#deletepromotion) | **DELETE** /v4/collections/{collection_id}/promotions/{promotion_id} | Delete promotion
+[**GetPromotion**](PromotionsApi.md#getpromotion) | **GET** /v4/collections/{collection_id}/promotions/{promotion_id} | Get promotion
+[**ListPromotions**](PromotionsApi.md#listpromotions) | **GET** /v4/collections/{collection_id}/promotions | List promotions
+[**UpdatePromotion**](PromotionsApi.md#updatepromotion) | **PATCH** /v4/collections/{collection_id}/promotions/{promotion_id} | Update promotion
+
+
+
+# **CreatePromotion**
+> Promotion CreatePromotion (string collectionId, Promotion promotion)
+
+Create promotion
+
+Create a new promotion in a collection.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class CreatePromotionExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new PromotionsApi(config);
+ var collectionId = collectionId_example; // string | The collection to create a promotion in, e.g. `my-collection`.
+ var promotion = new Promotion(); // Promotion | The promotion to create.
+
+ try
+ {
+ // Create promotion
+ Promotion result = apiInstance.CreatePromotion(collectionId, promotion);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PromotionsApi.CreatePromotion: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection to create a promotion in, e.g. `my-collection`. |
+ **promotion** | [**Promotion**](Promotion.md)| The promotion to create. |
+
+### Return type
+
+[**Promotion**](Promotion.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the resource does not exist. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
+
+# **DeletePromotion**
+> Object DeletePromotion (string collectionId, string promotionId)
+
+Delete promotion
+
+Delete a promotion and all of its associated data. > Note: This operation cannot be reversed.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class DeletePromotionExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new PromotionsApi(config);
+ var collectionId = collectionId_example; // string | The collection the promotion belongs to, e.g. `my-collection`.
+ var promotionId = promotionId_example; // string | The promotion to delete, e.g. `1234`.
+
+ try
+ {
+ // Delete promotion
+ Object result = apiInstance.DeletePromotion(collectionId, promotionId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PromotionsApi.DeletePromotion: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection the promotion belongs to, e.g. `my-collection`. |
+ **promotionId** | **string**| The promotion to delete, e.g. `1234`. |
+
+### Return type
+
+**Object**
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the promotion was not found. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
+
+# **GetPromotion**
+> Promotion GetPromotion (string collectionId, string promotionId)
+
+Get promotion
+
+Retrieve the details of a promotion.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class GetPromotionExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new PromotionsApi(config);
+ var collectionId = collectionId_example; // string | The collection that owns the promotion, e.g. `my-collection`.
+ var promotionId = promotionId_example; // string | The promotion to retrieve, e.g. `1234`.
+
+ try
+ {
+ // Get promotion
+ Promotion result = apiInstance.GetPromotion(collectionId, promotionId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PromotionsApi.GetPromotion: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection that owns the promotion, e.g. `my-collection`. |
+ **promotionId** | **string**| The promotion to retrieve, e.g. `1234`. |
+
+### Return type
+
+[**Promotion**](Promotion.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the resource does not exist. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
+
+# **ListPromotions**
+> ListPromotionsResponse ListPromotions (string collectionId, int? pageSize = null, string pageToken = null)
+
+List promotions
+
+Retrieve a list of promotions in a collection. Promotion pins, exclusions and filter boosts are not returned in this call.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class ListPromotionsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new PromotionsApi(config);
+ var collectionId = collectionId_example; // string | The collection that owns this set of promotions, e.g. `my-collection`.
+ var pageSize = 56; // int? | The maximum number of promotions to return. The service may return fewer than this value. If unspecified, at most 50 promotions are returned. The maximum value is 1000; values above 1000 are coerced to 1000. (optional)
+ var pageToken = pageToken_example; // string | A page token, received from a previous [ListPromotions](/api#operation/ListPromotions) call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to [ListPromotions](/api#operation/ListPromotions) must match the call that provided the page token. (optional)
+
+ try
+ {
+ // List promotions
+ ListPromotionsResponse result = apiInstance.ListPromotions(collectionId, pageSize, pageToken);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PromotionsApi.ListPromotions: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection that owns this set of promotions, e.g. `my-collection`. |
+ **pageSize** | **int?**| The maximum number of promotions to return. The service may return fewer than this value. If unspecified, at most 50 promotions are returned. The maximum value is 1000; values above 1000 are coerced to 1000. | [optional]
+ **pageToken** | **string**| A page token, received from a previous [ListPromotions](/api#operation/ListPromotions) call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to [ListPromotions](/api#operation/ListPromotions) must match the call that provided the page token. | [optional]
+
+### Return type
+
+[**ListPromotionsResponse**](ListPromotionsResponse.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the resource does not exist. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
+
+# **UpdatePromotion**
+> Promotion UpdatePromotion (string collectionId, string promotionId, string updateMask, Promotion promotion)
+
+Update promotion
+
+Update the details of a promotion. Pass each field that you want to update in the request body. Also specify the name of each field that you want to update in the `update_mask` in the request URL query string. Separate multiple fields with a comma. Fields included in the request body, but not included in the field mask are not updated. For example, to update the `display_name` and `start_time` fields, make a `PATCH` request to the URL: ``` /v4/collections/{collection_id}/promotions/{promotion_id}?update_mask=display_name,start_time ``` With the JSON body: ``` { \"display_name\": \"new value\", \"start_time\": \"2006-01-02T15:04:05Z07:00\", \"end_time\": \"2006-01-02T15:04:05Z07:00\" } ``` > Note: In this example `end_time` is not updated because it is not specified in the `update_mask`.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class UpdatePromotionExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new PromotionsApi(config);
+ var collectionId = collectionId_example; // string | The collection the promotion belongs to, e.g. `my-collection`.
+ var promotionId = promotionId_example; // string | The promotion to update, e.g. `1234`.
+ var updateMask = updateMask_example; // string | The list of fields to be updated, separated by a comma, e.g. `field1,field2`. Each field should be in snake case, e.g. `display_name`, `filter_boosts`. For each field that you want to update, provide a corresponding value in the promotion object containing the new value.
+ var promotion = new Promotion(); // Promotion | Details of the promotion to update.
+
+ try
+ {
+ // Update promotion
+ Promotion result = apiInstance.UpdatePromotion(collectionId, promotionId, updateMask, promotion);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling PromotionsApi.UpdatePromotion: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection the promotion belongs to, e.g. `my-collection`. |
+ **promotionId** | **string**| The promotion to update, e.g. `1234`. |
+ **updateMask** | **string**| The list of fields to be updated, separated by a comma, e.g. `field1,field2`. Each field should be in snake case, e.g. `display_name`, `filter_boosts`. For each field that you want to update, provide a corresponding value in the promotion object containing the new value. |
+ **promotion** | [**Promotion**](Promotion.md)| Details of the promotion to update. |
+
+### Return type
+
+[**Promotion**](Promotion.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the promotion was not found. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
diff --git a/docs/ProtobufFieldMask.md b/docs/ProtobufFieldMask.md
new file mode 100644
index 0000000..b08237d
--- /dev/null
+++ b/docs/ProtobufFieldMask.md
@@ -0,0 +1,11 @@
+# Com.Sajari.Sdk.Model.ProtobufFieldMask
+paths: \"f.a\" paths: \"f.b.d\" Here `f` represents a field in some root message, `a` and `b` fields in the message found in `f`, and `d` a field found in the message in `f.b`. Field masks are used to specify a subset of fields that should be returned by a get operation or modified by an update operation. Field masks also have a custom JSON encoding (see below). # Field Masks in Projections When used in the context of a projection, a response message or sub-message is filtered by the API to only contain those fields as specified in the mask. For example, if the mask in the previous example is applied to a response message as follows: f { a : 22 b { d : 1 x : 2 } y : 13 } z: 8 The result will not contain specific values for fields x,y and z (their value will be set to the default, and omitted in proto text output): f { a : 22 b { d : 1 } } A repeated field is not allowed except at the last position of a paths string. If a FieldMask object is not present in a get operation, the operation applies to all fields (as if a FieldMask of all fields had been specified). Note that a field mask does not necessarily apply to the top-level response message. In case of a REST get operation, the field mask applies directly to the response, but in case of a REST list operation, the mask instead applies to each individual message in the returned resource list. In case of a REST custom method, other definitions may be used. Where the mask applies will be clearly documented together with its declaration in the API. In any case, the effect on the returned resource/resources is required behavior for APIs. # Field Masks in Update Operations A field mask in update operations specifies which fields of the targeted resource are going to be updated. The API is required to only change the values of the fields as specified in the mask and leave the others untouched. If a resource is passed in to describe the updated values, the API ignores the values of all fields not covered by the mask. If a repeated field is specified for an update operation, new values will be appended to the existing repeated field in the target resource. Note that a repeated field is only allowed in the last position of a `paths` string. If a sub-message is specified in the last position of the field mask for an update operation, then new value will be merged into the existing sub-message in the target resource. For example, given the target message: f { b { d: 1 x: 2 } c: [1] } And an update message: f { b { d: 10 } c: [2] } then if the field mask is: paths: [\"f.b\", \"f.c\"] then the result will be: f { b { d: 10 x: 2 } c: [1, 2] } An implementation may provide options to override this default behavior for repeated and message fields. In order to reset a field's value to the default, the field must be in the mask and set to the default value in the provided resource. Hence, in order to reset all fields of a resource, provide a default instance of the resource and set all fields in the mask, or do not provide a mask as described below. If a field mask is not present on update, the operation applies to all fields (as if a field mask of all fields has been specified). Note that in the presence of schema evolution, this may mean that fields the client does not know and has therefore not filled into the request will be reset to their default. If this is unwanted behavior, a specific service may require a client to always specify a field mask, producing an error if not. As with get operations, the location of the resource which describes the updated values in the request message depends on the operation kind. In any case, the effect of the field mask is required to be honored by the API. ## Considerations for HTTP REST The HTTP kind of an update operation which uses a field mask must be set to PATCH instead of PUT in order to satisfy HTTP semantics (PUT must only be used for full updates). # JSON Encoding of Field Masks In JSON, a field mask is encoded as a single string where paths are separated by a comma. Fields name in each path are converted to/from lower-camel naming conventions. As an example, consider the following message declarations: message Profile { User user = 1; Photo photo = 2; } message User { string display_name = 1; string address = 2; } In proto a field mask for `Profile` may look as such: mask { paths: \"user.display_name\" paths: \"photo\" } In JSON, the same mask is represented as below: { mask: \"user.displayName,photo\" } # Field Masks and Oneof Fields Field masks treat fields in oneofs just as regular fields. Consider the following message: message SampleMessage { oneof test_oneof { string name = 4; SubMessage sub_message = 9; } } The field mask can be: mask { paths: \"name\" } Or: mask { paths: \"sub_message\" } Note that oneof type names (\"test_oneof\" in this case) cannot be used in paths. ## Field Mask Verification The implementation of any API method which has a FieldMask type field in the request should verify the included field paths, and return an `INVALID_ARGUMENT` error if any path is unmappable.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Paths** | **List<string>** | The set of field mask paths. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/QueryCollectionRequestTrackingType.md b/docs/QueryCollectionRequestTrackingType.md
index 221d37f..7c99d1d 100644
--- a/docs/QueryCollectionRequestTrackingType.md
+++ b/docs/QueryCollectionRequestTrackingType.md
@@ -1,5 +1,5 @@
# Com.Sajari.Sdk.Model.QueryCollectionRequestTrackingType
- - TYPE_UNSPECIFIED: The default / unset value. The API defaults to `NONE` tracking. - NONE: No tracking. - CLICK: Click tracking. A click token will be generated for each result. Results which do not receive clicks will fall down rankings, and similarly low-ranked records which receive clicks will be moved up the rankings. - POS_NEG: Pos/neg tracking. Pos/neg tokens will be generated for each result. Each record in the result set can be marked with pos/neg value for the search. This is then fed back into the ranking algorithm to improve future results. Unlike `CLICK`, if no tokens are reported for records then no action is taken.
+ - TYPE_UNSPECIFIED: The default / unset value. The API defaults to `NONE` tracking. - NONE: No tracking. - CLICK: Click tracking. A click token is be generated for each result. Results which do not receive clicks fall down the rankings, and similarly low-ranked records which receive clicks are moved up the rankings. - POS_NEG: Pos/neg tracking. Pos/neg tokens are generated for each result. Each record in the result set can be marked with pos/neg value for the search. This is then fed back into the ranking algorithm to improve future results. Unlike `CLICK`, if no tokens are reported for records then no action is taken.
## Properties
diff --git a/docs/QueryCollectionResponse.md b/docs/QueryCollectionResponse.md
index ed51fb9..b0d0a2a 100644
--- a/docs/QueryCollectionResponse.md
+++ b/docs/QueryCollectionResponse.md
@@ -4,10 +4,13 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
+**ActivePromotions** | [**List<ActivePromotion>**](ActivePromotion.md) | A list of the promotions activated when running the query. | [optional]
**AggregateFilters** | [**Dictionary<string, QueryAggregateResult>**](QueryAggregateResult.md) | The aggregates run with filters. | [optional]
**Aggregates** | [**Dictionary<string, QueryAggregateResult>**](QueryAggregateResult.md) | The aggregates returned by the query. | [optional]
+**FeatureScoreWeight** | **double** | The weight applied to the features in the query, used for analyzing the index, neural and feature components for results. For each result: ``` score = max(index_score, neural_score) * (1 - feature_score_weight) + feature_score * feature_score_weight ``` | [optional]
**Pipeline** | [**QueryCollectionResponsePipeline**](QueryCollectionResponsePipeline.md) | | [optional]
**ProcessingDuration** | **string** | The total time taken to perform the query. | [optional]
+**Redirects** | [**Dictionary<string, RedirectResult>**](RedirectResult.md) | A mapping of redirects triggered for all possible variations of the query. | [optional]
**Results** | [**List<QueryResult>**](QueryResult.md) | The results returned by the query. | [optional]
**TotalSize** | **string** | The total number of results that match the query. | [optional]
**Variables** | **Dictionary<string, Object>** | The modified variables returned by the pipeline after it has finished processing. | [optional]
diff --git a/docs/QueryResult.md b/docs/QueryResult.md
index 5a7ee5a..ce144cf 100644
--- a/docs/QueryResult.md
+++ b/docs/QueryResult.md
@@ -4,9 +4,11 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**IndexScore** | **double** | Index score. | [optional]
+**FeatureScore** | **double** | The feature score of the result. This is a value between 0 and 1 representing the business-specific ranking of the result as determined by the ranking adjustments. See [Ranking adjustments](https://docs.search.io/documentation/fundamentals/search-settings/ranking-adjustments) for more information. | [optional]
+**IndexScore** | **double** | The index score of the result. This is a value between 0 and 1 representing the relevance of the result using traditional keyword search. The higher the score the more relevant the result is. | [optional]
+**NeuralScore** | **double** | The neural score of the result. This is a value between 0 and 1 representing the relevance of the result using Neuralsearch®, using AI-based search. | [optional]
**Record** | **Object** | An object made up of field-value pairs that contains the record data. | [optional]
-**Score** | **double** | The normalized score attributed to this record. Combines the index score and feature score. | [optional]
+**Score** | **double** | The overall relevance of the result. This is a value between 0 and 1 that combines the index, neural and feature scores. The higher the score the more relevant the result is. | [optional]
**Token** | [**QueryResultToken**](QueryResultToken.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/RecordsApi.md b/docs/RecordsApi.md
index f749e70..3411c2e 100644
--- a/docs/RecordsApi.md
+++ b/docs/RecordsApi.md
@@ -1,9 +1,10 @@
# Com.Sajari.Sdk.Api.RecordsApi
-All URIs are relative to *https://api-gateway.sajari.com*
+All URIs are relative to *https://api.search.io*
Method | HTTP request | Description
------------- | ------------- | -------------
+[**BatchUpdateRecords**](RecordsApi.md#batchupdaterecords) | **POST** /v4/collections/{collection_id}/records:batchUpdate | Batch update records
[**BatchUpsertRecords**](RecordsApi.md#batchupsertrecords) | **POST** /v4/collections/{collection_id}/records:batchUpsert | Batch upsert records
[**DeleteRecord**](RecordsApi.md#deleterecord) | **POST** /v4/collections/{collection_id}/records:delete | Delete record
[**GetRecord**](RecordsApi.md#getrecord) | **POST** /v4/collections/{collection_id}/records:get | Get record
@@ -11,6 +12,88 @@ Method | HTTP request | Description
[**UpsertRecord**](RecordsApi.md#upsertrecord) | **POST** /v4/collections/{collection_id}/records:upsert | Upsert record
+
+# **BatchUpdateRecords**
+> BatchUpdateRecordsResponse BatchUpdateRecords (string collectionId, BatchUpdateRecordsRequest batchUpdateRecordsRequest)
+
+Batch update records
+
+The batch version of the [UpdateRecord](/api#operation/UpdateRecord) call.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class BatchUpdateRecordsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new RecordsApi(config);
+ var collectionId = collectionId_example; // string | The collection that contains the records to update, e.g. `my-collection`.
+ var batchUpdateRecordsRequest = new BatchUpdateRecordsRequest(); // BatchUpdateRecordsRequest |
+
+ try
+ {
+ // Batch update records
+ BatchUpdateRecordsResponse result = apiInstance.BatchUpdateRecords(collectionId, batchUpdateRecordsRequest);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling RecordsApi.BatchUpdateRecords: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection that contains the records to update, e.g. `my-collection`. |
+ **batchUpdateRecordsRequest** | [**BatchUpdateRecordsRequest**](BatchUpdateRecordsRequest.md)| |
+
+### Return type
+
+[**BatchUpdateRecordsResponse**](BatchUpdateRecordsResponse.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the resource does not exist. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
# **BatchUpsertRecords**
> BatchUpsertRecordsResponse BatchUpsertRecords (string collectionId, BatchUpsertRecordsRequest batchUpsertRecordsRequest)
@@ -34,7 +117,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -116,7 +199,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -198,7 +281,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -280,7 +363,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -362,7 +445,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
diff --git a/docs/Redirect.md b/docs/Redirect.md
new file mode 100644
index 0000000..6c828ce
--- /dev/null
+++ b/docs/Redirect.md
@@ -0,0 +1,17 @@
+# Com.Sajari.Sdk.Model.Redirect
+Redirect contains a target that you can redirect users to if their search query matches a certain condition.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CollectionId** | **string** | Output only. The ID of the collection that owns this redirect. | [optional] [readonly]
+**Condition** | **string** | A condition expression applied to a search request that determines whether a search is redirected. For example, to redirect if the user's query is `apples`, set condition to `q = 'apples'`. |
+**CreateTime** | **DateTime** | Output only. Time the redirect was created. | [optional] [readonly]
+**Disabled** | **bool** | If disabled, the redirect is never triggered. | [optional]
+**Id** | **string** | Output only. The redirect's ID. | [optional] [readonly]
+**Target** | **string** | The target to redirect the user to if their query matches `condition`. For searches performed in a browser, target is usually a URL but it can be any value that your integration can interpret as a redirect. For example, for URLs that you need to resolve at runtime, target might be a URL template string. For apps, target might be a unique identifier used to send the user to the correct view. |
+**UpdateTime** | **DateTime** | Output only. Time the redirect was last updated. | [optional] [readonly]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/RedirectResult.md b/docs/RedirectResult.md
new file mode 100644
index 0000000..0b8e171
--- /dev/null
+++ b/docs/RedirectResult.md
@@ -0,0 +1,13 @@
+# Com.Sajari.Sdk.Model.RedirectResult
+RedirectResult indicates that a redirect has been triggered for a given query.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **string** | The redirect's ID. | [optional]
+**Target** | **string** | The target to redirect the user to. | [optional]
+**Token** | **string** | A redirect token. Call SendEvent with this token to indicate that a redirect has been performed. | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/docs/RedirectsApi.md b/docs/RedirectsApi.md
new file mode 100644
index 0000000..d2a8efb
--- /dev/null
+++ b/docs/RedirectsApi.md
@@ -0,0 +1,429 @@
+# Com.Sajari.Sdk.Api.RedirectsApi
+
+All URIs are relative to *https://api.search.io*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**CreateRedirect**](RedirectsApi.md#createredirect) | **POST** /v4/collections/{collection_id}/redirects | Create redirect
+[**DeleteRedirect**](RedirectsApi.md#deleteredirect) | **DELETE** /v4/collections/{collection_id}/redirects/{redirect_id} | Delete redirect
+[**GetRedirect**](RedirectsApi.md#getredirect) | **GET** /v4/collections/{collection_id}/redirects/{redirect_id} | Get redirect
+[**ListRedirects**](RedirectsApi.md#listredirects) | **GET** /v4/collections/{collection_id}/redirects | List redirects
+[**UpdateRedirect**](RedirectsApi.md#updateredirect) | **PATCH** /v4/collections/{collection_id}/redirects/{redirect_id} | Update redirect
+
+
+
+# **CreateRedirect**
+> Redirect CreateRedirect (string collectionId, Redirect redirect)
+
+Create redirect
+
+Create a new redirect in a collection.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class CreateRedirectExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new RedirectsApi(config);
+ var collectionId = collectionId_example; // string | The collection to create a redirect in, e.g. `my-collection`.
+ var redirect = new Redirect(); // Redirect | The redirect to create.
+
+ try
+ {
+ // Create redirect
+ Redirect result = apiInstance.CreateRedirect(collectionId, redirect);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling RedirectsApi.CreateRedirect: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection to create a redirect in, e.g. `my-collection`. |
+ **redirect** | [**Redirect**](Redirect.md)| The redirect to create. |
+
+### Return type
+
+[**Redirect**](Redirect.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the resource does not exist. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
+
+# **DeleteRedirect**
+> Object DeleteRedirect (string collectionId, string redirectId)
+
+Delete redirect
+
+Delete a redirect and all of its associated data. > Note: This operation cannot be reversed.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class DeleteRedirectExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new RedirectsApi(config);
+ var collectionId = collectionId_example; // string | The collection the redirect belongs to, e.g. `my-collection`.
+ var redirectId = redirectId_example; // string | The redirect to delete, e.g. `1234`.
+
+ try
+ {
+ // Delete redirect
+ Object result = apiInstance.DeleteRedirect(collectionId, redirectId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling RedirectsApi.DeleteRedirect: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection the redirect belongs to, e.g. `my-collection`. |
+ **redirectId** | **string**| The redirect to delete, e.g. `1234`. |
+
+### Return type
+
+**Object**
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the redirect was not found. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
+
+# **GetRedirect**
+> Redirect GetRedirect (string collectionId, string redirectId)
+
+Get redirect
+
+Retrieve the details of a redirect.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class GetRedirectExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new RedirectsApi(config);
+ var collectionId = collectionId_example; // string | The collection that owns the redirect, e.g. `my-collection`.
+ var redirectId = redirectId_example; // string | The redirect to retrieve, e.g. `1234`.
+
+ try
+ {
+ // Get redirect
+ Redirect result = apiInstance.GetRedirect(collectionId, redirectId);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling RedirectsApi.GetRedirect: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection that owns the redirect, e.g. `my-collection`. |
+ **redirectId** | **string**| The redirect to retrieve, e.g. `1234`. |
+
+### Return type
+
+[**Redirect**](Redirect.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the resource does not exist. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
+
+# **ListRedirects**
+> ListRedirectsResponse ListRedirects (string collectionId, int? pageSize = null, string pageToken = null)
+
+List redirects
+
+Retrieve a list of redirects in a collection.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class ListRedirectsExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new RedirectsApi(config);
+ var collectionId = collectionId_example; // string | The collection that owns this set of redirects, e.g. `my-collection`.
+ var pageSize = 56; // int? | The maximum number of redirects to return. The service may return fewer than this value. If unspecified, at most 50 redirects are returned. The maximum value is 1000; values above 1000 are coerced to 1000. (optional)
+ var pageToken = pageToken_example; // string | A page token, received from a previous [ListRedirects](/api#operation/ListRedirects) call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to [ListRedirects](/api#operation/ListRedirects) must match the call that provided the page token. (optional)
+
+ try
+ {
+ // List redirects
+ ListRedirectsResponse result = apiInstance.ListRedirects(collectionId, pageSize, pageToken);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling RedirectsApi.ListRedirects: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection that owns this set of redirects, e.g. `my-collection`. |
+ **pageSize** | **int?**| The maximum number of redirects to return. The service may return fewer than this value. If unspecified, at most 50 redirects are returned. The maximum value is 1000; values above 1000 are coerced to 1000. | [optional]
+ **pageToken** | **string**| A page token, received from a previous [ListRedirects](/api#operation/ListRedirects) call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to [ListRedirects](/api#operation/ListRedirects) must match the call that provided the page token. | [optional]
+
+### Return type
+
+[**ListRedirectsResponse**](ListRedirectsResponse.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the resource does not exist. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
+
+# **UpdateRedirect**
+> Redirect UpdateRedirect (string collectionId, string redirectId, string updateMask, Redirect redirect)
+
+Update redirect
+
+Update the details of a redirect. Pass each field that you want to update in the request body. Also specify the name of each field that you want to update in the `update_mask` in the request URL query string. Separate multiple fields with a comma. Fields included in the request body, but not included in the field mask are not updated. For example, to update the `condition` field, make a `PATCH` request to the URL: ``` /v4/collections/{collection_id}/redirects/{redirect_id}?update_mask=condition ``` With the JSON body: ``` { \"condition\": \"new value\", \"target\": \"...\" } ``` > Note: In this example `target` is not updated because it is not specified in the `update_mask`.
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using Com.Sajari.Sdk.Api;
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Model;
+
+namespace Example
+{
+ public class UpdateRedirectExample
+ {
+ public static void Main()
+ {
+ Configuration config = new Configuration();
+ config.BasePath = "https://api.search.io";
+ // Configure HTTP basic authorization: BasicAuth
+ config.Username = "YOUR_USERNAME";
+ config.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new RedirectsApi(config);
+ var collectionId = collectionId_example; // string | The collection the redirect belongs to, e.g. `my-collection`.
+ var redirectId = redirectId_example; // string | The redirect to update, e.g. `1234`.
+ var updateMask = updateMask_example; // string | The list of fields to be updated, separated by a comma, e.g. `field1,field2`. Each field should be in snake case, e.g. `condition`, `target`. For each field that you want to update, provide a corresponding value in the redirect object containing the new value.
+ var redirect = new Redirect(); // Redirect | Details of the redirect to update.
+
+ try
+ {
+ // Update redirect
+ Redirect result = apiInstance.UpdateRedirect(collectionId, redirectId, updateMask, redirect);
+ Debug.WriteLine(result);
+ }
+ catch (ApiException e)
+ {
+ Debug.Print("Exception when calling RedirectsApi.UpdateRedirect: " + e.Message );
+ Debug.Print("Status Code: "+ e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **collectionId** | **string**| The collection the redirect belongs to, e.g. `my-collection`. |
+ **redirectId** | **string**| The redirect to update, e.g. `1234`. |
+ **updateMask** | **string**| The list of fields to be updated, separated by a comma, e.g. `field1,field2`. Each field should be in snake case, e.g. `condition`, `target`. For each field that you want to update, provide a corresponding value in the redirect object containing the new value. |
+ **redirect** | [**Redirect**](Redirect.md)| Details of the redirect to update. |
+
+### Return type
+
+[**Redirect**](Redirect.md)
+
+### Authorization
+
+[BasicAuth](../README.md#BasicAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | A successful response. | - |
+| **401** | Returned when the request does not have valid authentication credentials. | - |
+| **403** | Returned when the user does not have permission to access the resource. | - |
+| **404** | Returned when the redirect was not found. | - |
+| **500** | Returned when the API encounters an internal error. | - |
+| **0** | An unexpected error response. | - |
+
+[[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)
+
diff --git a/docs/SchemaApi.md b/docs/SchemaApi.md
index 1f161cc..113bfb6 100644
--- a/docs/SchemaApi.md
+++ b/docs/SchemaApi.md
@@ -1,6 +1,6 @@
# Com.Sajari.Sdk.Api.SchemaApi
-All URIs are relative to *https://api-gateway.sajari.com*
+All URIs are relative to *https://api.search.io*
Method | HTTP request | Description
------------- | ------------- | -------------
@@ -32,7 +32,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -114,7 +114,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
@@ -196,7 +196,7 @@ namespace Example
public static void Main()
{
Configuration config = new Configuration();
- config.BasePath = "https://api-gateway.sajari.com";
+ config.BasePath = "https://api.search.io";
// Configure HTTP basic authorization: BasicAuth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
diff --git a/docs/SchemaFieldType.md b/docs/SchemaFieldType.md
index 7eb1e64..3bb4be4 100644
--- a/docs/SchemaFieldType.md
+++ b/docs/SchemaFieldType.md
@@ -1,5 +1,5 @@
# Com.Sajari.Sdk.Model.SchemaFieldType
-Type represents the underlying data type of the field. - TYPE_UNSPECIFIED: Type not specified. - STRING: String values. - INTEGER: Integer values (64-bit). - FLOAT: Floating point values (32-bit). - DOUBLE: Double floating point values (64-bit). - BOOLEAN: Boolean values. - TIMESTAMP: Timestamp values.
+Type represents the underlying data type of the field. - TYPE_UNSPECIFIED: Type not specified. - STRING: String values. - INTEGER: Integer values (64-bit). - FLOAT: Floating point values (32-bit). - DOUBLE: Double floating point values (64-bit). - BOOLEAN: Boolean values. - TIMESTAMP: Timestamp values. - BYTES: Raw byte values.
## Properties
diff --git a/generate/generate.sh b/generate/generate.sh
index e0ea203..ef34040 100755
--- a/generate/generate.sh
+++ b/generate/generate.sh
@@ -13,7 +13,7 @@ if [ -z "$GEN_PATH" ]; then
die "GEN_PATH must be set, e.g. /path/to/sajari/sdk-dotnet"
fi
-VERSION=4.2.0
+VERSION=4.3.0
docker-entrypoint.sh generate \
-i /openapi.json \
diff --git a/src/Com.Sajari.Sdk.Test/Api/PromotionsApiTests.cs b/src/Com.Sajari.Sdk.Test/Api/PromotionsApiTests.cs
new file mode 100644
index 0000000..0867711
--- /dev/null
+++ b/src/Com.Sajari.Sdk.Test/Api/PromotionsApiTests.cs
@@ -0,0 +1,126 @@
+/*
+ * Search.io API
+ *
+ * Search.io offers a search and discovery service with Neuralsearch®, the world's first instant AI search technology. Businesses of all sizes use Search.io to build site search and discovery solutions that maximize e-commerce revenue, optimize on-site customer experience, and scale their online presence.
+ *
+ * The version of the OpenAPI document: v4
+ * Contact: support@search.io
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Reflection;
+using RestSharp;
+using Xunit;
+
+using Com.Sajari.Sdk.Client;
+using Com.Sajari.Sdk.Api;
+// uncomment below to import models
+//using Com.Sajari.Sdk.Model;
+
+namespace Com.Sajari.Sdk.Test.Api
+{
+ ///
+ /// Class for testing PromotionsApi
+ ///
+ ///
+ /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech).
+ /// Please update the test case below to test the API endpoint.
+ ///
+ public class PromotionsApiTests : IDisposable
+ {
+ private PromotionsApi instance;
+
+ public PromotionsApiTests()
+ {
+ instance = new PromotionsApi();
+ }
+
+ public void Dispose()
+ {
+ // Cleanup when everything is done.
+ }
+
+ ///
+ /// Test an instance of PromotionsApi
+ ///
+ [Fact]
+ public void InstanceTest()
+ {
+ // TODO uncomment below to test 'IsType' PromotionsApi
+ //Assert.IsType(instance);
+ }
+
+ ///
+ /// Test CreatePromotion
+ ///
+ [Fact]
+ public void CreatePromotionTest()
+ {
+ // TODO uncomment below to test the method and replace null with proper value
+ //string collectionId = null;
+ //Promotion promotion = null;
+ //var response = instance.CreatePromotion(collectionId, promotion);
+ //Assert.IsType(response);
+ }
+
+ ///
+ /// Test DeletePromotion
+ ///
+ [Fact]
+ public void DeletePromotionTest()
+ {
+ // TODO uncomment below to test the method and replace null with proper value
+ //string collectionId = null;
+ //string promotionId = null;
+ //var response = instance.DeletePromotion(collectionId, promotionId);
+ //Assert.IsType