Go API client for client

Zinc Search engine API documents https://docs.zincsearch.com


This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 0.2.4
  • Package version: 0.2.4
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://www.zincsearch.com


Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import client "github.com/zinclabs/sdk-go-zincsearch"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value sw.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), client.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), client.ContextServerVariables, map[string]string{
	"basePath": "v2",

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), client.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
ctx = context.WithValue(context.Background(), client.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",

Documentation for API Endpoints

All URIs are relative to http://localhost:4080

Class Method HTTP request Description
Default Healthz Get /healthz Get healthz
Default Version Get /version Get version
Document Bulk Post /api/_bulk Bulk documents
Document Delete Delete /api/{index}/_doc/{id} Delete document
Document ESBulk Post /es/_bulk ES bulk documents
Document Index Post /api/{index}/_doc Create or update document
Document IndexWithID Put /api/{index}/_doc/{id} Create or update document with id
Document Update Post /api/{index}/_update/{id} Update document with id
Index Analyze Post /api/_analyze Analyze
Index AnalyzeIndex Post /api/{index}/_analyze Analyze
Index Create Post /api/index Create index
Index CreateTemplate Post /es/_index_template Create update index template
Index Delete Delete /api/index/{index} Delete index
Index DeleteTemplate Delete /es/_index_template/{name} Delete template
Index GetMapping Get /api/{index}/_mapping Get index mappings
Index GetSettings Get /api/{index}/_settings Get index settings
Index GetTemplate Get /es/_index_template/{name} Get index template
Index List Get /api/index List indexes
Index ListTemplates Get /es/_index_template List index teplates
Index Refresh Post /api/index/{index}/refresh Resfresh index
Index SetMapping Put /api/{index}/_mapping Set index mappings
Index SetSettings Put /api/{index}/_settings Set index Settings
Index UpdateTemplate Put /es/_index_template/{name} Create update index template
Search MSearch Post /es/_msearch Search V2 MultipleSearch for compatible ES
Search Search Post /es/{index}/_search Search V2 DSL for compatible ES
Search SearchV1 Post /api/{index}/_search Search V1
User Create Post /api/user Create user
User Delete Delete /api/user/{id} Delete user
User List Get /api/user List user
User Login Post /api/login Login
User Update Put /api/user Update user

Documentation For Models

Documentation For Authorization


  • Type: HTTP basic authentication


auth := context.WithValue(context.Background(), client.ContextBasicAuth, client.BasicAuth{
    UserName: "username",
    Password: "password",
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime



View Github