Manage APIs
Here’s how to create, import, edit, and update APIs with the tyk api command — using small, copy‑pasteable steps.
Before you start
- Pick an environment:
tyk config use dev - Or set per‑run vars:
TYK_DASH_URL=... TYK_AUTH_TOKEN=... TYK_ORG_ID=...
Create your first API (from scratch)
tyk api create \
--name "httpbin" \
--upstream-url https://httpbin.org
# Find its ID
tyk api list
createmakes a minimal API you can call under/petstore/right away.- Inspect it with
tyk api get <api-id>(includes Tyk extensions).
Import your first Open API Spec (OAS)
Create a tiny spec and import it.
cat > petstore.json <<'JSON'
{
"openapi": "3.0.3",
"info": { "title": "Petstore API", "version": "1.0.0" },
"servers": [ { "url": "https://example.com" } ],
"paths": {
"/pets": { "get": { "summary": "List pets", "responses": { "200": { "description": "OK" } } } },
"/pets/{id}": { "get": { "summary": "Get pet by ID", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } } } }
}
}
JSON
tyk api import-oas --file petstore.json
import-oascreates a new API from a clean OAS (no Tyk config required).
Edit Existing Tyk OAS API
It’s simple to edit an existing Tyk API:
# 1) Export the full definition (with Tyk extensions)
tyk api get <api-id> > foo.yaml
# 2) Edit foo.yaml (change listenPath, upstream, middleware, etc.)
# 3) Apply your changes
tyk api apply --file foo.yaml
Patch OAS Docs on an API
imagine you have made a change to the OAS definition. Perhaps it is auto-generated from a code change, or it was designed in an API designer.
We can natively patch the existing Tyk reverse proxy definition for this API.
# 1) Export an OAS spec
tyk api get <api-id> --oas-only > openapi.yaml
# 2) Edit with your favorite OAS tools
# 3) Update only the spec on the existing API
tyk api update-oas <api-id> --file openapi.yaml
Handy commands
- Inspect:
tyk api get <api-id> [--oas-only] - Browse:
tyk api list(add--page 2or--interactive) - Delete:
tyk api delete <api-id> --yes - Global flags:
--dash-url,--auth-token,--org-id,--json