Streamvisor Docs
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

API Reference

The Streamvisor REST API allows you to manage both platform resources, such as users and environments, as well as Pulsar resources, such as topics and subscriptions.

The endpoints and their respective documentation are described using the Open API specification and can be viewed using the included Swagger UI.

Accessing the Open API specification

The Swagger UI can be found under /api/docs of your deployment host.

E.g. http://localhost:8888/api/docs

From the UI, you can also download the Open API specification by clicking on the link below the Streamvisor API header.
This allows you to import the API endpoints into other tools like Postman.

Swagger UI

Generate an access token

To start using the API, generate an access token by creating a Service Account.

Example request

In order to access secured Streamvisor API endpoints, you need to include a valid access token by setting an Authorization header with the value set to Bearer <Service account access token>.

Furthermore, requests that are scoped to an environment, like retrieving the list of tenants, need to provide this information by setting an environment header with the value set to the name of the environment you want to use.

The following example shows how to retrieve the list of users with their respective groups and permissions:

curl -X GET http://localhost:8888/api/v1/users -H "Authorization: Bearer <Service account access token>"
[
    {
        "name": "admin@example.com",
        "groups": [
            "admin"
        ],
        "permissions": [
            "*·Streamvisor_ManageEnv·*",
            "*·Streamvisor_ManageUsers·*",
            "*·Tenant_Create·*",
            "*·Tenant_Delete·*",
            "*·Namespace_Create·*/*",
            "*·Namespace_Delete·*/*",
            "*·Topic_View·*/*/*",
            "*·Topic_Create·*/*/*",
            "*·Topic_Delete·*/*/*",
            "*·Topic_Unload·*/*/*",
            "*·Topic_ChangePartitions·*/*/*",
            "*·Topic_Consume·*/*/*",
            "*·Topic_Produce·*/*/*",
            "*·Topic_CreateSubscription·*/*/*",
            "*·Topic_DeleteSubscription·*/*/*",
            "*·Topic_EditSubscription·*/*/*",
            "*·Topic_ViewSchema·*/*/*",
            "*·Topic_CreateSchema·*/*/*",
            "*·Topic_DeleteSchema·*/*/*"
        ]
    }
]