Skip to main content
POST
/
api
/
apis
/
oas
/
dry-run
Dry Run OAS.
curl --request POST \
  --url https://{tenant}/api/apis/oas/dry-run \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "oas": {},
  "tyk_oas": {
    "x-tyk-api-gateway": {
      "info": {
        "dbId": "<string>",
        "expiration": "<string>",
        "id": "<string>",
        "name": "<string>",
        "orgId": "<string>",
        "state": {
          "active": true,
          "internal": true
        },
        "versioning": {
          "default": "<string>",
          "enabled": true,
          "fallbackToDefault": true,
          "key": "<string>",
          "location": "<string>",
          "name": "<string>",
          "stripVersioningData": true,
          "urlVersioningPattern": "<string>",
          "versions": [
            {
              "id": "<string>",
              "name": "<string>"
            }
          ]
        }
      },
      "middleware": {
        "global": {
          "cache": {
            "cacheAllSafeRequests": true,
            "cacheByHeaders": [
              "<string>"
            ],
            "cacheResponseCodes": [
              123
            ],
            "controlTTLHeaderName": "<string>",
            "enableUpstreamCacheControl": true,
            "enabled": true,
            "timeout": 123
          },
          "contextVariables": {
            "enabled": true
          },
          "cors": {
            "allowCredentials": true,
            "allowedHeaders": [
              "<string>"
            ],
            "allowedMethods": [
              "<string>"
            ],
            "allowedOrigins": [
              "<string>"
            ],
            "debug": true,
            "enabled": true,
            "exposedHeaders": [
              "<string>"
            ],
            "maxAge": 123,
            "optionsPassthrough": true
          },
          "pluginConfig": {
            "bundle": {
              "enabled": true,
              "path": "<string>"
            },
            "data": {
              "enabled": true,
              "value": {}
            },
            "driver": "<string>"
          },
          "postAuthenticationPlugin": {
            "plugins": [
              {
                "enabled": true,
                "functionName": "<string>",
                "path": "<string>",
                "rawBodyOnly": true,
                "requireSession": true
              }
            ]
          },
          "postAuthenticationPlugins": [
            {
              "enabled": true,
              "functionName": "<string>",
              "path": "<string>",
              "rawBodyOnly": true,
              "requireSession": true
            }
          ],
          "postPlugin": {
            "plugins": [
              {
                "enabled": true,
                "functionName": "<string>",
                "path": "<string>",
                "rawBodyOnly": true,
                "requireSession": true
              }
            ]
          },
          "postPlugins": [
            {
              "enabled": true,
              "functionName": "<string>",
              "path": "<string>",
              "rawBodyOnly": true,
              "requireSession": true
            }
          ],
          "prePlugin": {
            "plugins": [
              {
                "enabled": true,
                "functionName": "<string>",
                "path": "<string>",
                "rawBodyOnly": true,
                "requireSession": true
              }
            ]
          },
          "prePlugins": [
            {
              "enabled": true,
              "functionName": "<string>",
              "path": "<string>",
              "rawBodyOnly": true,
              "requireSession": true
            }
          ],
          "responsePlugin": {
            "plugins": [
              {
                "enabled": true,
                "functionName": "<string>",
                "path": "<string>",
                "rawBodyOnly": true,
                "requireSession": true
              }
            ]
          },
          "responsePlugins": [
            {
              "enabled": true,
              "functionName": "<string>",
              "path": "<string>",
              "rawBodyOnly": true,
              "requireSession": true
            }
          ],
          "trafficLogs": {
            "enabled": true
          },
          "transformRequestHeaders": {
            "add": [
              {
                "name": "<string>",
                "value": "<string>"
              }
            ],
            "enabled": true,
            "remove": [
              "<string>"
            ]
          },
          "transformResponseHeaders": {
            "add": [
              {
                "name": "<string>",
                "value": "<string>"
              }
            ],
            "enabled": true,
            "remove": [
              "<string>"
            ]
          }
        },
        "operations": {}
      },
      "server": {
        "authentication": {
          "baseIdentityProvider": "<string>",
          "custom": {
            "AuthSources": {
              "cookie": {
                "enabled": true,
                "name": "<string>"
              },
              "header": {
                "enabled": true,
                "name": "<string>"
              },
              "query": {
                "enabled": true,
                "name": "<string>"
              }
            },
            "config": {
              "enabled": true,
              "functionName": "<string>",
              "idExtractor": {
                "config": {
                  "formParamName": "<string>",
                  "headerName": "<string>",
                  "regexp": "<string>",
                  "regexpMatchIndex": 123,
                  "xPathExp": "<string>"
                },
                "enabled": true,
                "source": "<string>",
                "with": "<string>"
              },
              "path": "<string>",
              "rawBodyOnly": true
            },
            "enabled": true
          },
          "enabled": true,
          "hmac": {
            "AuthSources": {
              "cookie": {
                "enabled": true,
                "name": "<string>"
              },
              "header": {
                "enabled": true,
                "name": "<string>"
              },
              "query": {
                "enabled": true,
                "name": "<string>"
              }
            },
            "allowedAlgorithms": [
              "<string>"
            ],
            "allowedClockSkew": 123,
            "enabled": true
          },
          "oidc": {
            "AuthSources": {
              "cookie": {
                "enabled": true,
                "name": "<string>"
              },
              "header": {
                "enabled": true,
                "name": "<string>"
              },
              "query": {
                "enabled": true,
                "name": "<string>"
              }
            },
            "enabled": true,
            "providers": [
              {
                "clientToPolicyMapping": [
                  {
                    "clientId": "<string>",
                    "policyId": "<string>"
                  }
                ],
                "issuer": "<string>"
              }
            ],
            "scopes": {
              "claimName": "<string>",
              "scopeToPolicyMapping": [
                {
                  "policyId": "<string>",
                  "scope": "<string>"
                }
              ]
            },
            "segregateByClientId": true
          },
          "securitySchemes": {},
          "stripAuthorizationData": true
        },
        "clientCertificates": {
          "allowlist": [
            "<string>"
          ],
          "enabled": true
        },
        "customDomain": {
          "certificates": [
            "<string>"
          ],
          "enabled": true,
          "name": "<string>"
        },
        "detailedActivityLogs": {
          "enabled": true
        },
        "detailedTracing": {
          "enabled": true
        },
        "eventHandlers": [
          {
            "enabled": true,
            "id": "<string>",
            "name": "<string>",
            "trigger": "<string>",
            "type": "<string>"
          }
        ],
        "gatewayTags": {
          "enabled": true,
          "tags": [
            "<string>"
          ]
        },
        "listenPath": {
          "strip": true,
          "value": "<string>"
        }
      },
      "upstream": {
        "certificatePinning": {
          "domainToPublicKeysMapping": [
            {
              "domain": "<string>",
              "publicKeys": [
                "<string>"
              ]
            }
          ],
          "enabled": true
        },
        "mutualTLS": {
          "domainToCertificateMapping": [
            {
              "certificate": "<string>",
              "domain": "<string>"
            }
          ],
          "enabled": true
        },
        "rateLimit": {
          "enabled": true,
          "per": "PT2H30M15S",
          "rate": 123
        },
        "serviceDiscovery": {
          "cache": {
            "enabled": true,
            "timeout": 123
          },
          "cacheTimeout": 123,
          "dataPath": "<string>",
          "enabled": true,
          "endpointReturnsList": true,
          "parentDataPath": "<string>",
          "portDataPath": "<string>",
          "queryEndpoint": "<string>",
          "targetPath": "<string>",
          "useNestedQuery": true,
          "useTargetList": true
        },
        "test": {
          "serviceDiscovery": {
            "cache": {
              "enabled": true,
              "timeout": 123
            },
            "cacheTimeout": 123,
            "dataPath": "<string>",
            "enabled": true,
            "endpointReturnsList": true,
            "parentDataPath": "<string>",
            "portDataPath": "<string>",
            "queryEndpoint": "<string>",
            "targetPath": "<string>",
            "useNestedQuery": true,
            "useTargetList": true
          }
        },
        "url": "<string>"
      }
    }
  }
}
'
{
  "x-tyk-api-gateway": {
    "info": {
      "dbId": "<string>",
      "expiration": "<string>",
      "id": "<string>",
      "name": "<string>",
      "orgId": "<string>",
      "state": {
        "active": true,
        "internal": true
      },
      "versioning": {
        "default": "<string>",
        "enabled": true,
        "fallbackToDefault": true,
        "key": "<string>",
        "location": "<string>",
        "name": "<string>",
        "stripVersioningData": true,
        "urlVersioningPattern": "<string>",
        "versions": [
          {
            "id": "<string>",
            "name": "<string>"
          }
        ]
      }
    },
    "middleware": {
      "global": {
        "cache": {
          "cacheAllSafeRequests": true,
          "cacheByHeaders": [
            "<string>"
          ],
          "cacheResponseCodes": [
            123
          ],
          "controlTTLHeaderName": "<string>",
          "enableUpstreamCacheControl": true,
          "enabled": true,
          "timeout": 123
        },
        "contextVariables": {
          "enabled": true
        },
        "cors": {
          "allowCredentials": true,
          "allowedHeaders": [
            "<string>"
          ],
          "allowedMethods": [
            "<string>"
          ],
          "allowedOrigins": [
            "<string>"
          ],
          "debug": true,
          "enabled": true,
          "exposedHeaders": [
            "<string>"
          ],
          "maxAge": 123,
          "optionsPassthrough": true
        },
        "pluginConfig": {
          "bundle": {
            "enabled": true,
            "path": "<string>"
          },
          "data": {
            "enabled": true,
            "value": {}
          },
          "driver": "<string>"
        },
        "postAuthenticationPlugin": {
          "plugins": [
            {
              "enabled": true,
              "functionName": "<string>",
              "path": "<string>",
              "rawBodyOnly": true,
              "requireSession": true
            }
          ]
        },
        "postAuthenticationPlugins": [
          {
            "enabled": true,
            "functionName": "<string>",
            "path": "<string>",
            "rawBodyOnly": true,
            "requireSession": true
          }
        ],
        "postPlugin": {
          "plugins": [
            {
              "enabled": true,
              "functionName": "<string>",
              "path": "<string>",
              "rawBodyOnly": true,
              "requireSession": true
            }
          ]
        },
        "postPlugins": [
          {
            "enabled": true,
            "functionName": "<string>",
            "path": "<string>",
            "rawBodyOnly": true,
            "requireSession": true
          }
        ],
        "prePlugin": {
          "plugins": [
            {
              "enabled": true,
              "functionName": "<string>",
              "path": "<string>",
              "rawBodyOnly": true,
              "requireSession": true
            }
          ]
        },
        "prePlugins": [
          {
            "enabled": true,
            "functionName": "<string>",
            "path": "<string>",
            "rawBodyOnly": true,
            "requireSession": true
          }
        ],
        "responsePlugin": {
          "plugins": [
            {
              "enabled": true,
              "functionName": "<string>",
              "path": "<string>",
              "rawBodyOnly": true,
              "requireSession": true
            }
          ]
        },
        "responsePlugins": [
          {
            "enabled": true,
            "functionName": "<string>",
            "path": "<string>",
            "rawBodyOnly": true,
            "requireSession": true
          }
        ],
        "trafficLogs": {
          "enabled": true
        },
        "transformRequestHeaders": {
          "add": [
            {
              "name": "<string>",
              "value": "<string>"
            }
          ],
          "enabled": true,
          "remove": [
            "<string>"
          ]
        },
        "transformResponseHeaders": {
          "add": [
            {
              "name": "<string>",
              "value": "<string>"
            }
          ],
          "enabled": true,
          "remove": [
            "<string>"
          ]
        }
      },
      "operations": {}
    },
    "server": {
      "authentication": {
        "baseIdentityProvider": "<string>",
        "custom": {
          "AuthSources": {
            "cookie": {
              "enabled": true,
              "name": "<string>"
            },
            "header": {
              "enabled": true,
              "name": "<string>"
            },
            "query": {
              "enabled": true,
              "name": "<string>"
            }
          },
          "config": {
            "enabled": true,
            "functionName": "<string>",
            "idExtractor": {
              "config": {
                "formParamName": "<string>",
                "headerName": "<string>",
                "regexp": "<string>",
                "regexpMatchIndex": 123,
                "xPathExp": "<string>"
              },
              "enabled": true,
              "source": "<string>",
              "with": "<string>"
            },
            "path": "<string>",
            "rawBodyOnly": true
          },
          "enabled": true
        },
        "enabled": true,
        "hmac": {
          "AuthSources": {
            "cookie": {
              "enabled": true,
              "name": "<string>"
            },
            "header": {
              "enabled": true,
              "name": "<string>"
            },
            "query": {
              "enabled": true,
              "name": "<string>"
            }
          },
          "allowedAlgorithms": [
            "<string>"
          ],
          "allowedClockSkew": 123,
          "enabled": true
        },
        "oidc": {
          "AuthSources": {
            "cookie": {
              "enabled": true,
              "name": "<string>"
            },
            "header": {
              "enabled": true,
              "name": "<string>"
            },
            "query": {
              "enabled": true,
              "name": "<string>"
            }
          },
          "enabled": true,
          "providers": [
            {
              "clientToPolicyMapping": [
                {
                  "clientId": "<string>",
                  "policyId": "<string>"
                }
              ],
              "issuer": "<string>"
            }
          ],
          "scopes": {
            "claimName": "<string>",
            "scopeToPolicyMapping": [
              {
                "policyId": "<string>",
                "scope": "<string>"
              }
            ]
          },
          "segregateByClientId": true
        },
        "securitySchemes": {},
        "stripAuthorizationData": true
      },
      "clientCertificates": {
        "allowlist": [
          "<string>"
        ],
        "enabled": true
      },
      "customDomain": {
        "certificates": [
          "<string>"
        ],
        "enabled": true,
        "name": "<string>"
      },
      "detailedActivityLogs": {
        "enabled": true
      },
      "detailedTracing": {
        "enabled": true
      },
      "eventHandlers": [
        {
          "enabled": true,
          "id": "<string>",
          "name": "<string>",
          "trigger": "<string>",
          "type": "<string>"
        }
      ],
      "gatewayTags": {
        "enabled": true,
        "tags": [
          "<string>"
        ]
      },
      "listenPath": {
        "strip": true,
        "value": "<string>"
      }
    },
    "upstream": {
      "certificatePinning": {
        "domainToPublicKeysMapping": [
          {
            "domain": "<string>",
            "publicKeys": [
              "<string>"
            ]
          }
        ],
        "enabled": true
      },
      "mutualTLS": {
        "domainToCertificateMapping": [
          {
            "certificate": "<string>",
            "domain": "<string>"
          }
        ],
        "enabled": true
      },
      "rateLimit": {
        "enabled": true,
        "per": "PT2H30M15S",
        "rate": 123
      },
      "serviceDiscovery": {
        "cache": {
          "enabled": true,
          "timeout": 123
        },
        "cacheTimeout": 123,
        "dataPath": "<string>",
        "enabled": true,
        "endpointReturnsList": true,
        "parentDataPath": "<string>",
        "portDataPath": "<string>",
        "queryEndpoint": "<string>",
        "targetPath": "<string>",
        "useNestedQuery": true,
        "useTargetList": true
      },
      "test": {
        "serviceDiscovery": {
          "cache": {
            "enabled": true,
            "timeout": 123
          },
          "cacheTimeout": 123,
          "dataPath": "<string>",
          "enabled": true,
          "endpointReturnsList": true,
          "parentDataPath": "<string>",
          "portDataPath": "<string>",
          "queryEndpoint": "<string>",
          "targetPath": "<string>",
          "useNestedQuery": true,
          "useTargetList": true
        }
      },
      "url": "<string>"
    }
  }
}

Authorizations

Authorization
string
header
required

The Tyk Dashboard API Access Credentials

Query Parameters

templateID
string

The Asset ID of template applied while creating or importing an OAS API.

base_api_id
string

The base API which the new version will be linked to.

base_api_version_name
string

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.

new_version_name
string

The version name of the created version.

set_default
boolean

If true, the new version is set as default version.

upstreamURL
string

Upstream URL for the API.

listenPath
string

Listen path for the API.

customDomain
string

Custom domain for the API.

allowList
boolean

Enable allowList middleware for all endpoints.

Example:

true

validateRequest
boolean

Enable validateRequest middleware for all endpoints having a request body with media type application/json.

Example:

true

mockResponse
boolean

Enable mockResponse middleware for all endpoints having responses configured.

Example:

true

authentication
boolean

Enable/disable the authentication mechanism in your Tyk Gateway for your OAS API.

Example:

true

Body

application/json
oas
object
tyk_oas
object

Response

Success.

x-tyk-api-gateway
object