apiclientgo

package module
v0.11.36 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2026 License: MIT Imports: 13 Imported by: 0

README

api-client-go

The Glean Go SDK provides convenient access to the Glean REST API for Go 1.18+. It offers strongly typed request and response structs, context-based request handling, and uses the standard net/http package.

Unified SDK Architecture

This SDK combines both the Client and Indexing API namespaces into a single unified package:

  • Client API: Used for search, retrieval, and end-user interactions with Glean content
  • Indexing API: Used for indexing content, permissions, and other administrative operations

Each namespace has its own authentication requirements and access patterns. While they serve different purposes, having them in a single SDK provides a consistent developer experience across all Glean API interactions.

// Example of accessing Client namespace
s := apiclientgo.New(
	apiclientgo.WithSecurity("client-token"),
)
res, err := s.Client.Search.Query(ctx, components.SearchRequest{
	Query: "search term",
})

// Example of accessing Indexing namespace 
s := apiclientgo.New(
	apiclientgo.WithSecurity("indexing-token"),
)
res, err := s.Indexing.Documents.Index(ctx, components.DocumentRequest{
	// document data
})

Remember that each namespace requires its own authentication token type as described in the Authentication Methods section.

Table of Contents

SDK Installation

To add the SDK as a dependency to your project:

go get github.com/gleanwork/api-client-go

SDK Example Usage

Example 1
package main

import (
	"context"
	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
	"log"
	"os"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
	)

	res, err := s.Client.Chat.Create(ctx, components.ChatRequest{
		Messages: []components.ChatMessage{
			components.ChatMessage{
				Fragments: []components.ChatMessageFragment{
					components.ChatMessageFragment{
						Text: apiclientgo.Pointer("What are the company holidays this year?"),
					},
				},
			},
		},
	}, nil, nil)
	if err != nil {
		log.Fatal(err)
	}
	if res.ChatResponse != nil {
		// handle response
	}
}

Example 2
package main

import (
	"context"
	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
	"log"
	"os"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
	)

	res, err := s.Client.Chat.CreateStream(ctx, components.ChatRequest{
		Messages: []components.ChatMessage{
			components.ChatMessage{
				Fragments: []components.ChatMessageFragment{
					components.ChatMessageFragment{
						Text: apiclientgo.Pointer("What are the company holidays this year?"),
					},
				},
			},
		},
	}, nil)
	if err != nil {
		log.Fatal(err)
	}
	if res.ChatRequestStream != nil {
		// handle response
	}
}

Authentication

Per-Client Security Schemes

This SDK supports the following security scheme globally:

Name Type Scheme Environment Variable
APIToken http HTTP Bearer GLEAN_API_TOKEN

You can configure it using the WithSecurity option when initializing the SDK client instance. For example:

package main

