invinite-api
Typed Python client for the Invinite Web API — the
workspace REST API at api.invinite.com. It is generated from the same endpoint
registry that powers the REST API and the inv CLI, so its request and response
models always match the reference.
The client is built on urllib3 + pydantic and imports as invinite_api.
The generated surface includes the curated team activity stream and its full-fidelity per-entity history, plus alert fire-history time ranges, per-alert events, and summary counts.
Install
pip install invinite-api
Authentication
Create a Configuration with your invw_ Web API token as the access token.
The client sends it as an Authorization: Bearer <token> header on every
request.
import invinite_api
config = invinite_api.Configuration(access_token=token)
Team-scoped endpoints take the team as a per-method x_team_id argument — not a
global default header.
Quickstart
Configure the client, call users/me to discover your team id, then make a
team-scoped list call.
import invinite_api
from invinite_api import UsersApi, WorkspaceApi
config = invinite_api.Configuration(access_token=token)
with invinite_api.ApiClient(config) as client:
# 1. Find the team to operate on.
me = UsersApi(client).users_me()
team_id = me.data.teams[0].id
# 2. Make a team-scoped list call.
spaces = WorkspaceApi(client).spaces_list(x_team_id=team_id, limit=50)
for space in spaces.data.items:
print(space)
Pagination
List methods return data.items plus data.next_cursor. Pass the cursor back
on the next call until it is None.
api = WorkspaceApi(client)
cursor = None
while True:
page = api.spaces_list(x_team_id=team_id, limit=50, cursor=cursor)
for space in page.data.items:
pass # process space ...
cursor = page.data.next_cursor
if cursor is None:
break
Error handling
On a non-2xx response the client raises ApiException (with per-status
subclasses). Inspect error.status and parse the standard
{ "ok": false, "error": ..., "code": ... } envelope from error.body:
import json
from invinite_api.exceptions import ApiException
try:
WorkspaceApi(client).spaces_list(x_team_id=team_id)
except ApiException as error:
body = json.loads(error.body) # { "ok": false, "error": ..., "code": ... }
print(error.status, body["code"], body["error"])
Regeneration
This client is a generated artifact. If an endpoint's types look wrong, the fix
belongs in the endpoint registry rather than in hand-written client code —
regenerating re-derives every model from the schema. Releases are published on
sdk-v* tags.
Links
Metadata
Release files for invinite-api 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| invinite_api-0.5.0.tar.gz | 354.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| invinite_api-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / invinite_api-0.5.0.tar.gz
| Download URL | invinite_api-0.5.0.tar.gz |
|---|---|
| Size | 354.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac4c8505d164157b2d695e829eeee8f337beec4cafeeb2b01db9583f68780ca0
|
|
BLAKE2b-256 checksum How to use checksums |
62ec524bdce1a3b52f8253ac631bc210185bfa7acb19298f0e029eee764385f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logRelease files / invinite_api-0.5.0-py3-none-any.whl
| Download URL | invinite_api-0.5.0-py3-none-any.whl |
|---|---|
| Size | 1.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6f0c124b4493ea08c28e9605dd9d6396e376c554f13ba2479fd75f6698b752d8
|
|
BLAKE2b-256 checksum How to use checksums |
8bb9ab9102371a2b4a9b386613e8b1e062b034729e591307db43ec0901e8d275
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logSecurity for invinite-api 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for invinite_api-0.5.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.