Skip to content
Open
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
215 changes: 191 additions & 24 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 @@ -32,7 +32,7 @@ generation:
generateNewTests: true
skipResponseBodyAssertions: true
go:
version: 0.13.3
version: 0.13.4
additionalDependencies: {}
allowUnknownFieldsInWeakUnions: false
baseErrorName: GleanError
Expand Down
266 changes: 252 additions & 14 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: 270b693d49bac2f68e751b2345bac0c267741119
x-open-api-commit-sha: 592aec2b4913505edb8161645eaf9a72b5286f20
x-source-commit-sha: cbeca4790899a1eeb6c54a494b5d4e6e41c3e652
x-open-api-commit-sha: 749aea4c2dffb9006d40b88604dc63b7ecad8e23
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 @@ -250,6 +250,108 @@ paths:
x-speakeasy-name-override: createRun
security:
- APIToken: []
/api/skills:
get:
tags:
- Skills
summary: List skills
description: |
List skills available to the authenticated user.
operationId: platform-skills-list
x-visibility: Public
x-glean-experimental:
id: 3eb65937-03a3-472b-9a00-be713f302b5f
introduced: "2026-06-23"
parameters:
- in: query
name: page_size
description: Maximum number of skills to return.
required: false
schema:
type: integer
minimum: 1
maximum: 100
- in: query
name: cursor
description: Opaque pagination cursor from a previous response.
required: false
schema:
type: string
minLength: 1
responses:
"200":
description: Successful response.
content:
application/json:
schema:
$ref: "#/components/schemas/PlatformSkillsListResponse"
"400":
$ref: "#/components/responses/PlatformBadRequest"
"401":
$ref: "#/components/responses/PlatformUnauthorized"
"403":
$ref: "#/components/responses/PlatformForbidden"
"404":
$ref: "#/components/responses/PlatformNotFound"
"408":
$ref: "#/components/responses/PlatformRequestTimeout"
"429":
$ref: "#/components/responses/PlatformTooManyRequests"
"500":
$ref: "#/components/responses/PlatformInternalServerError"
"503":
$ref: "#/components/responses/PlatformServiceUnavailable"
x-speakeasy-group: platform.skills
x-speakeasy-name-override: list
security:
- APIToken: []
/api/skills/{skill_id}:
get:
tags:
- Skills
summary: Retrieve skill
description: |
Retrieve metadata for a skill available to the authenticated user.
operationId: platform-skills-get
x-visibility: Public
x-glean-experimental:
id: 8f8d1c92-a484-4769-9903-200613dc8a72
introduced: "2026-06-23"
parameters:
- name: skill_id
in: path
required: true
description: Glean skill ID.
schema:
type: string
minLength: 1
responses:
"200":
description: Successful response.
content:
application/json:
schema:
$ref: "#/components/schemas/PlatformSkillGetResponse"
"400":
$ref: "#/components/responses/PlatformBadRequest"
"401":
$ref: "#/components/responses/PlatformUnauthorized"
"403":
$ref: "#/components/responses/PlatformForbidden"
"404":
$ref: "#/components/responses/PlatformNotFound"
"408":
$ref: "#/components/responses/PlatformRequestTimeout"
"429":
$ref: "#/components/responses/PlatformTooManyRequests"
"500":
$ref: "#/components/responses/PlatformInternalServerError"
"503":
$ref: "#/components/responses/PlatformServiceUnavailable"
x-speakeasy-group: platform.skills
x-speakeasy-name-override: retrieve
security:
- APIToken: []
/api/search:
post:
tags:
Expand Down Expand Up @@ -5479,6 +5581,138 @@ components:
request_id:
type: string
description: Platform-generated request ID for support correlation.
PlatformSkillStatus:
type: string
enum:
- DRAFT
- ENABLED
- DISABLED
description: Current skill status.
PlatformSkillOrigin:
type: string
enum:
- CUSTOM
description: Source category for the skill.
PlatformSkillSyncStatus:
type: string
enum:
- UP_TO_DATE
- UPDATE_AVAILABLE
- SYNC_FAILED
description: Current external-source sync status.
PlatformSkillSourceProvenance:
type: object
properties:
source_url:
type: string
description: URL of the external source the skill was imported from.
commit_sha:
type: string
description: Source commit SHA for the imported skill.
imported_at:
type: string
format: date-time
description: Time the skill was imported.
last_synced_at:
type: string
format: date-time
description: Time the skill was last synced from its source.
sync_status:
$ref: "#/components/schemas/PlatformSkillSyncStatus"
sync_error:
type: string
description: Human-readable sync failure reason, present only when sync_status is SYNC_FAILED.
PlatformPersonReference:
type: object
description: A lightweight reference to a person, used where a payload merely points at someone.
required:
- name
properties:
id:
type: string
description: Opaque Glean person ID.
name:
type: string
description: Display name.
PlatformSkill:
type: object
required:
- id
- display_name
- description
- latest_version
- latest_minor_version
- status
- origin
- owner
- created_at
- updated_at
properties:
id:
type: string
description: Glean skill ID.
display_name:
type: string
description: Human-readable skill name.
description:
type: string
description: Human-readable skill description.
latest_version:
type: integer
description: Latest major version number for the skill.
latest_minor_version:
type: integer
description: Latest minor version number for the skill.
status:
$ref: "#/components/schemas/PlatformSkillStatus"
origin:
$ref: "#/components/schemas/PlatformSkillOrigin"
source_provenance:
$ref: "#/components/schemas/PlatformSkillSourceProvenance"
owner:
$ref: "#/components/schemas/PlatformPersonReference"
created_at:
type: string
format: date-time
description: Time the skill was created.
updated_at:
type: string
format: date-time
description: Time the skill was last updated.
PlatformSkillsListResponse:
type: object
required:
- skills
- has_more
- next_cursor
- request_id
properties:
skills:
type: array
description: Skills available to the user.
items:
$ref: "#/components/schemas/PlatformSkill"
has_more:
type: boolean
description: Whether additional results are available.
next_cursor:
type: string
nullable: true
description: Cursor for the next page, or null when no more results are available.
request_id:
type: string
description: Platform-generated request ID for support correlation.
PlatformSkillGetResponse:
type: object
required:
- skill
- request_id
properties:
skill:
$ref: "#/components/schemas/PlatformSkill"
request_id:
type: string
description: Platform-generated request ID for support correlation.
PlatformFilterOperator:
type: string
description: Supported filter operator.
Expand Down Expand Up @@ -5579,18 +5813,6 @@ components:
Structured filters applied to search results. Equality operators OR multiple values within a filter. Multiple filters are AND'd together, including range filters on the same field. Filters are AND'd with any inline operators in `query`. Note that conflicting constraints on the same field (e.g., `type:document` in the query and `type: spreadsheet` in a filter) produce an empty result set.
time_range:
$ref: "#/components/schemas/PlatformTimeRange"
PlatformPersonReference:
type: object
description: A lightweight reference to a person, used where a payload merely points at someone.
required:
- name
properties:
id:
type: string
description: Opaque Glean person ID.
name:
type: string
description: Display name.
PlatformResult:
type: object
required:
Expand Down Expand Up @@ -9635,6 +9857,22 @@ components:
- EXECUTION
- MCP
description: Valid only for write actions. Represents the type of write action. REDIRECT - The client renders the URL which contains information for carrying out the action. EXECUTION - Send a request to an external server and execute the action. MCP - Send a tools/call request to an MCP server to execute the action.
actionTypeSource:
type: string
enum:
- MCP_ANNOTATION
- ADMIN_OVERRIDE
- NONE
- NATIVE_TOOL_DEFINITION
description: |
Analytics-only signal (product snapshot) describing WHERE the action's
read/write determination came from. Complementary to the effective
read/write value (the tool's ToolType, which drives HITL): the value says
read-or-write, this says how confident that is. MCP_ANNOTATION = from the
tool's read-only/destructive hints; ADMIN_OVERRIDE = an admin set it;
NONE = no usable hint (the effective value then defaults to write);
NATIVE_TOOL_DEFINITION = from a curated native tool (snapshot-derived).
Does not affect runtime behavior.
authType:
type: string
enum:
Expand Down
30 changes: 30 additions & 0 deletions .speakeasy/tests.arazzo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -164714,3 +164714,33 @@ workflows:
type: simple
x-speakeasy-test-group: tools
x-speakeasy-test-rebuild: true
- workflowId: platform-skills-list
steps:
- stepId: test
operationId: platform-skills-list
successCriteria:
- condition: $statusCode == 200
- condition: $response.header.Content-Type == application/json
- context: $response.body
condition: |
{"skills":[],"has_more":true,"next_cursor":"<value>","request_id":"<id>"}
type: simple
x-speakeasy-test-group: skills
x-speakeasy-test-rebuild: true
- workflowId: platform-skills-get
steps:
- stepId: test
operationId: platform-skills-get
parameters:
- name: skill_id
in: path
value: <id>
successCriteria:
- condition: $statusCode == 200
- condition: $response.header.Content-Type == application/json
- context: $response.body
condition: |
{"skill":{"id":"<id>","display_name":"Chad_Herzog","description":"whenever up aha controvert","latest_version":151495,"latest_minor_version":170771,"status":"DISABLED","origin":"CUSTOM","owner":{"name":"<value>"},"created_at":"2024-12-25T16:41:00.099Z","updated_at":"2026-12-07T21:59:59.375Z"},"request_id":"<id>"}
type: simple
x-speakeasy-test-group: skills
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.789.2
speakeasyVersion: 1.789.3
sources:
Glean API:
sourceNamespace: glean-api-specs
sourceRevisionDigest: sha256:145236c33451e6e87cf1507a4d8829678b0df02af59afc9341330627e33ed760
sourceBlobDigest: sha256:862b1370a65d146eac83f86c6fbd2d787f04ea93c2cf28259af5ded934f9fb3b
sourceRevisionDigest: sha256:5b6095287942d0cbc89988701922bffc8cde912f367b1caa8215d816058ffd4f
sourceBlobDigest: sha256:184c64058698490c5bf472218c2c054ebaa69ae0c35c33167aaef3f14f55ab64
tags:
- latest
petstore-oas:
Expand All @@ -17,10 +17,10 @@ targets:
glean:
source: Glean API
sourceNamespace: glean-api-specs
sourceRevisionDigest: sha256:145236c33451e6e87cf1507a4d8829678b0df02af59afc9341330627e33ed760
sourceBlobDigest: sha256:862b1370a65d146eac83f86c6fbd2d787f04ea93c2cf28259af5ded934f9fb3b
sourceRevisionDigest: sha256:5b6095287942d0cbc89988701922bffc8cde912f367b1caa8215d816058ffd4f
sourceBlobDigest: sha256:184c64058698490c5bf472218c2c054ebaa69ae0c35c33167aaef3f14f55ab64
codeSamplesNamespace: glean-api-specs-go-code-samples
codeSamplesRevisionDigest: sha256:90941ca05c5c8e8a7acfa165b3674411f1c712692e4e071afecb72791b282a07
codeSamplesRevisionDigest: sha256:bb2586cde0d55feb33425672520e38da4b2390bfb7ef7fa2ed234dd97dd5450d
petstore:
source: petstore-oas
sourceNamespace: petstore-oas
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ For more information on obtaining the appropriate token type, please contact you
* [BulkIndex](docs/sdks/indexingshortcuts/README.md#bulkindex) - Bulk index external shortcuts
* [Upload](docs/sdks/indexingshortcuts/README.md#upload) - Upload shortcuts

### [Platform.Skills](docs/sdks/skills/README.md)

* [List](docs/sdks/skills/README.md#list) - List skills
* [Retrieve](docs/sdks/skills/README.md#retrieve) - Retrieve skill

### [Search](docs/sdks/search/README.md)

* [Query](docs/sdks/search/README.md#query) - Search
Expand Down
Loading
Loading