curl --request POST \
--url https://{tenant}/api/apis/streams \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
}
}
},
"info": {
"description": "This is a sample Streams API.",
"title": "Streams Sample",
"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-six/"
}
},
"upstream": {
"url": "https://localhost:8080"
}
},
"x-tyk-streaming": {
"streams": {
"stream1": {
"input": {
"kafka": {
"addresses": [
"localhost:9093"
],
"auto_replay_nacks": true,
"checkpoint_limit": 1024,
"consumer_group": "group1",
"target_version": "3.3.0",
"topics": [
"instrument.json.AMZN",
"instrument.json.GOOG"
]
}
},
"output": {
"broker": {
"outputs": [
{
"stdout": {
"codec": "lines"
}
},
{
"http_server": {
"allowed_verbs": [
"GET"
],
"path": "/one",
"stream_path": "/sse",
"ws_path": "/ws"
}
}
],
"pattern": "fan_out"
}
}
}
}
}
}
'{
"ID": "4c1c0d8fc885401053ddac4e39ef676b",
"Message": "API created",
"Meta": "665597e0b646b300011acb69",
"Status": "OK"
}Create a Streams API Definition in Tyk OAS API format.
Note that the response includes the newly created Tyk Streams API Definition containing the unique identifier for the API (ID). You can provide a value for ID in the request body, otherwise Tyk will automatically generate a value.
curl --request POST \
--url https://{tenant}/api/apis/streams \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "The API Access Credentials",
"scheme": "bearer",
"type": "http"
}
}
},
"info": {
"description": "This is a sample Streams API.",
"title": "Streams Sample",
"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-six/"
}
},
"upstream": {
"url": "https://localhost:8080"
}
},
"x-tyk-streaming": {
"streams": {
"stream1": {
"input": {
"kafka": {
"addresses": [
"localhost:9093"
],
"auto_replay_nacks": true,
"checkpoint_limit": 1024,
"consumer_group": "group1",
"target_version": "3.3.0",
"topics": [
"instrument.json.AMZN",
"instrument.json.GOOG"
]
}
},
"output": {
"broker": {
"outputs": [
{
"stdout": {
"codec": "lines"
}
},
{
"http_server": {
"allowed_verbs": [
"GET"
],
"path": "/one",
"stream_path": "/sse",
"ws_path": "/ws"
}
}
],
"pattern": "fan_out"
}
}
}
}
}
}
'{
"ID": "4c1c0d8fc885401053ddac4e39ef676b",
"Message": "API created",
"Meta": "665597e0b646b300011acb69",
"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 Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?