curl --request PATCH \
--url https://{tenant}/api/apis/streams/{apiId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"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-streaming": {
"streams": {}
}
}
'{
"Message": "API updated",
"Meta": null,
"Status": "OK"
}Update a Tyk Streams API. You can use this endpoint to update the OAS part of your Tyk Streams API definition. This endpoint allows you to configure the Tyk OAS extension based on the query parameters provided (similar to import).
curl --request PATCH \
--url https://{tenant}/api/apis/streams/{apiId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"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-streaming": {
"streams": {}
}
}
'{
"Message": "API updated",
"Meta": null,
"Status": "OK"
}The Tyk Dashboard API Access Credentials
Content type for streams endpoints should be application/vnd.tyk.streams.oas
application/vnd.tyk.streams.oas ID of the API you want to patch.
Listen path for the API.
Custom domain for the API.
Enable allowList middleware for all endpoints.
true
Enable validateRequest middleware for all endpoints having a request body with media type application/json.
true
Enable mockResponse middleware for all endpoints having responses configured.
true
Enable/disable the authentication mechanism in your Tyk Gateway for your OAS API.
true
The content of the file should be the OpenAPI document in JSON format.
Was this page helpful?