Skip to content

Commit 4826364

Browse files
authored
chore: update Speakeasy integration guide
1 parent a3613c0 commit 4826364

File tree

1 file changed

+44
-77
lines changed

1 file changed

+44
-77
lines changed

integrations/sdks/speakeasy.mdx

Lines changed: 44 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -3,95 +3,62 @@ title: Speakeasy
33
description: Automate your SDK usage snippets in the API playground
44
---
55

6-
You can integrate Speakeasy-generated code snippets from your SDKs directly into your Mintlify API reference documentation. SDK usage snippets are shown in the [interactive playground](https://mintlify.com/docs/api-playground/overview) of your Mintlify-powered documentation.
6+
Autogenerated code snippets from Speakeasy SDKs can be integrated directly into Mintlify API reference documentation. SDK usage snippets are shown in the [interactive playground](https://mintlify.com/docs/api-playground/overview) of Mintlify-powered documentation sites.
77

8-
## Speakeasy SDK Repository Changes
8+
<Screenshot url="docs.myapi.com" docs={true}>
9+
![Speakeasy code snippets with
10+
Mintlify.](../assets/code-samples/mintlify-with-speakeasy-openapi.png)
11+
</Screenshot>
912

10-
In your Speakeasy SDK repos, add the following to the `targets` section of your `.speakeasy/workflow.yaml` file to ensure code samples are automatically produced alongside SDK generations.
1113

12-
```yaml .speakeasy/workflow.yaml
13-
targets:
14-
my-target:
15-
target: typescript
16-
source: my-source
17-
codeSamples:
18-
output: codeSamples.yaml
19-
```
20-
21-
Code samples will be generated in the form of an [OpenAPI overlay file](https://www.speakeasyapi.dev/openapi/overlays) that will be used in the Mintlify docs repository.
22-
23-
## Mintlify Docs Repository Changes
24-
25-
The workflow files produced will automatically bundle your source OpenAPI spec and Speakeasy code samples into a single output file, `openapi.yaml`. Mintlify will use this output file when constructing your API reference.
14+
## Prerequisites
2615

27-
### Interactive CLI Set Up
28-
29-
Run the following commands to set up the `.speakeasy/workflow.yaml` and `.github/workflows/sdk_generation.yaml` files through the interactive Speakeasy CLI.
30-
31-
```bash
32-
speakeasy configure sources
33-
speakeasy configure github
34-
```
16+
To integrate Mintlify with Speakeasy, you'll need the following:
3517

36-
Set up your source spec. The source spec is the OpenAPI spec that code samples will be generated for, and it's often the same specification used to power Mintlify docs.
18+
- A [Mintlify documentation repository](https://mintlify.com/docs/quickstart#creating-the-repository).
19+
- A Speakeasy-generated SDK with a configured [automated code sample URL](/docs/code-samples/automated-code-sample-urls).
3720

38-
![](/images/speakeasy-1.webp)
21+
## Setting up the integration
3922

40-
Add the overlay created by Speakeasy to inject code snippets into your spec.
23+
<GetPublicUrlSnippet />
4124

42-
![](/images/speakeasy-2.webp)
25+
### Update the `mint.json` configuration file
4326

44-
Provide a name and path for the OpenAPI spec. This will be the final spec used by Mintlify.
27+
Add the combined spec URL to **Anchors** or **Tabs** in the `mint.json` file of a Mintlify repository. Anchors are displayed as a list of links on the left side of the documentation, while Tabs are displayed as tabs along the top of the documentation.
4528

46-
![](/images/speakeasy-3.webp)
29+
Add the combined spec URL to **Anchors** by updating the `anchor` field in the `mint.json` file as follows:
4730

48-
Finally, Add your `SPEAKEASY_API_KEY` as a repository secret to your Minlify repo under `Settings > Secrets & Variables > Actions`. Find the Speakeasy API key in the Speakeasy dashboard under the **API Keys** tab.
49-
50-
## Manual Set Up
51-
52-
Alternatively, you can manually set up the following files in your Mintlify docs repo.
53-
54-
55-
```yaml .speakeasy/workflow.yaml
56-
workflowVersion: 1.0.0
57-
sources:
58-
docs-source:
59-
inputs:
60-
- location: {{your_api_spec}} # local or remote references supported
61-
overlays:
62-
- location: https://raw.githubusercontent.com/{{your_sdk_repo_1}}/codeSamples.yaml
63-
- location: https://raw.githubusercontent.com/{{your_sdk_repo_2}}/codeSamples.yaml
64-
- location: https://raw.githubusercontent.com/{{your_sdk_repo_3}}/codeSamples.yaml
65-
output: openapi.yaml
66-
targets: {}
31+
```json mint.json
32+
{
33+
"anchors": [
34+
{
35+
"name": "API Reference",
36+
// !mark
37+
"openapi": "SPEAKEASY_COMBINED_SPEC_URL",
38+
"url": "api-reference",
39+
"icon": "square-terminal"
40+
}
41+
]
42+
}
6743
```
6844

69-
```yaml .speakeasy/workflows/sdk_generation.yaml
70-
name: Generate
71-
permissions:
72-
checks: write
73-
contents: write
74-
pull-requests: write
75-
statuses: write
76-
"on":
77-
workflow_dispatch:
78-
inputs:
79-
force:
80-
description: Force generation of SDKs
81-
type: boolean
82-
default: false
83-
schedule:
84-
- cron: 0 0 * * *
85-
jobs:
86-
generate:
87-
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
88-
with:
89-
force: ${{ github.event.inputs.force }}
90-
mode: pr
91-
speakeasy_version: latest
92-
secrets:
93-
github_access_token: ${{ secrets.GITHUB_TOKEN }}
94-
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
45+
Add the combined spec URL to **Tabs** by updating the `tab` field in the `mint.json` file as follows:
46+
47+
```json mint.json
48+
{
49+
"tabs": [
50+
{
51+
"name": "API Reference",
52+
"url": "api-reference",
53+
// !mark
54+
"openapi": "SPEAKEASY_COMBINED_SPEC_URL"
55+
}
56+
]
57+
}
9558
```
9659

97-
Finally, make sure you add your `SPEAKEASY_API_KEY` as a repository secret to your Minlify repo under `Settings > Secrets & Variables > Actions`. Find the Speakeasy API key in the Speakeasy dashboard under the **API Keys** tab.
60+
Speakeasy-generated code snippets can now be viewed in the Mintlify API reference documentation. See the code snippets in action in the [interactive playground](https://mintlify.com/docs/api-playground/overview) of the Mintlify-powered documentation site.
61+
62+
## Next steps
63+
64+
Mintlify offers flexible customization options for API references generated from OpenAPI documents. For more information, refer to the [Mintlify documentation](https://mintlify.com/docs/api-playground/openapi/setup).

0 commit comments

Comments
 (0)