Skip to content

Commit 69be012

Browse files
committed
## Python SDK Changes:
* `glean.client.chat.create()`: * `request.messages[]` **Changed** * `response` **Changed** (Breaking ⚠️) * `glean.client.search.query()`: * `request.source_document.metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response` **Changed** (Breaking ⚠️) * `error.unauthorized_datasource_instances` **Removed** (Breaking ⚠️) * `glean.client.search.recommendations()`: * `request.source_document.metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response` **Changed** (Breaking ⚠️) * `glean.client.search.autocomplete()`: `response` **Changed** (Breaking ⚠️) * `glean.client.search.query_as_admin()`: * `request.source_document.metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response` **Changed** (Breaking ⚠️) * `error.unauthorized_datasource_instances` **Removed** (Breaking ⚠️) * `glean.client.messages.retrieve()`: `response.search_response` **Changed** (Breaking ⚠️) * `glean.client.collections.list()`: `response.collections[].added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.insights.retrieve()`: `response.glean_assist.activity_insights[].user.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.answers.retrieve()`: `response.answer_result.answer.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.chat.retrieve()`: `response.chat_result.chat` **Changed** * `glean.client.chat.list()`: `response.chat_results[].chat.created_by.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.chat.create_stream()`: * `request.messages[]` **Changed** * `glean.client.agents.retrieve()`: `error.status[404]` **Added** * `glean.client.agents.retrieve_schemas()`: * `response.tools[]` **Changed** * `error` **Changed** * `glean.client.agents.list()`: `error` **Changed** * `glean.client.agents.run_stream()`: `error` **Changed** * `glean.client.collections.add_items()`: `response.collection.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.collections.create()`: * `request.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response.union(class (0)).collection.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.collections.delete_item()`: `response.collection.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.collections.update()`: * `request.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.collections.update_item()`: `response.collection.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.collections.retrieve()`: `response.collection.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.datasources.get_datasource_instance_configuration()`: **Added** * `glean.client.documents.retrieve()`: `response.documents.Map<DocumentOrError>.union(Document).metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.documents.retrieve_by_facets()`: `response.documents[].metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.answers.list()`: `response.answer_results[].answer.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.answers.update()`: * `request.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.pins.update()`: `response.attribution.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.pins.retrieve()`: `response.pin.attribution.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.pins.list()`: `response.pins[].attribution.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.pins.create()`: `response.attribution.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.answers.create()`: * `request.data.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.announcements.update()`: * `request.body.structured_list[].document.metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response.body.structured_list[].document.metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.search.retrieve_feed()`: `response.results[].primary_entry.created_by.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.announcements.create()`: * `request.body.structured_list[].document.metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response.body.structured_list[].document.metadata.author.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.datasources.update_datasource_instance_configuration()`: **Added** * `glean.client.entities.list()`: `response.results[].related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.entities.read_people()`: `response.results[].related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.shortcuts.create()`: * `request.data.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response.shortcut.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.shortcuts.retrieve()`: `response.shortcut.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.shortcuts.list()`: `response.shortcuts[].added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.shortcuts.update()`: * `request.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `response.shortcut.added_roles[].person.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.verification.add_reminder()`: `response.metadata.last_verifier.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.verification.list()`: `response.documents[].metadata.last_verifier.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.client.verification.verify()`: `response.metadata.last_verifier.related_documents[].results[].structured_results[].snippets[].snippet` **Changed** * `glean.indexing.people.bulk_index()`: **Deprecated**
1 parent 128c3ef commit 69be012

File tree

207 files changed

+5929
-1085
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

207 files changed

+5929
-1085
lines changed

.speakeasy/gen.lock

Lines changed: 441 additions & 323 deletions
Large diffs are not rendered by default.

.speakeasy/gen.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ generation:
1717
securityFeb2025: true
1818
sharedErrorComponentsApr2025: true
1919
sharedNestedComponentsJan2026: false
20+
nameOverrideFeb2026: false
2021
auth:
2122
oAuth2ClientCredentialsEnabled: false
2223
oAuth2PasswordEnabled: false
@@ -33,7 +34,7 @@ generation:
3334
generateNewTests: true
3435
skipResponseBodyAssertions: true
3536
python:
36-
version: 0.12.8
37+
version: 0.12.9
3738
additionalDependencies:
3839
dev: {}
3940
main: {}

.speakeasy/glean-merged-spec.yaml

Lines changed: 211 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ openapi: 3.0.0
22
info:
33
version: 0.9.0
44
title: Glean API
5-
x-source-commit-sha: 56c08697ca3b6869022a262114e61f1385914425
5+
x-source-commit-sha: 3e494bb3f65efb4260e9f67a468cb4ee766e8cf2
66
description: |
77
# Introduction
88
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.
@@ -22,7 +22,7 @@ info:
2222
These API clients provide type-safe, idiomatic interfaces for working with Glean IndexingAPIs in your language of choice.
2323
x-logo:
2424
url: https://app.glean.com/images/glean-text2.svg
25-
x-open-api-commit-sha: daa8736a6f0763faffd2c1079da8a42345536ed7
25+
x-open-api-commit-sha: eae481426cc51423b9f0374d7e03540c36000f1a
2626
x-speakeasy-name: 'Glean API'
2727
servers:
2828
- url: https://{instance}-be.glean.com
@@ -3122,6 +3122,13 @@ paths:
31223122
description: Not Authorized
31233123
"409":
31243124
description: Conflict
3125+
deprecated: true
3126+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-03, removal scheduled for 2026-10-15: Endpoint is deprecated"
3127+
x-glean-deprecated:
3128+
id: ce596f49-55c4-465e-bf3c-5a3a33906e1f
3129+
introduced: "2026-02-03"
3130+
message: Endpoint is deprecated
3131+
removal: "2026-10-15"
31253132
x-speakeasy-name-override: bulkIndex
31263133
x-speakeasy-group: indexing.people
31273134
/api/index/v1/indexemployeelist: {}
@@ -3676,6 +3683,89 @@ paths:
36763683
"500":
36773684
description: Internal error
36783685
x-visibility: Public
3686+
/rest/api/v1/configure/datasources/{datasourceId}/instances/{instanceId}:
3687+
get:
3688+
operationId: getDatasourceInstanceConfiguration
3689+
summary: Get datasource instance configuration
3690+
description: |
3691+
Gets the greenlisted configuration values for a datasource instance. Returns only configuration keys that are exposed via the public API greenlist.
3692+
tags:
3693+
- Datasources
3694+
parameters:
3695+
- $ref: '#/components/parameters/datasourceId'
3696+
- $ref: '#/components/parameters/instanceId'
3697+
responses:
3698+
"200":
3699+
description: OK
3700+
content:
3701+
application/json:
3702+
schema:
3703+
$ref: '#/components/schemas/DatasourceConfigurationResponse'
3704+
"400":
3705+
description: Invalid request
3706+
content:
3707+
application/json:
3708+
schema:
3709+
$ref: '#/components/schemas/ErrorResponse'
3710+
"401":
3711+
description: Not authorized
3712+
"403":
3713+
description: Forbidden
3714+
content:
3715+
application/json:
3716+
schema:
3717+
$ref: '#/components/schemas/ErrorResponse'
3718+
"404":
3719+
description: Datasource instance not found
3720+
content:
3721+
application/json:
3722+
schema:
3723+
$ref: '#/components/schemas/ErrorResponse'
3724+
x-visibility: Preview
3725+
patch:
3726+
operationId: updateDatasourceInstanceConfiguration
3727+
summary: Update datasource instance configuration
3728+
description: |
3729+
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.
3730+
tags:
3731+
- Datasources
3732+
parameters:
3733+
- $ref: '#/components/parameters/datasourceId'
3734+
- $ref: '#/components/parameters/instanceId'
3735+
requestBody:
3736+
content:
3737+
application/json:
3738+
schema:
3739+
$ref: '#/components/schemas/UpdateDatasourceConfigurationRequest'
3740+
required: true
3741+
responses:
3742+
"200":
3743+
description: OK
3744+
content:
3745+
application/json:
3746+
schema:
3747+
$ref: '#/components/schemas/DatasourceConfigurationResponse'
3748+
"400":
3749+
description: Invalid request
3750+
content:
3751+
application/json:
3752+
schema:
3753+
$ref: '#/components/schemas/ErrorResponse'
3754+
"401":
3755+
description: Not authorized
3756+
"403":
3757+
description: Forbidden
3758+
content:
3759+
application/json:
3760+
schema:
3761+
$ref: '#/components/schemas/ErrorResponse'
3762+
"404":
3763+
description: Datasource instance not found
3764+
content:
3765+
application/json:
3766+
schema:
3767+
$ref: '#/components/schemas/ErrorResponse'
3768+
x-visibility: Preview
36793769
/rest/api/v1/chat#stream:
36803770
post:
36813771
tags:
@@ -6222,8 +6312,6 @@ components:
62226312
type:
62236313
$ref: "#/components/schemas/EntityType"
62246314
SearchResultSnippet:
6225-
required:
6226-
- snippet
62276315
properties:
62286316
mimeType:
62296317
type: string
@@ -6246,6 +6334,12 @@ components:
62466334
type: string
62476335
deprecated: true
62486336
description: A matching snippet from the document. Query term matches are marked by the unicode characters uE006 and uE007. Use 'text' field instead.
6337+
x-glean-deprecated:
6338+
id: e55ddf30-7c47-43a5-b775-d78f8b29411a
6339+
introduced: "2026-02-05"
6340+
message: Use 'text' field instead
6341+
removal: "2026-10-15"
6342+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-05, removal scheduled for 2026-10-15: Use 'text' field instead"
62496343
example:
62506344
snippet: snippet
62516345
mimeType: mimeType
@@ -6547,16 +6641,34 @@ components:
65476641
deprecated: true
65486642
description: The person that invited this person.
65496643
$ref: "#/components/schemas/Person"
6644+
x-glean-deprecated:
6645+
id: 1d3cd23f-9085-4378-b466-9bdc2e344a71
6646+
introduced: "2026-02-05"
6647+
message: Use ChannelInviteInfo instead
6648+
removal: "2026-10-15"
6649+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-05, removal scheduled for 2026-10-15: Use ChannelInviteInfo instead"
65506650
inviteTime:
65516651
deprecated: true
65526652
type: string
65536653
format: date-time
65546654
description: The time this person was invited in ISO format (ISO 8601).
6655+
x-glean-deprecated:
6656+
id: 2dc3f572-cded-483d-af07-fc9fc7fd0ae4
6657+
introduced: "2026-02-05"
6658+
message: Use ChannelInviteInfo instead
6659+
removal: "2026-10-15"
6660+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-05, removal scheduled for 2026-10-15: Use ChannelInviteInfo instead"
65556661
reminderTime:
65566662
deprecated: true
65576663
type: string
65586664
format: date-time
65596665
description: The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
6666+
x-glean-deprecated:
6667+
id: d02d58cf-eb90-45d0-ab90-f7a9d707ae3c
6668+
introduced: "2026-02-05"
6669+
message: Use ChannelInviteInfo instead
6670+
removal: "2026-10-15"
6671+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-05, removal scheduled for 2026-10-15: Use ChannelInviteInfo instead"
65606672
ReadPermission:
65616673
description: Describes the read permission level that a user has for a specific feature
65626674
properties:
@@ -7610,6 +7722,10 @@ components:
76107722
type: string
76117723
format: url
76127724
description: The OAuth provider's endpoint, where access tokens are requested.
7725+
resource:
7726+
type: string
7727+
format: url
7728+
description: The OAuth 2.0 Resource Indicator (RFC 8707) for the protected resource. Discovered from Protected Resource Metadata (RFC 9728) during DCR. Included in authorization and token exchange requests when present.
76137729
lastAuthorizedAt:
76147730
type: string
76157731
format: date-time
@@ -7944,12 +8060,6 @@ components:
79448060
chatSessionTrackingToken:
79458061
type: string
79468062
description: A token that is used to track the session.
7947-
unauthorizedDatasourceInstances:
7948-
type: array
7949-
description: |
7950-
Datasource instances that could not be queried because the user has not completed or has expired per-user OAuth, aggregated across all tools invoked in this turn.
7951-
items:
7952-
$ref: "#/components/schemas/UnauthorizedDatasourceInstance"
79538063
DeleteChatsRequest:
79548064
required:
79558065
- ids
@@ -8107,9 +8217,12 @@ components:
81078217
description: Whether the agent supports streaming output. If true, you you can stream agent ouput. All agents currently support streaming.
81088218
additionalProperties: true
81098219
ErrorResponse:
8110-
type: string
8111-
title: ErrorResponse
8112-
description: Error message returned from the server
8220+
type: object
8221+
description: Error response returned for failed requests
8222+
properties:
8223+
message:
8224+
type: string
8225+
description: Client-facing error message describing what went wrong
81138226
ActionSummary:
81148227
type: object
81158228
description: Represents a minimal summary of an action.
@@ -8123,6 +8236,32 @@ components:
81238236
display_name:
81248237
type: string
81258238
description: The display name of the action.
8239+
type:
8240+
type: string
8241+
description: The type of tool - RETRIEVAL for read-only operations, ACTION for operations that modify data.
8242+
auth_type:
8243+
type: string
8244+
description: The authentication type required - OAUTH_USER, OAUTH_ADMIN, API_KEY, BASIC_AUTH, DWD (domain-wide delegation), or NONE.
8245+
write_action_type:
8246+
type: string
8247+
description: For write actions only - REDIRECT (client renders URL) or EXECUTION (external server call).
8248+
is_setup_finished:
8249+
type: boolean
8250+
description: Whether this action has been fully configured and validated.
8251+
x-includeEmpty: true
8252+
data_source:
8253+
type: string
8254+
description: |
8255+
Indicates the kind of knowledge a tool would access or modify.
8256+
Company knowledge:
8257+
- Glean search, and any native tools that derive from it (e.g., expert search, code search)
8258+
- Native federated tools to company data sources (e.g., outlook search)
8259+
World knowledge:
8260+
- Native tools that bring in public content (e.g., web browser)
8261+
- Platform action like bingwebsearch, geminiwebsearch, etc
8262+
Neutral knowledge:
8263+
- Native tools that don't access or modify content via APIs (e.g., file analyst, think)
8264+
- Platform read or write tools (creator has to determine their knowledge implications)
81268265
AgentSchemas:
81278266
properties:
81288267
agent_id:
@@ -9026,12 +9165,6 @@ components:
90269165
federatedSearchRateLimitError:
90279166
type: boolean
90289167
description: Indicates the federated search results could not be fetched due to rate limiting.
9029-
unauthorizedDatasourceInstances:
9030-
type: array
9031-
description: |
9032-
Datasource instances that could not be queried because the user has not completed or has expired per-user OAuth.
9033-
items:
9034-
$ref: "#/components/schemas/UnauthorizedDatasourceInstance"
90359168
x-speakeasy-name-override: GleanDataError
90369169
ResultsResponse:
90379170
properties:
@@ -13217,6 +13350,49 @@ components:
1321713350
items:
1321813351
type: string
1321913352
description: List of field names to exclude from the export
13353+
ConfigurationValue:
13354+
type: object
13355+
properties:
13356+
value:
13357+
type: string
13358+
description: The configuration value as a string. Only one of value or valueList should be populated.
13359+
valueList:
13360+
type: array
13361+
items:
13362+
type: string
13363+
description: The configuration value as a list of strings. Only one of value or valueList should be populated.
13364+
description: A single configuration value, either a scalar or a list
13365+
ConfigurationValues:
13366+
type: object
13367+
additionalProperties:
13368+
$ref: '#/components/schemas/ConfigurationValue'
13369+
description: A map from configuration key names to their values
13370+
DatasourceInstanceConfiguration:
13371+
type: object
13372+
properties:
13373+
values:
13374+
$ref: '#/components/schemas/ConfigurationValues'
13375+
required:
13376+
- values
13377+
description: Configuration for a datasource instance
13378+
DatasourceConfigurationResponse:
13379+
type: object
13380+
properties:
13381+
configuration:
13382+
$ref: '#/components/schemas/DatasourceInstanceConfiguration'
13383+
required:
13384+
- configuration
13385+
description: |
13386+
The greenlisted configuration values for a datasource instance. Only keys that are exposed via the public API greenlist are included.
13387+
UpdateDatasourceConfigurationRequest:
13388+
type: object
13389+
properties:
13390+
configuration:
13391+
$ref: '#/components/schemas/DatasourceInstanceConfiguration'
13392+
required:
13393+
- configuration
13394+
description: |
13395+
Request to update greenlisted configuration values for a datasource instance. Only keys that are exposed via the public API greenlist may be set.
1322013396
ChatRequestStream:
1322113397
required:
1322213398
- messages
@@ -13274,6 +13450,22 @@ components:
1327413450
description: The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.
1327513451
schema:
1327613452
type: integer
13453+
datasourceId:
13454+
name: datasourceId
13455+
in: path
13456+
description: The datasource type identifier (e.g. o365sharepoint)
13457+
required: true
13458+
schema:
13459+
type: string
13460+
example: o365sharepoint
13461+
instanceId:
13462+
name: instanceId
13463+
in: path
13464+
description: The datasource instance identifier
13465+
required: true
13466+
schema:
13467+
type: string
13468+
example: o365sharepoint_abc123
1327713469
responses:
1327813470
SuccessResponse:
1327913471
description: OK

0 commit comments

Comments
 (0)