import (
	"context"
	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
	"github.com/gleanwork/api-client-go/types"
	"log"
	"os"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
	)

	res, err := s.Client.Activity.Report(ctx, components.Activity{
		Events: []components.ActivityEvent{
			components.ActivityEvent{
				Action:    components.ActivityEventActionHistoricalView,
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionSearch,
				Params: &components.ActivityEventParams{
					Query: apiclientgo.Pointer("query"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/search?q=query",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionView,
				Params: &components.ActivityEventParams{
					Duration: apiclientgo.Pointer[int64](20),
					Referrer: apiclientgo.Pointer("https://example.com/document"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	if res != nil {
		// handle response
	}
}

Authentication Methods

Glean supports different authentication methods depending on which API namespace you're using:

Client Namespace

The Client namespace supports two authentication methods:

  1. Manually Provisioned API Tokens

    • Can be created by an Admin or a user with the API Token Creator role
    • Used for server-to-server integrations
  2. OAuth

    • Requires OAuth setup to be completed by an Admin
    • Used for user-based authentication flows
Indexing Namespace

The Indexing namespace supports only one authentication method:

  1. Manually Provisioned API Tokens
    • Can be created by an Admin or a user with the API Token Creator role
    • Used for secure document indexing operations

[!IMPORTANT] Client tokens will not work for Indexing operations, and Indexing tokens will not work for Client operations. You must use the appropriate token type for the namespace you're accessing.

For more information on obtaining the appropriate token type, please contact your Glean administrator.

Available Resources and Operations

Available methods
Authentication
Client.Activity
Client.Agents
  • Retrieve - Retrieve an agent
  • RetrieveSchemas - List an agent's schemas
  • List - Search agents
  • RunStream - Create an agent run and stream the response
  • Run - Create an agent run and wait for the response
Client.Announcements
Client.Answers
Client.Authentication
Client.Chat
Client.Collections
Client.Documents
Client.Entities
Client.Governance.Data.Policies
  • Retrieve - Gets specified policy
  • Update - Updates an existing policy
  • List - Lists policies
  • Create - Creates new policy
  • Download - Downloads violations CSV for policy
Client.Governance.Data.Reports
  • Create - Creates new one-time report
  • Download - Downloads violations CSV for report
  • Status - Fetches report run status
Client.Governance.Documents.Visibilityoverrides
  • List - Fetches documents visibility
  • Create - Hide or unhide docs
Client.Insights
Client.Messages
Client.Pins
Client.Shortcuts
Client.Tools
  • List - List available tools
  • Run - Execute the specified tool
Client.Verification
Datasources
Governance
Indexing.Authentication
Indexing.Datasource
  • Status - Beta: Get datasource status
Indexing.Datasources
Indexing.Documents
  • AddOrUpdate - Index document

  • Index - Index documents

  • BulkIndex - Bulk index documents

  • ProcessAll - Schedules the processing of uploaded documents

  • Delete - Delete document

  • Debug - Beta: Get document information

  • DebugMany - Beta: Get information of a batch of documents

  • CheckAccess - Check document access

  • Status - Get document upload and indexing status ⚠ Deprecated

  • Count - Get document count ⚠ Deprecated

Indexing.People
Indexing.Permissions
Indexing.Shortcuts

Retries

Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.

To change the default retry strategy for a single API call, simply provide a retry.Config object to the call by using the WithRetries option:

package main

import (
	"context"
	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
	"github.com/gleanwork/api-client-go/retry"
	"github.com/gleanwork/api-client-go/types"
	"log"
	"models/operations"
	"os"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
	)

	res, err := s.Client.Activity.Report(ctx, components.Activity{
		Events: []components.ActivityEvent{
			components.ActivityEvent{
				Action:    components.ActivityEventActionHistoricalView,
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionSearch,
				Params: &components.ActivityEventParams{
					Query: apiclientgo.Pointer("query"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/search?q=query",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionView,
				Params: &components.ActivityEventParams{
					Duration: apiclientgo.Pointer[int64](20),
					Referrer: apiclientgo.Pointer("https://example.com/document"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
		},
	}, operations.WithRetries(
		retry.Config{
			Strategy: "backoff",
			Backoff: &retry.BackoffStrategy{
				InitialInterval: 1,
				MaxInterval:     50,
				Exponent:        1.1,
				MaxElapsedTime:  100,
			},
			RetryConnectionErrors: false,
		}))
	if err != nil {
		log.Fatal(err)
	}
	if res != nil {
		// handle response
	}
}

If you'd like to override the default retry strategy for all operations that support retries, you can use the WithRetryConfig option at SDK initialization:

package main

import (
	"context"
	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
	"github.com/gleanwork/api-client-go/retry"
	"github.com/gleanwork/api-client-go/types"
	"log"
	"os"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithRetryConfig(
			retry.Config{
				Strategy: "backoff",
				Backoff: &retry.BackoffStrategy{
					InitialInterval: 1,
					MaxInterval:     50,
					Exponent:        1.1,
					MaxElapsedTime:  100,
				},
				RetryConnectionErrors: false,
			}),
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
	)

	res, err := s.Client.Activity.Report(ctx, components.Activity{
		Events: []components.ActivityEvent{
			components.ActivityEvent{
				Action:    components.ActivityEventActionHistoricalView,
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionSearch,
				Params: &components.ActivityEventParams{
					Query: apiclientgo.Pointer("query"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/search?q=query",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionView,
				Params: &components.ActivityEventParams{
					Duration: apiclientgo.Pointer[int64](20),
					Referrer: apiclientgo.Pointer("https://example.com/document"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	if res != nil {
		// handle response
	}
}

Error Handling

Handling errors in this SDK should largely match your expectations. All operations return a response object or an error, they will never return both.

By Default, an API error will return apierrors.APIError. When custom error responses are specified for an operation, the SDK may also return their associated error. You can refer to respective Errors tables in SDK docs for more details on possible error types for each operation.

For example, the Retrieve function may return the following errors:

Error Type Status Code Content Type
apierrors.ErrorResponse 404 application/json
apierrors.APIError 4XX, 5XX */*
Example
package main

import (
	"context"
	"errors"
	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/apierrors"
	"log"
	"os"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
	)

	res, err := s.Client.Agents.Retrieve(ctx, "<id>", nil, nil)
	if err != nil {

		var e *apierrors.ErrorResponse
		if errors.As(err, &e) {
			// handle error
			log.Fatal(e.Error())
		}

		var e *apierrors.APIError
		if errors.As(err, &e) {
			// handle error
			log.Fatal(e.Error())
		}
	}
}

Server Selection

Server Variables

The default server https://{instance}-be.glean.com contains variables and is set to https://instance-name-be.glean.com by default. To override default values, the following options are available when initializing the SDK client instance:

Variable Option Default Description
instance WithInstance(instance string) "instance-name" The instance name (typically the email domain without the TLD) that determines the deployment backend.
Example
package main

import (
	"context"
	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
	"github.com/gleanwork/api-client-go/types"
	"log"
	"os"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithServerIndex(0),
		apiclientgo.WithInstance("instance-name"),
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
	)

	res, err := s.Client.Activity.Report(ctx, components.Activity{
		Events: []components.ActivityEvent{
			components.ActivityEvent{
				Action:    components.ActivityEventActionHistoricalView,
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionSearch,
				Params: &components.ActivityEventParams{
					Query: apiclientgo.Pointer("query"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/search?q=query",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionView,
				Params: &components.ActivityEventParams{
					Duration: apiclientgo.Pointer[int64](20),
					Referrer: apiclientgo.Pointer("https://example.com/document"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	if res != nil {
		// handle response
	}
}

Override Server URL Per-Client

The default server can be overridden globally using the WithServerURL(serverURL string) option when initializing the SDK client instance. For example:

package main

import (
	"context"
	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
	"github.com/gleanwork/api-client-go/types"
	"log"
	"os"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithServerURL("https://instance-name-be.glean.com"),
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
	)

	res, err := s.Client.Activity.Report(ctx, components.Activity{
		Events: []components.ActivityEvent{
			components.ActivityEvent{
				Action:    components.ActivityEventActionHistoricalView,
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionSearch,
				Params: &components.ActivityEventParams{
					Query: apiclientgo.Pointer("query"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/search?q=query",
			},
			components.ActivityEvent{
				Action: components.ActivityEventActionView,
				Params: &components.ActivityEventParams{
					Duration: apiclientgo.Pointer[int64](20),
					Referrer: apiclientgo.Pointer("https://example.com/document"),
				},
				Timestamp: types.MustTimeFromString("2000-01-23T04:56:07.000Z"),
				URL:       "https://example.com/",
			},
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	if res != nil {
		// handle response
	}
}

Custom HTTP Client

The Go SDK makes API calls that wrap an internal HTTP client. The requirements for the HTTP client are very simple. It must match this interface:

type HTTPClient interface {
	Do(req *http.Request) (*http.Response, error)
}

The built-in net/http client satisfies this interface and a default client based on the built-in is provided by default. To replace this default with a client of your own, you can implement this interface yourself or provide your own client configured as desired. Here's a simple example, which adds a client with a 30 second timeout.

import (
	"net/http"
	"time"

	"github.com/gleanwork/api-client-go"
)

var (
	httpClient = &http.Client{Timeout: 30 * time.Second}
	sdkClient  = apiclientgo.New(apiclientgo.WithClient(httpClient))
)

This can be a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration.

Special Types

This SDK defines the following custom types to assist with marshalling and unmarshalling data.

Date

types.Date is a wrapper around time.Time that allows for JSON marshaling a date string formatted as "2006-01-02".

Usage
d1 := types.NewDate(time.Now()) // returns *types.Date

d2 := types.DateFromTime(time.Now()) // returns types.Date

d3, err := types.NewDateFromString("2019-01-01") // returns *types.Date, error

d4, err := types.DateFromString("2019-01-01") // returns types.Date, error

d5 := types.MustNewDateFromString("2019-01-01") // returns *types.Date and panics on error

d6 := types.MustDateFromString("2019-01-01") // returns types.Date and panics on error

Experimental Features and Deprecation Testing

The SDK provides options to test upcoming API changes before they become the default behavior. This is useful for:

  • Testing experimental features before they are generally available
  • Preparing for deprecations by excluding deprecated endpoints ahead of their removal
Configuration Options

You can configure these options either via environment variables or SDK constructor options:

Using Environment Variables
export X_GLEAN_EXCLUDE_DEPRECATED_AFTER="2026-10-15"
export X_GLEAN_INCLUDE_EXPERIMENTAL="true"
package main

import (
	"context"
	"log"
	"os"

	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
		apiclientgo.WithServerURL("https://mycompany-be.glean.com"),
	)

	res, err := s.Client.Search.Query(ctx, components.SearchRequest{
		Query: "test",
	}, nil)
	if err != nil {
		log.Fatal(err)
	}
	// Headers are automatically set based on environment variables
	log.Println(res)
}
Using SDK Constructor Options
package main

import (
	"context"
	"log"
	"os"

	apiclientgo "github.com/gleanwork/api-client-go"
	"github.com/gleanwork/api-client-go/models/components"
)

func main() {
	ctx := context.Background()

	s := apiclientgo.New(
		apiclientgo.WithSecurity(os.Getenv("GLEAN_API_TOKEN")),
		apiclientgo.WithServerURL("https://mycompany-be.glean.com"),
		apiclientgo.WithExcludeDeprecatedAfter("2026-10-15"),
		apiclientgo.WithIncludeExperimental(true),
	)

	res, err := s.Client.Search.Query(ctx, components.SearchRequest{
		Query: "test",
	}, nil)
	if err != nil {
		log.Fatal(err)
	}
	log.Println(res)
}
Option Reference
Option Environment Variable Type Description
WithExcludeDeprecatedAfter X_GLEAN_EXCLUDE_DEPRECATED_AFTER string (date) Exclude API endpoints that will be deprecated after this date (format: YYYY-MM-DD). Use this to test your integration against upcoming deprecations.
WithIncludeExperimental X_GLEAN_INCLUDE_EXPERIMENTAL bool When true, enables experimental API features that are not yet generally available. Use this to preview and test new functionality.

Note: Environment variables take precedence over SDK constructor options when both are set.

Warning: Experimental features may change or be removed without notice. Do not rely on experimental features in production environments.

Development

Maturity

This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally looking for the latest version.

Contributions

While we value open-source contributions to this SDK, this library is generated programmatically. Any manual changes added to internal files will be overwritten on the next generation. We look forward to hearing your feedback. Feel free to open a PR or an issue with a proof of concept and we'll do our best to include it in a future release.

SDK Created by Speakeasy

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ServerList = []string{
	"https://{instance}-be.glean.com",
}

ServerList contains the list of servers available to the SDK

Functions

func Bool

func Bool(b bool) *bool

Bool provides a helper function to return a pointer to a bool

func Float32

func Float32(f float32) *float32

Float32 provides a helper function to return a pointer to a float32

func Float64

func Float64(f float64) *float64

Float64 provides a helper function to return a pointer to a float64

func Int

func Int(i int) *int

Int provides a helper function to return a pointer to an int

func Int64

func Int64(i int64) *int64

Int64 provides a helper function to return a pointer to an int64

func Pointer

func Pointer[T any](v T) *T

Pointer provides a helper function to return a pointer to a type

func String

func String(s string) *string

String provides a helper function to return a pointer to a string

Types

type Activity

type Activity struct {
	// contains filtered or unexported fields
}

func (*Activity) Feedback

func (s *Activity) Feedback(ctx context.Context, feedbackQueryParameter *string, feedback1 *components.Feedback, opts ...operations.Option) (*operations.FeedbackResponse, error)

Feedback - Report client activity Report events that happen to results within a Glean client UI, such as search result views and clicks. This signal improves search quality.

func (*Activity) Report

Report document activity Report user activity that occurs on indexed documents such as viewing or editing. This signal improves search quality.

type Agents

type Agents struct {
	// contains filtered or unexported fields
}

func (*Agents) List

List - Search agents Search for [agents](https://developers.glean.com/agents/agents-api) by agent name.

func (*Agents) Retrieve

func (s *Agents) Retrieve(ctx context.Context, agentID string, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.GetAgentResponse, error)

Retrieve an agent Returns details of an [agent](https://developers.glean.com/agents/agents-api) created in the Agent Builder.

func (*Agents) RetrieveSchemas

func (s *Agents) RetrieveSchemas(ctx context.Context, agentID string, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.GetAgentSchemasResponse, error)

RetrieveSchemas - List an agent's schemas Return [agent](https://developers.glean.com/agents/agents-api)'s input and output schemas. You can use these schemas to detect changes to an agent's input or output structure.

func (*Agents) Run

Run - Create an agent run and wait for the response Executes an [agent](https://developers.glean.com/agents/agents-api) run and returns the final response. **Note**: If the agent uses an input form trigger, all form fields (including optional fields) must be included in the `input` object.

func (*Agents) RunStream

RunStream - Create an agent run and stream the response Executes an [agent](https://developers.glean.com/agents/agents-api) run and returns the result as a stream of server-sent events (SSE). **Note**: If the agent uses an input form trigger, all form fields (including optional fields) must be included in the `input` object.

type Announcements

type Announcements struct {
	// contains filtered or unexported fields
}

func (*Announcements) Create

Create Announcement Create a textual announcement visible to some set of users based on department and location.

func (*Announcements) Delete

Delete Announcement Delete an existing user-generated announcement.

func (*Announcements) Update

Update Announcement Update a textual announcement visible to some set of users based on department and location.

type Answers

type Answers struct {
	// contains filtered or unexported fields
}

func (*Answers) Create

func (s *Answers) Create(ctx context.Context, createAnswerRequest components.CreateAnswerRequest, locale *string, opts ...operations.Option) (*operations.CreateanswerResponse, error)

Create Answer Create a user-generated Answer that contains a question and answer.

func (*Answers) Delete

func (s *Answers) Delete(ctx context.Context, deleteAnswerRequest components.DeleteAnswerRequest, locale *string, opts ...operations.Option) (*operations.DeleteanswerResponse, error)

Delete Answer Delete an existing user-generated Answer.

func (*Answers) List deprecated

func (s *Answers) List(ctx context.Context, listAnswersRequest components.ListAnswersRequest, locale *string, opts ...operations.Option) (*operations.ListanswersResponse, error)

List Answers List Answers created by the current user.

Deprecated: Deprecated on 2026-01-21, removal scheduled for 2026-10-15: Answer boards have been removed and this endpoint no longer serves a purpose.

func (*Answers) Retrieve

func (s *Answers) Retrieve(ctx context.Context, getAnswerRequest components.GetAnswerRequest, locale *string, opts ...operations.Option) (*operations.GetanswerResponse, error)

Retrieve - Read Answer Read the details of a particular Answer given its ID.

func (*Answers) Update

func (s *Answers) Update(ctx context.Context, editAnswerRequest components.EditAnswerRequest, locale *string, opts ...operations.Option) (*operations.EditanswerResponse, error)

Update Answer Update an existing user-generated Answer.

type Authentication added in v0.11.27

type Authentication struct {
	// contains filtered or unexported fields
}

Authentication - Manage indexing API tokens.

func (*Authentication) Checkdatasourceauth added in v0.11.27

Checkdatasourceauth - Check datasource authorization Returns all datasource instances that require per-user OAuth authorization for the authenticated user, along with a transient auth token that can be appended to auth URLs to complete OAuth flows.

Clients construct the full OAuth URL by combining the backend base URL, the `authUrlRelativePath` from each instance, and the transient auth token: `<backend>/<authUrlRelativePath>?transient_auth_token=<token>`.

type Chat

type Chat struct {
	// contains filtered or unexported fields
}

func (*Chat) Create

func (s *Chat) Create(ctx context.Context, chatRequest components.ChatRequest, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.ChatResponse, error)

Create - Chat Have a conversation with Glean AI.

func (*Chat) CreateStream

func (s *Chat) CreateStream(ctx context.Context, chatRequest components.ChatRequest, timezoneOffset *int64, opts ...operations.Option) (*operations.ChatStreamResponse, error)

CreateStream - Chat Have a conversation with Glean AI.

func (*Chat) Delete

func (s *Chat) Delete(ctx context.Context, deleteChatsRequest components.DeleteChatsRequest, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.DeletechatsResponse, error)

Delete - Deletes saved Chats Deletes saved Chats and all their contained conversational content.

func (*Chat) DeleteAll

func (s *Chat) DeleteAll(ctx context.Context, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.DeleteallchatsResponse, error)

DeleteAll - Deletes all saved Chats owned by a user Deletes all saved Chats a user has had and all their contained conversational content.

func (*Chat) DeleteFiles

func (s *Chat) DeleteFiles(ctx context.Context, deleteChatFilesRequest components.DeleteChatFilesRequest, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.DeletechatfilesResponse, error)

DeleteFiles - Delete files uploaded by a user for chat. Delete files uploaded by a user for Chat.

func (*Chat) List

func (s *Chat) List(ctx context.Context, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.ListchatsResponse, error)

List - Retrieves all saved Chats Retrieves all the saved Chats between Glean Assistant and the user. The returned Chats contain only metadata and no conversational content.

func (*Chat) Retrieve

func (s *Chat) Retrieve(ctx context.Context, getChatRequest components.GetChatRequest, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.GetchatResponse, error)

Retrieve - Retrieves a Chat Retrieves the chat history between Glean Assistant and the user for a given Chat.

func (*Chat) RetrieveApplication

func (s *Chat) RetrieveApplication(ctx context.Context, getChatApplicationRequest components.GetChatApplicationRequest, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.GetchatapplicationResponse, error)

RetrieveApplication - Gets the metadata for a custom Chat application Gets the Chat application details for the specified application ID.

func (*Chat) RetrieveFiles

func (s *Chat) RetrieveFiles(ctx context.Context, getChatFilesRequest components.GetChatFilesRequest, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.GetchatfilesResponse, error)

RetrieveFiles - Get files uploaded by a user for Chat. Get files uploaded by a user for Chat.

func (*Chat) UploadFiles

func (s *Chat) UploadFiles(ctx context.Context, uploadChatFilesRequest components.UploadChatFilesRequest, locale *string, timezoneOffset *int64, opts ...operations.Option) (*operations.UploadchatfilesResponse, error)

UploadFiles - Upload files for Chat. Upload files for Chat.

type Client

type Client struct {
	Activity       *Activity
	Announcements  *Announcements
	Answers        *Answers
	Authentication *ClientAuthentication
	Chat           *Chat
	Agents         *Agents
	Collections    *Collections
	Documents      *ClientDocuments
	Insights       *Insights
	Messages       *Messages
	Pins           *Pins
	Search         *Search
	Entities       *Entities
	Shortcuts      *ClientShortcuts
	Verification   *Verification
	Tools          *Tools
	Governance     *ClientGovernance
	// contains filtered or unexported fields
}

type ClientAuthentication

type ClientAuthentication struct {
	// contains filtered or unexported fields
}

func (*ClientAuthentication) CreateToken

CreateToken - Create authentication token Creates an authentication token for the authenticated user. These are specifically intended to be used with the [Web SDK](https://developers.glean.com/web).

Note: The tokens generated from this endpoint are **not** valid tokens for use with the Client API (e.g. `/rest/api/v1/*`).

type ClientDocuments

type ClientDocuments struct {
	// contains filtered or unexported fields
}

func (*ClientDocuments) Retrieve

func (s *ClientDocuments) Retrieve(ctx context.Context, locale *string, getDocumentsRequest *components.GetDocumentsRequest, opts ...operations.Option) (*operations.GetdocumentsResponse, error)

Retrieve - Read documents Read the documents including metadata (does not include enhanced metadata via `/documentmetadata`) for the given list of Glean Document IDs or URLs specified in the request.

func (*ClientDocuments) RetrieveByFacets

func (s *ClientDocuments) RetrieveByFacets(ctx context.Context, locale *string, getDocumentsByFacetsRequest *components.GetDocumentsByFacetsRequest, opts ...operations.Option) (*operations.GetdocumentsbyfacetsResponse, error)

RetrieveByFacets - Read documents by facets Read the documents including metadata (does not include enhanced metadata via `/documentmetadata`) macthing the given facet conditions.

func (*ClientDocuments) RetrievePermissions

func (s *ClientDocuments) RetrievePermissions(ctx context.Context, getDocPermissionsRequest components.GetDocPermissionsRequest, locale *string, opts ...operations.Option) (*operations.GetdocpermissionsResponse, error)

RetrievePermissions - Read document permissions Read the emails of all users who have access to the given document.

func (*ClientDocuments) Summarize

func (s *ClientDocuments) Summarize(ctx context.Context, summarizeRequest components.SummarizeRequest, locale *string, opts ...operations.Option) (*operations.SummarizeResponse, error)

Summarize documents Generate an AI summary of the requested documents.

type ClientGovernance added in v0.11.15

type ClientGovernance struct {
	Data      *Data
	Documents *GovernanceDocuments
	// contains filtered or unexported fields
}

type ClientShortcuts

type ClientShortcuts struct {
	// contains filtered or unexported fields
}

func (*ClientShortcuts) Create

Create shortcut Create a user-generated shortcut that contains an alias and destination URL.

func (*ClientShortcuts) Delete

Delete shortcut Delete an existing user-generated shortcut.

func (*ClientShortcuts) List

func (s *ClientShortcuts) List(ctx context.Context, listShortcutsPaginatedRequest components.ListShortcutsPaginatedRequest, locale *string, opts ...operations.Option) (*operations.ListshortcutsResponse, error)

List shortcuts List shortcuts editable/owned by the currently authenticated user.

func (*ClientShortcuts) Retrieve

Retrieve - Read shortcut Read a particular shortcut's details given its ID.

func (*ClientShortcuts) Update

Update shortcut Updates the shortcut with the given ID.

type Collections

type Collections struct {
	// contains filtered or unexported fields
}

func (*Collections) AddItems

func (s *Collections) AddItems(ctx context.Context, addCollectionItemsRequest components.AddCollectionItemsRequest, locale *string, opts ...operations.Option) (*operations.AddcollectionitemsResponse, error)

AddItems - Add Collection item Add items to a Collection.

func (*Collections) Create

func (s *Collections) Create(ctx context.Context, createCollectionRequest components.CreateCollectionRequest, locale *string, opts ...operations.Option) (*operations.CreatecollectionResponse, error)

Create Collection Create a publicly visible (empty) Collection of documents.

func (*Collections) Delete

func (s *Collections) Delete(ctx context.Context, deleteCollectionRequest components.DeleteCollectionRequest, locale *string, opts ...operations.Option) (*operations.DeletecollectionResponse, error)

Delete Collection Delete a Collection given the Collection's ID.

func (*Collections) DeleteItem

func (s *Collections) DeleteItem(ctx context.Context, deleteCollectionItemRequest components.DeleteCollectionItemRequest, locale *string, opts ...operations.Option) (*operations.DeletecollectionitemResponse, error)

DeleteItem - Delete Collection item Delete a single item from a Collection.

func (*Collections) List

func (s *Collections) List(ctx context.Context, listCollectionsRequest components.ListCollectionsRequest, locale *string, opts ...operations.Option) (*operations.ListcollectionsResponse, error)

List Collections List all existing Collections.

func (*Collections) Retrieve

func (s *Collections) Retrieve(ctx context.Context, getCollectionRequest components.GetCollectionRequest, locale *string, opts ...operations.Option) (*operations.GetcollectionResponse, error)

Retrieve - Read Collection Read the details of a Collection given its ID. Does not fetch items in this Collection.

func (*Collections) Update

func (s *Collections) Update(ctx context.Context, editCollectionRequest components.EditCollectionRequest, locale *string, opts ...operations.Option) (*operations.EditcollectionResponse, error)

Update Collection Update the properties of an existing Collection.

func (*Collections) UpdateItem

func (s *Collections) UpdateItem(ctx context.Context, editCollectionItemRequest components.EditCollectionItemRequest, locale *string, opts ...operations.Option) (*operations.EditcollectionitemResponse, error)

UpdateItem - Update Collection item Update the URL, Glean Document ID, description of an item within a Collection given its ID.

type Data

type Data struct {
	Policies *Policies
	Reports  *Reports
	// contains filtered or unexported fields
}

type Datasource

type Datasource struct {
	// contains filtered or unexported fields
}

func (*Datasource) Status

Status - Beta: Get datasource status

Gather information about the datasource's overall status. Currently in beta, might undergo breaking changes without prior notice.

Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information.

type Datasources

type Datasources struct {
	// contains filtered or unexported fields
}

Datasources - Manage datasources.

func (*Datasources) GetDatasourceInstanceConfiguration added in v0.11.29

func (s *Datasources) GetDatasourceInstanceConfiguration(ctx context.Context, datasourceID string, instanceID string, opts ...operations.Option) (*operations.GetDatasourceInstanceConfigurationResponse, error)

GetDatasourceInstanceConfiguration - Get datasource instance configuration Gets the greenlisted configuration values for a datasource instance. Returns only configuration keys that are exposed via the public API greenlist.

func (*Datasources) UpdateDatasourceInstanceConfiguration added in v0.11.29

func (s *Datasources) UpdateDatasourceInstanceConfiguration(ctx context.Context, datasourceID string, instanceID string, updateDatasourceConfigurationRequest components.UpdateDatasourceConfigurationRequest, opts ...operations.Option) (*operations.UpdateDatasourceInstanceConfigurationResponse, error)

UpdateDatasourceInstanceConfiguration - Update datasource instance configuration Updates the greenlisted configuration values for a datasource instance. Only configuration keys that are exposed via the public API greenlist may be set. Returns the full greenlisted configuration after the update is applied.

type Entities

type Entities struct {
	// contains filtered or unexported fields
}

func (*Entities) List

func (s *Entities) List(ctx context.Context, listEntitiesRequest components.ListEntitiesRequest, locale *string, opts ...operations.Option) (*operations.ListentitiesResponse, error)

List entities List some set of details for all entities that fit the given criteria and return in the requested order. Does not support negation in filters, assumes relation type EQUALS. There is a limit of 10000 entities that can be retrieved via this endpoint, except when using FULL_DIRECTORY request type for people entities.

func (*Entities) ReadPeople

func (s *Entities) ReadPeople(ctx context.Context, peopleRequest components.PeopleRequest, locale *string, opts ...operations.Option) (*operations.PeopleResponse, error)

ReadPeople - Read people Read people details for the given IDs.

type Glean

type Glean struct {
	SDKVersion string
	Client     *Client
	// Manage indexing API tokens.
	Authentication *Authentication
	Indexing       *Indexing
	Governance     *Governance
	// Manage datasources.
	Datasources *Datasources
	// contains filtered or unexported fields
}

Glean API: # Introduction In addition to the data sources that Glean has built-in support for, Glean also provides a REST API that enables customers to put arbitrary content in the search index. This is useful, for example, for doing permissions-aware search over content in internal tools that reside on-prem as well as for searching over applications that Glean does not currently support first class. In addition these APIs allow the customer to push organization data (people info, organization structure etc) into Glean.

# Usage guidelines This API is evolving fast. Glean will provide advance notice of any planned backwards incompatible changes along with a 6-month sunset period for anything that requires developers to adopt the new versions.

# API Clients Official API clients for the Glean Indexing API are available in multiple languages:

- [Python](https://github.com/gleanwork/api-client-python) - [TypeScript](https://github.com/gleanwork/api-client-typescript) - [Go](https://github.com/gleanwork/api-client-go) - [Java](https://github.com/gleanwork/api-client-java)

These API clients provide type-safe, idiomatic interfaces for working with Glean IndexingAPIs in your language of choice.

func New

func New(opts ...SDKOption) *Glean

New creates a new instance of the SDK with the provided options

type Governance

type Governance struct {
	// contains filtered or unexported fields
}

func (*Governance) Createfindingsexport added in v0.11.15

Createfindingsexport - Creates findings export Creates a new DLP findings export job.

func (*Governance) Deletefindingsexport added in v0.11.15

func (s *Governance) Deletefindingsexport(ctx context.Context, id int64, opts ...operations.Option) (*operations.DeletefindingsexportResponse, error)

Deletefindingsexport - Deletes findings export Deletes a DLP findings export.

func (*Governance) Downloadfindingsexport added in v0.11.15

func (s *Governance) Downloadfindingsexport(ctx context.Context, id string, opts ...operations.Option) (*operations.DownloadfindingsexportResponse, error)

Downloadfindingsexport - Downloads findings export Downloads a DLP findings export as a CSV file.

func (*Governance) Listfindingsexports added in v0.11.15

func (s *Governance) Listfindingsexports(ctx context.Context, opts ...operations.Option) (*operations.ListfindingsexportsResponse, error)

Listfindingsexports - Lists findings exports Lists all DLP findings exports.

type GovernanceDocuments

type GovernanceDocuments struct {
	Visibilityoverrides *Visibilityoverrides
	// contains filtered or unexported fields
}

type HTTPClient

type HTTPClient interface {
	Do(req *http.Request) (*http.Response, error)
}

HTTPClient provides an interface for supplying the SDK with a custom HTTP client

type Indexing

type Indexing struct {
	Documents      *IndexingDocuments
	Permissions    *Permissions
	Datasource     *Datasource
	People         *People
	Datasources    *IndexingDatasources
	Authentication *IndexingAuthentication
	Shortcuts      *IndexingShortcuts
	// contains filtered or unexported fields
}

type IndexingAuthentication

type IndexingAuthentication struct {
	// contains filtered or unexported fields
}

func (*IndexingAuthentication) RotateToken

RotateToken - Rotate token Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/indexing/authentication/token-rotation) documentation for more information.

type IndexingDatasources added in v0.11.29

type IndexingDatasources struct {
	// contains filtered or unexported fields
}

func (*IndexingDatasources) Add added in v0.11.29

Add or update datasource Add or update a custom datasource and its schema.

func (*IndexingDatasources) RetrieveConfig added in v0.11.29

RetrieveConfig - Get datasource config Fetches the datasource config for the specified custom datasource.

type IndexingDocuments

type IndexingDocuments struct {
	// contains filtered or unexported fields
}

func (*IndexingDocuments) AddOrUpdate

AddOrUpdate - Index document Adds a document to the index or updates an existing document.

func (*IndexingDocuments) BulkIndex

BulkIndex - Bulk index documents Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints.

func (*IndexingDocuments) CheckAccess

CheckAccess - Check document access Check if a given user has access to access a document in a custom datasource

Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information.

func (*IndexingDocuments) Count deprecated

Count - Get document count Fetches document count for the specified custom datasource.

Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information.

Deprecated: Deprecated on 2026-02-03, removal scheduled for 2026-10-15: Endpoint is deprecated.

func (*IndexingDocuments) Debug

Debug - Beta: Get document information

Gives various information that would help in debugging related to a particular document. Currently in beta, might undergo breaking changes without prior notice.

Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information.

func (*IndexingDocuments) DebugMany

DebugMany - Beta: Get information of a batch of documents

Gives various information that would help in debugging related to a batch of documents. Currently in beta, might undergo breaking changes without prior notice.

Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information.

func (*IndexingDocuments) Delete

Delete document Deletes the specified document from the index. Succeeds if document is not present.

func (*IndexingDocuments) Index

Index documents Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-indexing/choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint.

func (*IndexingDocuments) ProcessAll

ProcessAll - Schedules the processing of uploaded documents Schedules the immediate processing of documents uploaded through the indexing API. By default the uploaded documents will be processed asynchronously but this API can be used to schedule processing of all documents on demand.

If a `datasource` parameter is specified, processing is limited to that custom datasource. Without it, processing applies to all documents across all custom datasources. #### Rate Limits This endpoint is rate-limited to one usage every 3 hours. Exceeding this limit results in a 429 response code. Here's how the rate limit works: 1. Calling `/processalldocuments` for datasource `foo` prevents another call for `foo` for 3 hours. 2. Calling `/processalldocuments` for datasource `foo` doesn't affect immediate calls for `bar`. 3. Calling `/processalldocuments` for all datasources prevents any datasource calls for 3 hours. 4. Calling `/processalldocuments` for datasource `foo` doesn't affect immediate calls for all datasources.

For more frequent document processing, contact Glean support.

func (*IndexingDocuments) Status deprecated

Status - Get document upload and indexing status Intended for debugging/validation. Fetches the current upload and indexing status of documents.

Tip: Use [/debug/{datasource}/document](https://developers.glean.com/indexing/debugging/datasource-document) for richer information.

Deprecated: Deprecated on 2026-02-03, removal scheduled for 2026-10-15: Endpoint is deprecated.

type IndexingShortcuts

type IndexingShortcuts struct {
	// contains filtered or unexported fields
}

func (*IndexingShortcuts) BulkIndex

BulkIndex - Bulk index external shortcuts Replaces all the currently indexed shortcuts using paginated batch API calls. Note that this endpoint is used for indexing shortcuts not hosted by Glean. If you want to upload shortcuts that would be hosted by Glean, please use the `/uploadshortcuts` endpoint. For information on what you can do with Golinks, which are Glean-hosted shortcuts, please refer to [this](https://help.glean.com/en/articles/5628838-how-go-links-work) page.

func (*IndexingShortcuts) Upload

Upload shortcuts Creates glean shortcuts for uploaded shortcuts info. Glean would host the shortcuts, and they can be managed in the knowledge tab once uploaded.

type Insights

type Insights struct {
	// contains filtered or unexported fields
}

func (*Insights) Retrieve

func (s *Insights) Retrieve(ctx context.Context, insightsRequest components.InsightsRequest, locale *string, opts ...operations.Option) (*operations.InsightsResponse, error)

Retrieve - Get insights Gets the aggregate usage insights data displayed in the Insights Dashboards.

type Messages

type Messages struct {
	// contains filtered or unexported fields
}

func (*Messages) Retrieve

func (s *Messages) Retrieve(ctx context.Context, messagesRequest components.MessagesRequest, locale *string, opts ...operations.Option) (*operations.MessagesResponse, error)

Retrieve - Read messages Retrieves list of messages from messaging/chat datasources (e.g. Slack, Teams).

type People

type People struct {
	// contains filtered or unexported fields
}

func (*People) BulkIndex deprecated

BulkIndex - Bulk index employees Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints.

Deprecated: Deprecated on 2026-02-03, removal scheduled for 2026-10-15: Endpoint is deprecated.

func (*People) BulkIndexTeams

BulkIndexTeams - Bulk index teams Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints.

func (*People) Count deprecated

Count - Get user count Fetches user count for the specified custom datasource.

Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information.

Deprecated: Deprecated on 2026-02-03, removal scheduled for 2026-10-15: Endpoint is deprecated.

func (*People) Debug

Debug - Beta: Get user information

Gives various information that would help in debugging related to a particular user. Currently in beta, might undergo breaking changes without prior notice.

Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information.

func (*People) Delete

Delete employee Delete an employee. Silently succeeds if employee is not present.

func (*People) DeleteTeam

DeleteTeam - Delete team Delete a team based on provided id.

func (*People) Index

Index employee Adds an employee or updates information about an employee

func (*People) IndexTeam

IndexTeam - Index team Adds a team or updates information about a team

func (*People) ProcessAllEmployeesAndTeams

ProcessAllEmployeesAndTeams - Schedules the processing of uploaded employees and teams Schedules the immediate processing of employees and teams uploaded through the indexing API. By default all uploaded people data will be processed asynchronously but this API can be used to schedule its processing on demand.

type Permissions

type Permissions struct {
	// contains filtered or unexported fields
}

func (*Permissions) AuthorizeBetaUsers

AuthorizeBetaUsers - Beta users Allow the datasource be visible to the specified beta users. The default behaviour is datasource being visible to all users if it is enabled and not visible to any user if it is not enabled.

func (*Permissions) BulkIndexGroups

BulkIndexGroups - Bulk index groups Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. Note: Any groups deleted from the existing set will have their associated memberships deleted as well.

func (*Permissions) BulkIndexMemberships

BulkIndexMemberships - Bulk index memberships for a group Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints.

func (*Permissions) BulkIndexUsers

BulkIndexUsers - Bulk index users Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. Note: Any users deleted from the existing set will have their associated memberships deleted as well.

func (*Permissions) DeleteGroup

DeleteGroup - Delete group Delete group from the datasource. Silently succeeds if group is not present. Note: All memberships associated with the deleted group will also be deleted.

func (*Permissions) DeleteMembership

DeleteMembership - Delete membership Delete membership to a group in the specified datasource. Silently succeeds if membership is not present.

func (*Permissions) DeleteUser

DeleteUser - Delete user Delete the user from the datasource. Silently succeeds if user is not present. Note: All memberships associated with the deleted user will also be deleted.

func (*Permissions) IndexGroup

IndexGroup - Index group Add or update a group in the datasource.

func (*Permissions) IndexMembership

IndexMembership - Index membership Add the memberships of a group in the datasource.

func (*Permissions) IndexUser

IndexUser - Index user Adds a datasource user or updates an existing user.

func (*Permissions) ProcessMemberships

ProcessMemberships - Schedules the processing of group memberships Schedules the immediate processing of all group memberships uploaded through the indexing API. By default the uploaded group memberships will be processed asynchronously but this API can be used to schedule processing of all memberships on demand.

func (*Permissions) UpdatePermissions

UpdatePermissions - Update document permissions Updates the permissions for a given document without modifying document content.

type Pins

type Pins struct {
	// contains filtered or unexported fields
}

func (*Pins) Create

func (s *Pins) Create(ctx context.Context, pinRequest components.PinRequest, locale *string, opts ...operations.Option) (*operations.PinResponse, error)

Create pin Pin a document as a result for a given search query.Pin results that are known to be a good match.

func (*Pins) List

func (s *Pins) List(ctx context.Context, requestBody operations.ListpinsRequestBody, locale *string, opts ...operations.Option) (*operations.ListpinsResponse, error)

List pins Lists all pins.

func (*Pins) Remove

func (s *Pins) Remove(ctx context.Context, unpin components.Unpin, locale *string, opts ...operations.Option) (*operations.UnpinResponse, error)

Remove - Delete pin Unpin a previously pinned result.

func (*Pins) Retrieve

func (s *Pins) Retrieve(ctx context.Context, getPinRequest components.GetPinRequest, locale *string, opts ...operations.Option) (*operations.GetpinResponse, error)

Retrieve - Read pin Read pin details given its ID.

func (*Pins) Update

func (s *Pins) Update(ctx context.Context, editPinRequest components.EditPinRequest, locale *string, opts ...operations.Option) (*operations.EditpinResponse, error)

Update pin Update an existing user-generated pin.

type Policies

type Policies struct {
	// contains filtered or unexported fields
}

func (*Policies) Create

Create - Creates new policy Creates a new policy with specified specifications and returns its id.

func (*Policies) Download

Download - Downloads violations CSV for policy Downloads CSV violations report for a specific policy id. This does not support continuous policies.

func (*Policies) List

func (s *Policies) List(ctx context.Context, autoHide *bool, frequency *string, opts ...operations.Option) (*operations.ListpoliciesResponse, error)

List - Lists policies Lists policies with filtering.

func (*Policies) Retrieve

func (s *Policies) Retrieve(ctx context.Context, id string, version *int64, opts ...operations.Option) (*operations.GetpolicyResponse, error)

Retrieve - Gets specified policy Fetches the specified policy version, or the latest if no version is provided.

func (*Policies) Update

func (s *Policies) Update(ctx context.Context, id string, updateDlpReportRequest components.UpdateDlpReportRequest, opts ...operations.Option) (*operations.UpdatepolicyResponse, error)

Update - Updates an existing policy Updates an existing policy.

type Reports

type Reports struct {
	// contains filtered or unexported fields
}

func (*Reports) Create

Create - Creates new one-time report Creates a new one-time report and executes its batch job.

func (*Reports) Download

Download - Downloads violations CSV for report Downloads CSV violations report for a specific report id.

func (*Reports) Status

Status - Fetches report run status Fetches the status of the run corresponding to the report-id.

type SDKOption

type SDKOption func(*Glean)

func WithClient

func WithClient(client HTTPClient) SDKOption

WithClient allows the overriding of the default HTTP client used by the SDK

func WithExcludeDeprecatedAfter added in v0.11.21

func WithExcludeDeprecatedAfter(date string) SDKOption

WithExcludeDeprecatedAfter configures the SDK to exclude API endpoints that will be deprecated after the specified date. This is useful for testing your integration against upcoming deprecations.

Format: YYYY-MM-DD (e.g., "2026-10-15")

This can also be set via the X_GLEAN_EXCLUDE_DEPRECATED_AFTER environment variable. Environment variables take precedence over SDK options.

More information: https://developers.glean.com/deprecations/overview

func WithIncludeExperimental added in v0.11.21

func WithIncludeExperimental(enabled bool) SDKOption

WithIncludeExperimental configures the SDK to enable experimental API features that are not yet generally available. Use this to preview and test new functionality.

Warning: Experimental features may change or be removed without notice. Do not rely on experimental features in production environments.

This can also be set via the X_GLEAN_INCLUDE_EXPERIMENTAL environment variable. Environment variables take precedence over SDK options.

func WithInstance

func WithInstance(instance string) SDKOption

WithInstance allows setting the instance variable for url substitution

func WithRetryConfig

func WithRetryConfig(retryConfig retry.Config) SDKOption

func WithSecurity

func WithSecurity(apiToken string) SDKOption

WithSecurity configures the SDK to use the provided security details

func WithSecuritySource

func WithSecuritySource(security func(context.Context) (components.Security, error)) SDKOption

WithSecuritySource configures the SDK to invoke the Security Source function on each method call to determine authentication

func WithServerIndex

func WithServerIndex(serverIndex int) SDKOption

WithServerIndex allows the overriding of the default server by index

func WithServerURL

func WithServerURL(serverURL string) SDKOption

WithServerURL allows providing an alternative server URL

func WithTemplatedServerURL

func WithTemplatedServerURL(serverURL string, params map[string]string) SDKOption

WithTemplatedServerURL allows the overriding of the default server URL with a templated URL populated with the provided parameters

func WithTimeout

func WithTimeout(timeout time.Duration) SDKOption

WithTimeout Optional request timeout applied to each operation

type Search struct {
	// contains filtered or unexported fields
}

func (*Search) Autocomplete

func (s *Search) Autocomplete(ctx context.Context, autocompleteRequest components.AutocompleteRequest, locale *string, opts ...operations.Option) (*operations.AutocompleteResponse, error)

Autocomplete Retrieve query suggestions, operators and documents for the given partially typed query.

func (*Search) Query

func (s *Search) Query(ctx context.Context, searchRequest components.SearchRequest, locale *string, opts ...operations.Option) (*operations.SearchResponse, error)

Query - Search Retrieve results from the index for the given query and filters.

func (*Search) QueryAsAdmin

func (s *Search) QueryAsAdmin(ctx context.Context, searchRequest components.SearchRequest, locale *string, opts ...operations.Option) (*operations.AdminsearchResponse, error)

QueryAsAdmin - Search the index (admin) Retrieves results for search query without respect for permissions. This is available only to privileged users.

func (*Search) Recommendations

func (s *Search) Recommendations(ctx context.Context, recommendationsRequest components.RecommendationsRequest, locale *string, opts ...operations.Option) (*operations.RecommendationsResponse, error)

Recommendations - Recommend documents Retrieve recommended documents for the given URL or Glean Document ID.

func (*Search) RetrieveFeed

func (s *Search) RetrieveFeed(ctx context.Context, feedRequest components.FeedRequest, locale *string, opts ...operations.Option) (*operations.FeedResponse, error)

RetrieveFeed - Feed of documents and events The personalized feed/home includes different types of contents including suggestions, recents, calendar events and many more.

type Tools added in v0.4.3

type Tools struct {
	// contains filtered or unexported fields
}

func (*Tools) List added in v0.4.3

List available tools Returns a filtered set of available tools based on optional tool name parameters. If no filters are provided, all available tools are returned.

func (*Tools) Run added in v0.4.3

Run - Execute the specified tool Execute the specified tool with provided parameters

type Verification

type Verification struct {
	// contains filtered or unexported fields
}

func (*Verification) AddReminder

AddReminder - Create verification Creates a verification reminder for the document. Users can create verification reminders from different product surfaces.

func (*Verification) List

List verifications Returns the information to be rendered in verification dashboard. Includes information for each document owned by user regarding their verifications.

func (*Verification) Verify

func (s *Verification) Verify(ctx context.Context, verifyRequest components.VerifyRequest, locale *string, opts ...operations.Option) (*operations.VerifyResponse, error)

Verify - Update verification Verify documents to keep the knowledge up to date within customer corpus.

type Visibilityoverrides

type Visibilityoverrides struct {
	// contains filtered or unexported fields
}

func (*Visibilityoverrides) Create

Create - Hide or unhide docs Sets the visibility-override state of the documents specified, effectively hiding or un-hiding documents.

func (*Visibilityoverrides) List

List - Fetches documents visibility Fetches the visibility override status of the documents passed.

Directories

Path Synopsis
internal
models

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL