# Glean Developer > Glean Developer - [Glean Developer](/index.md) ## api-info ### client - [Datasource OAuth Redirects](/api-info/client/authentication/datasource-oauth.md): Control where users land after completing datasource OAuth authorization - [Glean-Issued Tokens for Client API](/api-info/client/authentication/glean-issued.md): Complete guide to creating and using Glean-issued tokens for Client API authentication - [OAuth Authentication for Client API](/api-info/client/authentication/oauth.md): Use OAuth access tokens with the Client API — from the Glean OAuth Authorization Server or your external identity provider - [Client API Authentication](/api-info/client/authentication/overview.md): Choose the right authentication method for your Client API integration - [Basic Usage Guide](/api-info/client/getting-started/basic-usage.md): Learn the core concepts and patterns for building applications with Glean's Client API. This guide focuses on understanding what you can build and how the API works, rather than language-specific implementation details. - [Choose a retrieval interface](/api-info/client/getting-started/choosing-a-retrieval-interface.md): Glean exposes enterprise knowledge through two main retrieval interfaces: REST APIs and the Glean MCP server. Choosing the right one depends on what you are building. - [Client API Overview](/api-info/client/getting-started/overview.md): The Glean Client API enables organizations to build custom applications and interfaces that leverage Glean's search and generative AI capabilities. With this API, you can integrate Glean's powerful search, chat, and content discovery features directly into your internal tools, creating tailored workflows for your specific use cases. ### indexing - [Indexing API Authentication](/api-info/indexing/authentication/overview.md): Complete implementation guide for authenticating with Glean's Indexing API using Glean-issued tokens - [Token Rotation](/api-info/indexing/authentication/token-rotation.md): This guide covers token rotation for the indexing API. You'll learn how to exchange your rotatable access token for a new access token. - [Authentication](/api-info/indexing/custom-metadata/authentication.md): Custom Metadata requests require a Bearer token in the Authorization header. Tokens are scoped, so metadata-management permissions can be delegated independently of full indexing-token access. - [Custom Properties vs Custom Metadata](/api-info/indexing/custom-metadata/custom-properties-vs-custom-metadata.md): Glean offers two ways to attach structured metadata to documents for search, filtering, and faceting: - [Indexing Metadata](/api-info/indexing/custom-metadata/indexing-metadata.md): Once a schema is defined for a metadata group, you can attach metadata values to individual documents. - [Overview](/api-info/indexing/custom-metadata/overview.md): The Custom Metadata API attaches structured metadata to any document already indexed in Glean — regardless of which datasource it came from. Unlike Custom Properties, which are tied to a custom datasource and require re-uploading the entire document, Custom Metadata can be updated independently and applied to documents from any source (native connectors, custom datasources, etc.). - [Querying](/api-info/indexing/custom-metadata/querying.md): Once metadata is attached to documents, it becomes available for search and retrieval through the standard Client API. - [Schema Management](/api-info/indexing/custom-metadata/schema-management.md): A metadata group must have a schema defined before metadata can be attached to documents in that group. The schema declares which keys are allowed, what type each key is, and whether the value participates in full-text search. - [Category](/api-info/indexing/datasource/category.md): Choosing the appropriate type enables enhanced ranking. Please contact us if you - [Custom Properties](/api-info/indexing/datasource/custom-properties.md): In this document, we discuss how to define custom properties for a datasource and how to upload them with each document. - [Rendering Search Results](/api-info/indexing/datasource/rendering-search-results.md): The rendering behavior of the search results from a datasource are determined by 3 ways (in increasing order of preference): - [Test Datasource](/api-info/indexing/datasource/test-datasource.md): Before going live with a production datasource you might want to set up a test/staging datasource. You can use a test datasource to experiment with the indexing API, or to stage your changes. This test datasource lives in the production environment but doesn’t affect it. You can do this by ensuring that: - [Datasource Config](/api-info/indexing/debugging/datasource-config.md): Gather information about the datasource's config. - [Datasource Document](/api-info/indexing/debugging/datasource-document.md): Gives various information that would help in debugging issues related to a particular document. For example, it gives information about the document's upload and indexing status, the document's permissions, etc. - [Datasource Status](/api-info/indexing/debugging/datasource-status.md): Gather information about the datasource's overall status. - [Datasource User](/api-info/indexing/debugging/datasource-user.md): Gives various information that would help in debugging issues related to a particular user. For example, it gives information about the user's permissions, groups, memberships, etc. - [Document Access](/api-info/indexing/debugging/document-access.md): Check if a user has access to a document. - [Document Count](/api-info/indexing/debugging/document-count.md): Get the count of documents in a datasource, optionally filtered by object type. - [Activity](/api-info/indexing/documents/activity.md): We allow the option of allowing developers to push activity information for documents (VIEW, EDIT etc.) - that will be used for better ranking of documents for search. - [Bulk Indexing](/api-info/indexing/documents/bulk-indexing.md): Bulk index documents endpoint is used to index all the documents of a custom - [Bulk Upload Model](/api-info/indexing/documents/bulk-upload-model.md): The bulk upload endpoints delete all entries that are not a part of the most recent upload. For example, /bulkindexdocuments endpoint would delete all the documents that are not present in the most recent upload. - [Document Model](/api-info/indexing/documents/document-model.md): The following is the basic document model used for indexing a new document to Glean. - [Permissions](/api-info/indexing/documents/permissions.md): The content in Glean is highly customizable in terms of configuring visibility of documents, which can be noted while indexing documents using Indexing API endpoints. Glean may require some more information to manage users, groups and group memberships to enable the full power of customized permissions. This can be done using Permissions API endpoints. - [Supported MIME Types](/api-info/indexing/documents/supported-mimetypes.md): The Indexing API supports a variety of MIME types for various content fields in documents. This document provides a list of popular MIME types which are supported and guidelines on how to use them effectively. - [Index Documents](/api-info/indexing/getting-started/index-documents.md): This guide will help you quickly get familiar with the basics of using the Indexing API by configuring a datasource, indexing a document, and enabling the datasource to show up in search. - [Indexing API Overview](/api-info/indexing/getting-started/overview.md): The Glean Indexing API enables organizations to make their custom content searchable and accessible through Glean's search and AI capabilities. This API is designed for pushing content from internal tools, on-premises systems, and applications that Glean doesn't natively support into Glean's search index, making it discoverable alongside your organization's other content. - [Setup Datasource](/api-info/indexing/getting-started/setup-datasource.md): To get started with the Indexing API, you first need to create a datasource that will store all the data you will be indexing. A datasource provides organizational structure and defines how your content appears in search results. ## api ### client-api - [Report document activity](/api/client-api/activity/activity.md): Report user activity that occurs on indexed documents such as viewing or editing. This signal improves search quality. - [Report client activity](/api/client-api/activity/feedback.md): Report events that happen to results within a Glean client UI, such as search result views and clicks. This signal improves search quality. - [Activity API](/api/client-api/activity/overview.md):