Skip to content

Commit 7be19ef

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 7be19ef

File tree

207 files changed

+5939
-1098
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

+5939
-1098
lines changed

.speakeasy/gen.lock

Lines changed: 440 additions & 322 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 & 22 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: dbdb986907cb847e5bfe1600e8aea081905aefe3
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: f1e5330e4f4852dc90c60769040bf0771e1353e2
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:
@@ -5702,9 +5792,6 @@ components:
57025792
target:
57035793
$ref: "#/components/schemas/CollectionPinTarget"
57045794
CollectionPinnedMetadata:
5705-
required:
5706-
- pinnedCategories
5707-
- eligibleCategoriesForPinning
57085795
properties:
57095796
existingPins:
57105797
type: array
@@ -6222,8 +6309,6 @@ components:
62226309
type:
62236310
$ref: "#/components/schemas/EntityType"
62246311
SearchResultSnippet:
6225-
required:
6226-
- snippet
62276312
properties:
62286313
mimeType:
62296314
type: string
@@ -6246,6 +6331,12 @@ components:
62466331
type: string
62476332
deprecated: true
62486333
description: A matching snippet from the document. Query term matches are marked by the unicode characters uE006 and uE007. Use 'text' field instead.
6334+
x-glean-deprecated:
6335+
id: e55ddf30-7c47-43a5-b775-d78f8b29411a
6336+
introduced: "2026-02-05"
6337+
message: Use 'text' field instead
6338+
removal: "2026-10-15"
6339+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-05, removal scheduled for 2026-10-15: Use 'text' field instead"
62496340
example:
62506341
snippet: snippet
62516342
mimeType: mimeType
@@ -6547,16 +6638,34 @@ components:
65476638
deprecated: true
65486639
description: The person that invited this person.
65496640
$ref: "#/components/schemas/Person"
6641+
x-glean-deprecated:
6642+
id: 1d3cd23f-9085-4378-b466-9bdc2e344a71
6643+
introduced: "2026-02-05"
6644+
message: Use ChannelInviteInfo instead
6645+
removal: "2026-10-15"
6646+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-05, removal scheduled for 2026-10-15: Use ChannelInviteInfo instead"
65506647
inviteTime:
65516648
deprecated: true
65526649
type: string
65536650
format: date-time
65546651
description: The time this person was invited in ISO format (ISO 8601).
6652+
x-glean-deprecated:
6653+
id: 2dc3f572-cded-483d-af07-fc9fc7fd0ae4
6654+
introduced: "2026-02-05"
6655+
message: Use ChannelInviteInfo instead
6656+
removal: "2026-10-15"
6657+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-05, removal scheduled for 2026-10-15: Use ChannelInviteInfo instead"
65556658
reminderTime:
65566659
deprecated: true
65576660
type: string
65586661
format: date-time
65596662
description: The time this person was reminded in ISO format (ISO 8601) if a reminder was sent.
6663+
x-glean-deprecated:
6664+
id: d02d58cf-eb90-45d0-ab90-f7a9d707ae3c
6665+
introduced: "2026-02-05"
6666+
message: Use ChannelInviteInfo instead
6667+
removal: "2026-10-15"
6668+
x-speakeasy-deprecation-message: "Deprecated on 2026-02-05, removal scheduled for 2026-10-15: Use ChannelInviteInfo instead"
65606669
ReadPermission:
65616670
description: Describes the read permission level that a user has for a specific feature
65626671
properties:
@@ -7610,6 +7719,10 @@ components:
76107719
type: string
76117720
format: url
76127721
description: The OAuth provider's endpoint, where access tokens are requested.
7722+
resource:
7723+
type: string
7724+
format: url
7725+
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.
76137726
lastAuthorizedAt:
76147727
type: string
76157728
format: date-time
@@ -7944,12 +8057,6 @@ components:
79448057
chatSessionTrackingToken:
79458058
type: string
79468059
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"
79538060
DeleteChatsRequest:
79548061
required:
79558062
- ids
@@ -8107,9 +8214,12 @@ components:
81078214
description: Whether the agent supports streaming output. If true, you you can stream agent ouput. All agents currently support streaming.
81088215
additionalProperties: true
81098216
ErrorResponse:
8110-
type: string
8111-
title: ErrorResponse
8112-
description: Error message returned from the server
8217+
type: object
8218+
description: Error response returned for failed requests
8219+
properties:
8220+
message:
8221+
type: string
8222+
description: Client-facing error message describing what went wrong
81138223
ActionSummary:
81148224
type: object
81158225
description: Represents a minimal summary of an action.
@@ -8123,6 +8233,32 @@ components:
81238233
display_name:
81248234
type: string
81258235
description: The display name of the action.
8236+
type:
8237+
type: string
8238+
description: The type of tool - RETRIEVAL for read-only operations, ACTION for operations that modify data.
8239+
auth_type:
8240+
type: string
8241+
description: The authentication type required - OAUTH_USER, OAUTH_ADMIN, API_KEY, BASIC_AUTH, DWD (domain-wide delegation), or NONE.
8242+
write_action_type:
8243+
type: string
8244+
description: For write actions only - REDIRECT (client renders URL) or EXECUTION (external server call).
8245+
is_setup_finished:
8246+
type: boolean
8247+
description: Whether this action has been fully configured and validated.
8248+
x-includeEmpty: true
8249+
data_source:
8250+
type: string
8251+
description: |
8252+
Indicates the kind of knowledge a tool would access or modify.
8253+
Company knowledge:
8254+
- Glean search, and any native tools that derive from it (e.g., expert search, code search)
8255+
- Native federated tools to company data sources (e.g., outlook search)
8256+
World knowledge:
8257+
- Native tools that bring in public content (e.g., web browser)
8258+
- Platform action like bingwebsearch, geminiwebsearch, etc
8259+
Neutral knowledge:
8260+
- Native tools that don't access or modify content via APIs (e.g., file analyst, think)
8261+
- Platform read or write tools (creator has to determine their knowledge implications)
81268262
AgentSchemas:
81278263
properties:
81288264
agent_id:
@@ -9026,12 +9162,6 @@ components:
90269162
federatedSearchRateLimitError:
90279163
type: boolean
90289164
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"
90359165
x-speakeasy-name-override: GleanDataError
90369166
ResultsResponse:
90379167
properties:
@@ -13217,6 +13347,49 @@ components:
1321713347
items:
1321813348
type: string
1321913349
description: List of field names to exclude from the export
13350+
ConfigurationValue:
13351+
type: object
13352+
properties:
13353+
value:
13354+
type: string
13355+
description: The configuration value as a string. Only one of value or valueList should be populated.
13356+
valueList:
13357+
type: array
13358+
items:
13359+
type: string
13360+
description: The configuration value as a list of strings. Only one of value or valueList should be populated.
13361+
description: A single configuration value, either a scalar or a list
13362+
ConfigurationValues:
13363+
type: object
13364+
additionalProperties:
13365+
$ref: '#/components/schemas/ConfigurationValue'
13366+
description: A map from configuration key names to their values
13367+
DatasourceInstanceConfiguration:
13368+
type: object
13369+
properties:
13370+
values:
13371+
$ref: '#/components/schemas/ConfigurationValues'
13372+
required:
13373+
- values
13374+
description: Configuration for a datasource instance
13375+
DatasourceConfigurationResponse:
13376+
type: object
13377+
properties:
13378+
configuration:
13379+
$ref: '#/components/schemas/DatasourceInstanceConfiguration'
13380+
required:
13381+
- configuration
13382+
description: |
13383+
The greenlisted configuration values for a datasource instance. Only keys that are exposed via the public API greenlist are included.
13384+
UpdateDatasourceConfigurationRequest:
13385+
type: object
13386+
properties:
13387+
configuration:
13388+
$ref: '#/components/schemas/DatasourceInstanceConfiguration'
13389+
required:
13390+
- configuration
13391+
description: |
13392+
Request to update greenlisted configuration values for a datasource instance. Only keys that are exposed via the public API greenlist may be set.
1322013393
ChatRequestStream:
1322113394
required:
1322213395
- messages
@@ -13274,6 +13447,22 @@ components:
1327413447
description: The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC.
1327513448
schema:
1327613449
type: integer
13450+
datasourceId:
13451+
name: datasourceId
13452+
in: path
13453+
description: The datasource type identifier (e.g. o365sharepoint)
13454+
required: true
13455+
schema:
13456+
type: string
13457+
example: o365sharepoint
13458+
instanceId:
13459+
name: instanceId
13460+
in: path
13461+
description: The datasource instance identifier
13462+
required: true
13463+
schema:
13464+
type: string
13465+
example: o365sharepoint_abc123
1327713466
responses:
1327813467
SuccessResponse:
1327913468
description: OK

0 commit comments

Comments
 (0)