Skip to main content

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 WorkspaceApi, CompaniesListsApi

config = invinite_api.Configuration(access_token=token)

with invinite_api.ApiClient(config) as client:
    # 1. Find the team to operate on.
    me = WorkspaceApi(client).users_me()
    team_id = me.data.teams[0].id

    # 2. Make a team-scoped list call.
    lists = CompaniesListsApi(client).company_lists_list(x_team_id=team_id, limit=50)

    for company_list in lists.data.items:
        print(company_list)

Pagination

List methods return data.items plus data.next_cursor. Pass the cursor back on the next call until it is None.

api = CompaniesListsApi(client)
cursor = None
while True:
    page = api.company_lists_list(x_team_id=team_id, limit=50, cursor=cursor)
    for company_list in page.data.items:
        pass  # process company_list ...
    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:
    CompaniesListsApi(client).company_lists_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.

Metadata

Release files for invinite-api 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for invinite-api 0.8.0
File Size Uploaded Provenance
invinite_api-0.8.0.tar.gz 1.6 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for invinite-api 0.8.0
File Interpreter ABI Platform
invinite_api-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.6 MB

Release files / invinite_api-0.8.0.tar.gz

Download URL invinite_api-0.8.0.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
6886f38dc3f3c73c5b043e9e92064bc0df165fc14b2d378f7ca2adb21cb771d1
BLAKE2b-256 checksum
How to use checksums
298f899f7a20f43d9f549db938f4458ea98204d55357ac5cc9b4512af06d2699
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / invinite_api-0.8.0-py3-none-any.whl

Download URL invinite_api-0.8.0-py3-none-any.whl
Size 4.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
54de24cae97656b1c408ee071de73d4dcda136f2c4adb3c4cbba8fc4018f768f
BLAKE2b-256 checksum
How to use checksums
3c38eeae61242775ece000a0711cb9c0e809c34cd91b0db1490f452eb7c66f95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for invinite-api 0.8.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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page