Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
222 changes: 171 additions & 51 deletions .speakeasy/gen.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .speakeasy/gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ generation:
generateNewTests: true
skipResponseBodyAssertions: true
typescript:
version: 0.17.1
version: 0.17.2
acceptHeaderEnum: true
additionalDependencies:
dependencies: {}
Expand Down
200 changes: 196 additions & 4 deletions .speakeasy/glean-merged-spec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ openapi: 3.0.0
info:
version: "0.9.0"
title: Glean API
x-source-commit-sha: 33bf057cf0f948a83126e81582717aebdb622bfa
x-open-api-commit-sha: 4f3a4abf8f003a4edc5522021b22184c76d051ad
x-source-commit-sha: 07b3632b09de332d35eeedd6280e30a1edf95243
x-open-api-commit-sha: 4bc8dc442566ab2952b8e3c7a86fafff9c042aa9
description: |
# 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.
Expand Down Expand Up @@ -2973,6 +2973,89 @@ paths:
required: true
schema:
type: string
/rest/api/v1/tool-servers/{serverId}/auth:
get:
operationId: getToolServerAuthStatus
summary: Get end-user authentication status for a tool server.
description: |
Returns display information and the calling user's current authentication status
for the specified tool server.
tags:
- Tools
security:
- APIToken: []
responses:
"200":
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ToolServerAuthStatusResponse'
"400":
description: Bad Request
"401":
description: Unauthorized
"404":
description: Tool server not found
"429":
description: Too Many Requests
x-visibility: Preview
x-glean-experimental:
id: 52fde6ec-c18b-4de6-b761-f82008542ae7
introduced: "2026-07-02"
x-speakeasy-name-override: retrieveToolServerAuthStatus
x-speakeasy-group: client.tools
post:
operationId: authorizeToolServer
summary: Start the OAuth authorization flow for a tool server.
description: |
Initiates the third-party OAuth flow for the specified tool server and returns the
authorization URL that the client should navigate the end user to. After the OAuth
callback completes, the user's browser is redirected back to `returnUrl` with query
parameters indicating the result.

