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
196 changes: 177 additions & 19 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 @@ -34,7 +34,7 @@ generation:
generateNewTests: true
skipResponseBodyAssertions: true
python:
version: 0.15.3
version: 0.15.4
additionalDependencies:
dev: {}
main: {}
Expand Down
250 changes: 236 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: a6a475757a3799d2146d7b0d0db2ae609b6bdc0f
x-open-api-commit-sha: 3f74e993e22cee24401a816dc24063d4e4bec47b
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
30 changes: 30 additions & 0 deletions .speakeasy/tests.arazzo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -158863,3 +158863,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
10 changes: 5 additions & 5 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ speakeasyVersion: 1.789.2
sources:
Glean API:
sourceNamespace: glean-api-specs
sourceRevisionDigest: sha256:145236c33451e6e87cf1507a4d8829678b0df02af59afc9341330627e33ed760
sourceBlobDigest: sha256:862b1370a65d146eac83f86c6fbd2d787f04ea93c2cf28259af5ded934f9fb3b
sourceRevisionDigest: sha256:f5ae8d5309190d64c093519c5102cb3d4d6da1315a4fc86be83598d33185a55a
sourceBlobDigest: sha256:4473e76be6cb393aa28cf300cb3aee22d91366e47b0c1afebc1ab79a1f4dd36d
tags:
- latest
Glean Client API:
Expand All @@ -16,10 +16,10 @@ targets:
glean:
source: Glean API
sourceNamespace: glean-api-specs
sourceRevisionDigest: sha256:145236c33451e6e87cf1507a4d8829678b0df02af59afc9341330627e33ed760
sourceBlobDigest: sha256:862b1370a65d146eac83f86c6fbd2d787f04ea93c2cf28259af5ded934f9fb3b
sourceRevisionDigest: sha256:f5ae8d5309190d64c093519c5102cb3d4d6da1315a4fc86be83598d33185a55a
sourceBlobDigest: sha256:4473e76be6cb393aa28cf300cb3aee22d91366e47b0c1afebc1ab79a1f4dd36d
codeSamplesNamespace: glean-api-specs-python-code-samples
codeSamplesRevisionDigest: sha256:4a0a1ec3489f36483dc6080dacec4d40157b2e8d34be15e06417ddfc2e4f090a
codeSamplesRevisionDigest: sha256:59b6337e461b4371b65810cd5e1bdd0ae3ba98edcafe091e488e5e7cc6442333
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -545,6 +545,11 @@ For more information on obtaining the appropriate token type, please contact you
* [bulk_index](docs/sdks/indexingshortcuts/README.md#bulk_index) - 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
12 changes: 11 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -798,4 +798,14 @@ Based on:
### Generated
- [python v0.15.3] .
### Releases
- [PyPI v0.15.3] https://pypi.org/project/glean-api-client/0.15.3 - .
- [PyPI v0.15.3] https://pypi.org/project/glean-api-client/0.15.3 - .

## 2026-07-11 02:42:36
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.789.2 (2.916.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.15.4] .
### Releases
- [PyPI v0.15.4] https://pypi.org/project/glean-api-client/0.15.4 - .
18 changes: 18 additions & 0 deletions docs/models/platformskill.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# PlatformSkill


## Fields

| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | Glean skill ID. |
| `display_name` | *str* | :heavy_check_mark: | Human-readable skill name. |
| `description` | *str* | :heavy_check_mark: | Human-readable skill description. |
| `latest_version` | *int* | :heavy_check_mark: | Latest major version number for the skill. |
| `latest_minor_version` | *int* | :heavy_check_mark: | Latest minor version number for the skill. |
| `status` | [models.PlatformSkillStatus](../models/platformskillstatus.md) | :heavy_check_mark: | Current skill status. |
| `origin` | [models.PlatformSkillOrigin](../models/platformskillorigin.md) | :heavy_check_mark: | Source category for the skill. |
| `source_provenance` | [Optional[models.PlatformSkillSourceProvenance]](../models/platformskillsourceprovenance.md) | :heavy_minus_sign: | N/A |
| `owner` | [models.PlatformPersonReference](../models/platformpersonreference.md) | :heavy_check_mark: | A lightweight reference to a person, used where a payload merely points at someone. |
| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Time the skill was created. |
| `updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Time the skill was last updated. |
Loading
Loading