Noveum docs
ProductsIntegrations and APIsAPIs and agent toolsNoveum API client

Noveum API client

Install the noveum-sdk platform API client, make a read-only request, and keep it separate from noveum-trace instrumentation.

Use noveum-sdk when trusted server-side Python code needs to call the Noveum platform API. Use the separate noveum-trace package to instrument an application and send trace telemetry.

The published noveum-sdk==1.1.0 wheel was clean-installed and imported with Python 3.12 on August 10, 2026. Its package metadata requires Python 3.10 or later. The installed module name is noveum_api_client, not noveum_sdk.

The published package was also checked for client construction, read-only request shape, response shape, and transport-error behavior with httpx.MockTransport. Those checks do not execute the live-request fence below, make a live Noveum API request, or validate organization data or credentials. Validate the client with your pinned application dependencies before rollout.

Install and import

Create or activate a virtual environment, then install the pinned package:

Code
python -m pip install "noveum-sdk==1.1.0"

Verify the two public client imports without printing a credential:

Code
python -c "from noveum_api_client import Client, NoveumClient; print('imports ok')"

Make a read-only request

Store an organization API key in a server-side environment or secret manager. The following live-request fragment lists at most five datasets and closes the underlying HTTP client even when the request fails. Validate it against your organization's API in a non-production environment before using it in automation:

Code
import os

import httpx
from noveum_api_client import NoveumClient


def main() -> None:
    with NoveumClient(api_key=os.environ["NOVEUM_API_KEY"]) as client:
        try:
            result = client.list_datasets(limit=5)
        except httpx.HTTPError as error:
            raise RuntimeError("The Noveum API request could not be completed") from error

    status_code = int(result["status_code"])
    if status_code >= 400:
        raise RuntimeError(f"Noveum API returned HTTP {status_code}")

    print(f"Dataset request completed with HTTP {status_code}")


if __name__ == "__main__":
    main()

Run it after setting the key:

Code
export NOVEUM_API_KEY="your-noveum-api-key"
python list_datasets.py

The example is non-destructive. It sends GET /api/v1/datasets with an Authorization: Bearer <key> header.

Read the response and errors

The high-level 1.1.0 methods return a dictionary with these keys:

KeyShape
status_codeAn HTTPStatus value; convert it with int(...) for numeric comparisons
dataThe generated client's parsed response, or None when that operation has no generated response model
headersA plain dictionary of response headers

Version 1.1.0 does not raise automatically for an HTTP error response in these high-level methods, so check status_code. Network, TLS, timeout, and connection failures surface as httpx.HTTPError subclasses. Do not log the client object, request headers, or exception details in a way that could expose the API key.

Keep platform access separate from tracing

TaskPackage or interface
Call the Noveum platform API from server-side Pythonnoveum-sdk and noveum_api_client
Instrument an application and send tracesnoveum-trace
Inspect the HTTP contract or use another languageOpenAPI REST reference

An API key's access follows its assigned organization role. Review roles and permissions, start with read-only calls, and keep keys out of browser code, mobile apps, repositories, screenshots, logs, and shared notebooks.

Troubleshooting

  • ModuleNotFoundError: noveum_api_client: confirm the active interpreter is the same one used for python -m pip install "noveum-sdk==1.1.0".
  • 401 or 403: confirm the key is current, belongs to the intended organization, and has permission for the requested resource.
  • data is None after a successful response: the generated 1.1.0 operation may not define a parsed response model. Use status_code and the REST reference to confirm the endpoint contract.

Next steps