`returnUrl` must match the tenant's configured return URL allowlist; otherwise the
request is rejected with 400.
tags:
- Tools
security:
- APIToken: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizeToolServerRequest'
required: true
responses:
"200":
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizeToolServerResponse'
"400":
description: Invalid request (e.g. returnUrl not in allowlist, unsupported auth type)
"401":
description: Unauthorized
"403":
description: User not entitled to the tool server
"404":
description: Tool server not found
"429":
description: Too Many Requests
x-visibility: Preview
x-glean-experimental:
id: 1935476e-ecaf-4c1f-a9fd-1e768cf68f30
introduced: "2026-07-02"
x-speakeasy-name-override: authorizeToolServer
x-speakeasy-group: client.tools
parameters:
- name: serverId
in: path
description: Unique identifier of the tool server.
required: true
schema:
type: string
/api/index/v1/indexdocument:
post:
summary: Index document
Expand Down Expand Up @@ -5091,6 +5174,67 @@ components:
- rate_limit_exceeded
- internal_error
- service_unavailable
x-glean-problem-detail-codes:
invalid_request:
status: 400
title: Invalid Request
missing_required_field:
status: 400
title: Missing Required Field
invalid_parameter:
status: 400
title: Invalid Parameter
invalid_cursor:
status: 400
title: Invalid Pagination Cursor
expired_cursor:
status: 400
title: Expired Pagination Cursor
invalid_filter:
status: 400
title: Invalid Filter
invalid_datasource:
status: 400
title: Invalid Datasource
authentication_required:
status: 401
title: Authentication Required
token_expired:
status: 401
title: Token Expired
insufficient_permissions:
status: 403
title: Insufficient Permissions
resource_not_found:
status: 404
title: Resource Not Found
method_not_allowed:
status: 405
title: Method Not Allowed
request_timeout:
status: 408
title: Request Timeout
request_too_large:
status: 413
title: Request Too Large
conflict:
status: 409
title: Conflict
gone:
status: 410
title: Gone
unprocessable_query:
status: 422
title: Unprocessable Query
rate_limit_exceeded:
status: 429
title: Rate Limit Exceeded
internal_error:
status: 500
title: Internal Error
service_unavailable:
status: 503
title: Service Unavailable
example: invalid_cursor
PlatformProblemDetailError:
type: object
Expand Down Expand Up @@ -5125,7 +5269,7 @@ components:
type: string
format: uri
description: URI identifying the error type.
example: https://developer.glean.com/errors/invalid-cursor
example: https://developers.glean.com/errors/invalid-cursor
title:
type: string
description: Short, human-readable summary of the error.
Expand All @@ -5145,7 +5289,7 @@ components:
type: string
format: uri
description: Direct URL to documentation for this error code.
example: https://developer.glean.com/errors/invalid-cursor
example: https://developers.glean.com/errors/invalid-cursor
request_id:
type: string
description: Platform-generated request ID for support correlation.
Expand Down Expand Up @@ -11970,6 +12114,7 @@ components:
- DEMO_CARD
- OOO_PLANNER
- OOO_CATCH_UP
- ADMIN_HEALTH_CENTER
description: Categories of content requested. An allowlist gives flexibility to request content separately or together.
requestOptions:
$ref: '#/components/schemas/FeedRequestOptions'
Expand Down Expand Up @@ -12413,6 +12558,7 @@ components:
- DEMO_CARD
- OOO_PLANNER
- OOO_CATCH_UP
- ADMIN_HEALTH_CENTER
description: Type of the justification.
justification:
type: string
Expand Down Expand Up @@ -12502,6 +12648,7 @@ components:
- DEMO_CARD
- OOO_PLANNER
- OOO_CATCH_UP
- ADMIN_HEALTH_CENTER
description: Category of the result, one of the requested categories in incoming request.
primaryEntry:
$ref: '#/components/schemas/FeedEntry'
Expand Down Expand Up @@ -13135,6 +13282,51 @@ components:
After the user consents, control returns to `returnUrl` from the request.
required:
- redirectUrl
ToolServerAuthStatus:
type: string
enum:
- AWAITING_AUTH
- AUTHORIZED
description: Authentication status for the calling user.
ToolServerAuthStatusResponse:
type: object
properties:
displayName:
type: string
description: Human-readable name of the tool server.
logoUrl:
type: string
description: Logo URL for the tool server.
description:
type: string
description: Brief description of the tool server.
authStatus:
$ref: '#/components/schemas/ToolServerAuthStatus'
authType:
$ref: '#/components/schemas/ActionAuthType'
required:
- authStatus
- authType
AuthorizeToolServerRequest:
type: object
properties:
returnUrl:
type: string
description: |
URL to redirect the end user's browser back to after the OAuth flow completes.
Must be present in the tenant's configured return URL allowlist.
required:
- returnUrl
AuthorizeToolServerResponse:
type: object
properties:
authorizationUrl:
type: string
description: |
URL that the client should navigate the end user to in order to begin the OAuth flow.
After the user consents, control returns to `returnUrl` from the request.
required:
- authorizationUrl
IndexDocumentRequest:
type: object
properties:
Expand Down
38 changes: 38 additions & 0 deletions .speakeasy/tests.arazzo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -164712,3 +164712,41 @@ workflows:
type: simple
x-speakeasy-test-group: search
x-speakeasy-test-rebuild: true
- workflowId: getToolServerAuthStatus
steps:
- stepId: test
operationId: getToolServerAuthStatus
parameters:
- name: serverId
in: path
value: <id>
successCriteria:
- condition: $statusCode == 200
- condition: $response.header.Content-Type == application/json
- context: $response.body
condition: |
{"authStatus":"AUTHORIZED","authType":"AUTH_NONE"}
type: simple
x-speakeasy-test-group: tools
x-speakeasy-test-rebuild: true
- workflowId: authorizeToolServer
steps:
- stepId: test
operationId: authorizeToolServer
parameters:
- name: serverId
in: path
value: <id>
requestBody:
contentType: application/json
payload:
returnUrl: https://lucky-disadvantage.com
successCriteria:
- condition: $statusCode == 200
- condition: $response.header.Content-Type == application/json
- context: $response.body
condition: |
{"authorizationUrl":"https://shocked-casket.name/"}
type: simple
x-speakeasy-test-group: tools
x-speakeasy-test-rebuild: true
12 changes: 6 additions & 6 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
speakeasyVersion: 1.788.1
speakeasyVersion: 1.789.0
sources:
Glean API:
sourceNamespace: glean-api-specs
sourceRevisionDigest: sha256:8b1b5374e6d5c2f98bc7cddfa619249cd150deba48f6c8b9f2637f723ff73fd2
sourceBlobDigest: sha256:3373213fc1a05b08aad1cf828d00ce46e1da651645fc1ccde24fcdf3efca5861
sourceRevisionDigest: sha256:eaebe7be5b8f0f68b1331b223088ad140bf7caa28b87534a807a902b82f0e715
sourceBlobDigest: sha256:fdd2d2ee23d11786186f25ae9270c19355398694eb3aedbfe02e7687c9e8c2e3
tags:
- latest
Glean Client API:
Expand All @@ -17,10 +17,10 @@ targets:
glean:
source: Glean API
sourceNamespace: glean-api-specs
sourceRevisionDigest: sha256:8b1b5374e6d5c2f98bc7cddfa619249cd150deba48f6c8b9f2637f723ff73fd2
sourceBlobDigest: sha256:3373213fc1a05b08aad1cf828d00ce46e1da651645fc1ccde24fcdf3efca5861
sourceRevisionDigest: sha256:eaebe7be5b8f0f68b1331b223088ad140bf7caa28b87534a807a902b82f0e715
sourceBlobDigest: sha256:fdd2d2ee23d11786186f25ae9270c19355398694eb3aedbfe02e7687c9e8c2e3
codeSamplesNamespace: glean-api-specs-typescript-code-samples
codeSamplesRevisionDigest: sha256:0f479edeeeb954c2a19e382360290300e8277e3263ac780aaa8e440632e4f1ac
codeSamplesRevisionDigest: sha256:fb3a480264e9000f0db3a2dc858fec35fdf9849a27eea5ee85b641a560887668
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,8 @@ For more information on obtaining the appropriate token type, please contact you
* [run](docs/sdks/tools/README.md#run) - Execute the specified tool
* [retrieveActionPackAuthStatus](docs/sdks/tools/README.md#retrieveactionpackauthstatus) - Get end-user authentication status for an action pack.
* [authorizeActionPack](docs/sdks/tools/README.md#authorizeactionpack) - Start the OAuth authorization flow for an action pack.
* [retrieveToolServerAuthStatus](docs/sdks/tools/README.md#retrievetoolserverauthstatus) - Get end-user authentication status for a tool server.
* [authorizeToolServer](docs/sdks/tools/README.md#authorizetoolserver) - Start the OAuth authorization flow for a tool server.

### [Client.Verification](docs/sdks/verification/README.md)

Expand Down Expand Up @@ -594,8 +596,10 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [`clientShortcutsRetrieve`](docs/sdks/clientshortcuts/README.md#retrieve) - Read shortcut
- [`clientShortcutsUpdate`](docs/sdks/clientshortcuts/README.md#update) - Update shortcut
- [`clientToolsAuthorizeActionPack`](docs/sdks/tools/README.md#authorizeactionpack) - Start the OAuth authorization flow for an action pack.
- [`clientToolsAuthorizeToolServer`](docs/sdks/tools/README.md#authorizetoolserver) - Start the OAuth authorization flow for a tool server.
- [`clientToolsList`](docs/sdks/tools/README.md#list) - List available tools
- [`clientToolsRetrieveActionPackAuthStatus`](docs/sdks/tools/README.md#retrieveactionpackauthstatus) - Get end-user authentication status for an action pack.
- [`clientToolsRetrieveToolServerAuthStatus`](docs/sdks/tools/README.md#retrievetoolserverauthstatus) - Get end-user authentication status for a tool server.
- [`clientToolsRun`](docs/sdks/tools/README.md#run) - Execute the specified tool
- [`clientVerificationAddReminder`](docs/sdks/verification/README.md#addreminder) - Create verification
- [`clientVerificationList`](docs/sdks/verification/README.md#list) - List verifications
Expand Down Expand Up @@ -760,8 +764,10 @@ To learn about this feature and how to get started, check
- [`useClientShortcutsRetrieveMutation`](docs/sdks/clientshortcuts/README.md#retrieve) - Read shortcut
- [`useClientShortcutsUpdateMutation`](docs/sdks/clientshortcuts/README.md#update) - Update shortcut
- [`useClientToolsAuthorizeActionPackMutation`](docs/sdks/tools/README.md#authorizeactionpack) - Start the OAuth authorization flow for an action pack.
- [`useClientToolsAuthorizeToolServerMutation`](docs/sdks/tools/README.md#authorizetoolserver) - Start the OAuth authorization flow for a tool server.
- [`useClientToolsList`](docs/sdks/tools/README.md#list) - List available tools
- [`useClientToolsRetrieveActionPackAuthStatus`](docs/sdks/tools/README.md#retrieveactionpackauthstatus) - Get end-user authentication status for an action pack.
- [`useClientToolsRetrieveToolServerAuthStatus`](docs/sdks/tools/README.md#retrievetoolserverauthstatus) - Get end-user authentication status for a tool server.
- [`useClientToolsRunMutation`](docs/sdks/tools/README.md#run) - Execute the specified tool
- [`useClientVerificationAddReminderMutation`](docs/sdks/verification/README.md#addreminder) - Create verification
- [`useClientVerificationListMutation`](docs/sdks/verification/README.md#list) - List verifications
Expand Down
12 changes: 11 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -808,4 +808,14 @@ Based on:
### Generated
- [typescript v0.17.1] .
### Releases
- [NPM v0.17.1] https://www.npmjs.com/package/@gleanwork/api-client/v/0.17.1 - .
- [NPM v0.17.1] https://www.npmjs.com/package/@gleanwork/api-client/v/0.17.1 - .

## 2026-07-08 02:22:00
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.789.0 (2.916.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.17.2] .
### Releases
- [NPM v0.17.2] https://www.npmjs.com/package/@gleanwork/api-client/v/0.17.2 - .
Loading
Loading