curl --request POST \
--url https://{tenant}/api/apis/oas/dry-run \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"oas": {
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
}
}
},
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/api/sample/users": {
"get": {
"operationId": "getUsersOperation",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
},
"description": "fetched users"
}
},
"summary": "Get users",
"tags": [
"users"
]
}
}
},
"security": [
{
"bearerAuth": []
}
],
"servers": [
{
"url": "https://localhost:8080"
}
]
},
"tyk_oas": {
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
}
}
},
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/api/sample/users": {
"get": {
"operationId": "getUsersSample",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
},
"description": "fetched users"
}
},
"summary": "Get users",
"tags": [
"users"
]
}
}
},
"security": [
{
"bearerAuth": []
}
],
"servers": [
{
"url": "https://localhost:8080"
}
],
"x-tyk-api-gateway": {
"info": {
"name": "user",
"state": {
"active": true
}
},
"server": {
"listenPath": {
"strip": true,
"value": "/user-test-four/"
}
},
"upstream": {
"url": "https://localhost:8080"
}
}
}
}
'import requests
url = "https://{tenant}/api/apis/oas/dry-run"
payload = {
"oas": {
"components": { "securitySchemes": { "bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
} } },
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": { "/api/sample/users": { "get": {
"operationId": "getUsersOperation",
"responses": { "200": {
"content": { "application/json": { "schema": {
"items": {
"properties": { "name": { "type": "string" } },
"type": "object"
},
"type": "array"
} } },
"description": "fetched users"
} },
"summary": "Get users",
"tags": ["users"]
} } },
"security": [{ "bearerAuth": [] }],
"servers": [{ "url": "https://localhost:8080" }]
},
"tyk_oas": {
"components": { "securitySchemes": { "bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
} } },
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": { "/api/sample/users": { "get": {
"operationId": "getUsersSample",
"responses": { "200": {
"content": { "application/json": { "schema": {
"items": {
"properties": { "name": { "type": "string" } },
"type": "object"
},
"type": "array"
} } },
"description": "fetched users"
} },
"summary": "Get users",
"tags": ["users"]
} } },
"security": [{ "bearerAuth": [] }],
"servers": [{ "url": "https://localhost:8080" }],
"x-tyk-api-gateway": {
"info": {
"name": "user",
"state": { "active": True }
},
"server": { "listenPath": {
"strip": True,
"value": "/user-test-four/"
} },
"upstream": { "url": "https://localhost:8080" }
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
oas: {
components: {
securitySchemes: {
bearerAuth: {description: 'The API Access Credentials', scheme: 'bearer', type: 'http'}
}
},
info: {
description: 'This is a sample OpenAPI description.',
title: 'Sample OpenAPI description',
version: '1.0.0'
},
openapi: '3.0.3',
paths: {
'/api/sample/users': {
get: {
operationId: 'getUsersOperation',
responses: {
'200': {
content: {
'application/json': {
schema: {items: {properties: {name: {type: 'string'}}, type: 'object'}, type: 'array'}
}
},
description: 'fetched users'
}
},
summary: 'Get users',
tags: ['users']
}
}
},
security: [{bearerAuth: []}],
servers: [{url: 'https://localhost:8080'}]
},
tyk_oas: {
components: {
securitySchemes: {
bearerAuth: {description: 'The API Access Credentials', scheme: 'bearer', type: 'http'}
}
},
info: {
description: 'This is a sample OpenAPI description.',
title: 'Sample OpenAPI description',
version: '1.0.0'
},
openapi: '3.0.3',
paths: {
'/api/sample/users': {
get: {
operationId: 'getUsersSample',
responses: {
'200': {
content: {
'application/json': {
schema: {items: {properties: {name: {type: 'string'}}, type: 'object'}, type: 'array'}
}
},
description: 'fetched users'
}
},
summary: 'Get users',
tags: ['users']
}
}
},
security: [{bearerAuth: []}],
servers: [{url: 'https://localhost:8080'}],
'x-tyk-api-gateway': {
info: {name: 'user', state: {active: true}},
server: {listenPath: {strip: true, value: '/user-test-four/'}},
upstream: {url: 'https://localhost:8080'}
}
}
})
};
fetch('https://{tenant}/api/apis/oas/dry-run', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant}/api/apis/oas/dry-run",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'oas' => [
'components' => [
'securitySchemes' => [
'bearerAuth' => [
'description' => 'The API Access Credentials',
'scheme' => 'bearer',
'type' => 'http'
]
]
],
'info' => [
'description' => 'This is a sample OpenAPI description.',
'title' => 'Sample OpenAPI description',
'version' => '1.0.0'
],
'openapi' => '3.0.3',
'paths' => [
'/api/sample/users' => [
'get' => [
'operationId' => 'getUsersOperation',
'responses' => [
'200' => [
'content' => [
'application/json' => [
'schema' => [
'items' => [
'properties' => [
'name' => [
'type' => 'string'
]
],
'type' => 'object'
],
'type' => 'array'
]
]
],
'description' => 'fetched users'
]
],
'summary' => 'Get users',
'tags' => [
'users'
]
]
]
],
'security' => [
[
'bearerAuth' => [
]
]
],
'servers' => [
[
'url' => 'https://localhost:8080'
]
]
],
'tyk_oas' => [
'components' => [
'securitySchemes' => [
'bearerAuth' => [
'description' => 'The API Access Credentials',
'scheme' => 'bearer',
'type' => 'http'
]
]
],
'info' => [
'description' => 'This is a sample OpenAPI description.',
'title' => 'Sample OpenAPI description',
'version' => '1.0.0'
],
'openapi' => '3.0.3',
'paths' => [
'/api/sample/users' => [
'get' => [
'operationId' => 'getUsersSample',
'responses' => [
'200' => [
'content' => [
'application/json' => [
'schema' => [
'items' => [
'properties' => [
'name' => [
'type' => 'string'
]
],
'type' => 'object'
],
'type' => 'array'
]
]
],
'description' => 'fetched users'
]
],
'summary' => 'Get users',
'tags' => [
'users'
]
]
]
],
'security' => [
[
'bearerAuth' => [
]
]
],
'servers' => [
[
'url' => 'https://localhost:8080'
]
],
'x-tyk-api-gateway' => [
'info' => [
'name' => 'user',
'state' => [
'active' => true
]
],
'server' => [
'listenPath' => [
'strip' => true,
'value' => '/user-test-four/'
]
],
'upstream' => [
'url' => 'https://localhost:8080'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant}/api/apis/oas/dry-run"
payload := strings.NewReader("{\n \"oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersOperation\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ]\n },\n \"tyk_oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersSample\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ],\n \"x-tyk-api-gateway\": {\n \"info\": {\n \"name\": \"user\",\n \"state\": {\n \"active\": true\n }\n },\n \"server\": {\n \"listenPath\": {\n \"strip\": true,\n \"value\": \"/user-test-four/\"\n }\n },\n \"upstream\": {\n \"url\": \"https://localhost:8080\"\n }\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{tenant}/api/apis/oas/dry-run")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersOperation\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ]\n },\n \"tyk_oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersSample\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ],\n \"x-tyk-api-gateway\": {\n \"info\": {\n \"name\": \"user\",\n \"state\": {\n \"active\": true\n }\n },\n \"server\": {\n \"listenPath\": {\n \"strip\": true,\n \"value\": \"/user-test-four/\"\n }\n },\n \"upstream\": {\n \"url\": \"https://localhost:8080\"\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}/api/apis/oas/dry-run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersOperation\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ]\n },\n \"tyk_oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersSample\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ],\n \"x-tyk-api-gateway\": {\n \"info\": {\n \"name\": \"user\",\n \"state\": {\n \"active\": true\n }\n },\n \"server\": {\n \"listenPath\": {\n \"strip\": true,\n \"value\": \"/user-test-four/\"\n }\n },\n \"upstream\": {\n \"url\": \"https://localhost:8080\"\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
}
}
},
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/api/sample/users": {
"get": {
"operationId": "getUsersSample",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
},
"description": "fetched users"
}
},
"summary": "Get users",
"tags": [
"users"
]
}
}
},
"security": [
{
"bearerAuth": []
}
],
"servers": [
{
"url": "https://localhost:8080"
}
],
"x-tyk-api-gateway": {
"info": {
"name": "user",
"state": {
"active": true
}
},
"server": {
"listenPath": {
"strip": true,
"value": "/user-test-five/"
}
},
"upstream": {
"url": "https://localhost:8080"
}
}
}{
"Message": "Couldn't read body.",
"Meta": null,
"Status": "Error"
}{
"Message": "Not authorised",
"Meta": null,
"Status": "Error"
}{
"Message": "access denied: You do not have permission to access /api/apis/oas/dry-run",
"Meta": null,
"Status": "Error"
}Dry Run OAS.
Generate a Tyk OAS API definition without saving it to the Dashboard database. This endpoint is used to produce a Tyk OAS API definition without creating the API proxy itself. This provides a dry run functionality for Tyk OAS API creation, showing what would be created in the Dashboard given the set of inputs provided.
curl --request POST \
--url https://{tenant}/api/apis/oas/dry-run \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"oas": {
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
}
}
},
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/api/sample/users": {
"get": {
"operationId": "getUsersOperation",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
},
"description": "fetched users"
}
},
"summary": "Get users",
"tags": [
"users"
]
}
}
},
"security": [
{
"bearerAuth": []
}
],
"servers": [
{
"url": "https://localhost:8080"
}
]
},
"tyk_oas": {
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
}
}
},
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/api/sample/users": {
"get": {
"operationId": "getUsersSample",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
},
"description": "fetched users"
}
},
"summary": "Get users",
"tags": [
"users"
]
}
}
},
"security": [
{
"bearerAuth": []
}
],
"servers": [
{
"url": "https://localhost:8080"
}
],
"x-tyk-api-gateway": {
"info": {
"name": "user",
"state": {
"active": true
}
},
"server": {
"listenPath": {
"strip": true,
"value": "/user-test-four/"
}
},
"upstream": {
"url": "https://localhost:8080"
}
}
}
}
'import requests
url = "https://{tenant}/api/apis/oas/dry-run"
payload = {
"oas": {
"components": { "securitySchemes": { "bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
} } },
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": { "/api/sample/users": { "get": {
"operationId": "getUsersOperation",
"responses": { "200": {
"content": { "application/json": { "schema": {
"items": {
"properties": { "name": { "type": "string" } },
"type": "object"
},
"type": "array"
} } },
"description": "fetched users"
} },
"summary": "Get users",
"tags": ["users"]
} } },
"security": [{ "bearerAuth": [] }],
"servers": [{ "url": "https://localhost:8080" }]
},
"tyk_oas": {
"components": { "securitySchemes": { "bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
} } },
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": { "/api/sample/users": { "get": {
"operationId": "getUsersSample",
"responses": { "200": {
"content": { "application/json": { "schema": {
"items": {
"properties": { "name": { "type": "string" } },
"type": "object"
},
"type": "array"
} } },
"description": "fetched users"
} },
"summary": "Get users",
"tags": ["users"]
} } },
"security": [{ "bearerAuth": [] }],
"servers": [{ "url": "https://localhost:8080" }],
"x-tyk-api-gateway": {
"info": {
"name": "user",
"state": { "active": True }
},
"server": { "listenPath": {
"strip": True,
"value": "/user-test-four/"
} },
"upstream": { "url": "https://localhost:8080" }
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
oas: {
components: {
securitySchemes: {
bearerAuth: {description: 'The API Access Credentials', scheme: 'bearer', type: 'http'}
}
},
info: {
description: 'This is a sample OpenAPI description.',
title: 'Sample OpenAPI description',
version: '1.0.0'
},
openapi: '3.0.3',
paths: {
'/api/sample/users': {
get: {
operationId: 'getUsersOperation',
responses: {
'200': {
content: {
'application/json': {
schema: {items: {properties: {name: {type: 'string'}}, type: 'object'}, type: 'array'}
}
},
description: 'fetched users'
}
},
summary: 'Get users',
tags: ['users']
}
}
},
security: [{bearerAuth: []}],
servers: [{url: 'https://localhost:8080'}]
},
tyk_oas: {
components: {
securitySchemes: {
bearerAuth: {description: 'The API Access Credentials', scheme: 'bearer', type: 'http'}
}
},
info: {
description: 'This is a sample OpenAPI description.',
title: 'Sample OpenAPI description',
version: '1.0.0'
},
openapi: '3.0.3',
paths: {
'/api/sample/users': {
get: {
operationId: 'getUsersSample',
responses: {
'200': {
content: {
'application/json': {
schema: {items: {properties: {name: {type: 'string'}}, type: 'object'}, type: 'array'}
}
},
description: 'fetched users'
}
},
summary: 'Get users',
tags: ['users']
}
}
},
security: [{bearerAuth: []}],
servers: [{url: 'https://localhost:8080'}],
'x-tyk-api-gateway': {
info: {name: 'user', state: {active: true}},
server: {listenPath: {strip: true, value: '/user-test-four/'}},
upstream: {url: 'https://localhost:8080'}
}
}
})
};
fetch('https://{tenant}/api/apis/oas/dry-run', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant}/api/apis/oas/dry-run",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'oas' => [
'components' => [
'securitySchemes' => [
'bearerAuth' => [
'description' => 'The API Access Credentials',
'scheme' => 'bearer',
'type' => 'http'
]
]
],
'info' => [
'description' => 'This is a sample OpenAPI description.',
'title' => 'Sample OpenAPI description',
'version' => '1.0.0'
],
'openapi' => '3.0.3',
'paths' => [
'/api/sample/users' => [
'get' => [
'operationId' => 'getUsersOperation',
'responses' => [
'200' => [
'content' => [
'application/json' => [
'schema' => [
'items' => [
'properties' => [
'name' => [
'type' => 'string'
]
],
'type' => 'object'
],
'type' => 'array'
]
]
],
'description' => 'fetched users'
]
],
'summary' => 'Get users',
'tags' => [
'users'
]
]
]
],
'security' => [
[
'bearerAuth' => [
]
]
],
'servers' => [
[
'url' => 'https://localhost:8080'
]
]
],
'tyk_oas' => [
'components' => [
'securitySchemes' => [
'bearerAuth' => [
'description' => 'The API Access Credentials',
'scheme' => 'bearer',
'type' => 'http'
]
]
],
'info' => [
'description' => 'This is a sample OpenAPI description.',
'title' => 'Sample OpenAPI description',
'version' => '1.0.0'
],
'openapi' => '3.0.3',
'paths' => [
'/api/sample/users' => [
'get' => [
'operationId' => 'getUsersSample',
'responses' => [
'200' => [
'content' => [
'application/json' => [
'schema' => [
'items' => [
'properties' => [
'name' => [
'type' => 'string'
]
],
'type' => 'object'
],
'type' => 'array'
]
]
],
'description' => 'fetched users'
]
],
'summary' => 'Get users',
'tags' => [
'users'
]
]
]
],
'security' => [
[
'bearerAuth' => [
]
]
],
'servers' => [
[
'url' => 'https://localhost:8080'
]
],
'x-tyk-api-gateway' => [
'info' => [
'name' => 'user',
'state' => [
'active' => true
]
],
'server' => [
'listenPath' => [
'strip' => true,
'value' => '/user-test-four/'
]
],
'upstream' => [
'url' => 'https://localhost:8080'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant}/api/apis/oas/dry-run"
payload := strings.NewReader("{\n \"oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersOperation\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ]\n },\n \"tyk_oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersSample\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ],\n \"x-tyk-api-gateway\": {\n \"info\": {\n \"name\": \"user\",\n \"state\": {\n \"active\": true\n }\n },\n \"server\": {\n \"listenPath\": {\n \"strip\": true,\n \"value\": \"/user-test-four/\"\n }\n },\n \"upstream\": {\n \"url\": \"https://localhost:8080\"\n }\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{tenant}/api/apis/oas/dry-run")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersOperation\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ]\n },\n \"tyk_oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersSample\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ],\n \"x-tyk-api-gateway\": {\n \"info\": {\n \"name\": \"user\",\n \"state\": {\n \"active\": true\n }\n },\n \"server\": {\n \"listenPath\": {\n \"strip\": true,\n \"value\": \"/user-test-four/\"\n }\n },\n \"upstream\": {\n \"url\": \"https://localhost:8080\"\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}/api/apis/oas/dry-run")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersOperation\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ]\n },\n \"tyk_oas\": {\n \"components\": {\n \"securitySchemes\": {\n \"bearerAuth\": {\n \"description\": \"The API Access Credentials\",\n \"scheme\": \"bearer\",\n \"type\": \"http\"\n }\n }\n },\n \"info\": {\n \"description\": \"This is a sample OpenAPI description.\",\n \"title\": \"Sample OpenAPI description\",\n \"version\": \"1.0.0\"\n },\n \"openapi\": \"3.0.3\",\n \"paths\": {\n \"/api/sample/users\": {\n \"get\": {\n \"operationId\": \"getUsersSample\",\n \"responses\": {\n \"200\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"items\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n }\n },\n \"description\": \"fetched users\"\n }\n },\n \"summary\": \"Get users\",\n \"tags\": [\n \"users\"\n ]\n }\n }\n },\n \"security\": [\n {\n \"bearerAuth\": []\n }\n ],\n \"servers\": [\n {\n \"url\": \"https://localhost:8080\"\n }\n ],\n \"x-tyk-api-gateway\": {\n \"info\": {\n \"name\": \"user\",\n \"state\": {\n \"active\": true\n }\n },\n \"server\": {\n \"listenPath\": {\n \"strip\": true,\n \"value\": \"/user-test-four/\"\n }\n },\n \"upstream\": {\n \"url\": \"https://localhost:8080\"\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
}
}
},
"info": {
"description": "This is a sample OpenAPI description.",
"title": "Sample OpenAPI description",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/api/sample/users": {
"get": {
"operationId": "getUsersSample",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
}
},
"description": "fetched users"
}
},
"summary": "Get users",
"tags": [
"users"
]
}
}
},
"security": [
{
"bearerAuth": []
}
],
"servers": [
{
"url": "https://localhost:8080"
}
],
"x-tyk-api-gateway": {
"info": {
"name": "user",
"state": {
"active": true
}
},
"server": {
"listenPath": {
"strip": true,
"value": "/user-test-five/"
}
},
"upstream": {
"url": "https://localhost:8080"
}
}
}{
"Message": "Couldn't read body.",
"Meta": null,
"Status": "Error"
}{
"Message": "Not authorised",
"Meta": null,
"Status": "Error"
}{
"Message": "access denied: You do not have permission to access /api/apis/oas/dry-run",
"Meta": null,
"Status": "Error"
}Authorizations
The Tyk Dashboard API Access Credentials
Query Parameters
The Asset ID of template applied while creating or importing an OAS API.
The base API which the new version will be linked to.
The version name of the base API while creating the first version. This doesn't have to be sent for the next versions but if it is set, it will override base API version name.
The version name of the created version.
If true, the new version is set as default version.
Upstream URL for the API.
Listen path for the API.
Custom domain for the API.
Enable allowList middleware for all endpoints.
true, false true
Enable validateRequest middleware for all endpoints having a request body with media type application/json.
true, false true
Enable mockResponse middleware for all endpoints having responses configured.
true, false true
Enable/disable the authentication mechanism in your Tyk Gateway for your OAS API.
true, false true
Response
Success.
Show child attributes
Show child attributes
Was this page helpful?