Skip to main content

Invinite Web API

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

invinite_api-0.3.0.tar.gz (274.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

invinite_api-0.3.0-py3-none-any.whl (777.9 kB view details)

Uploaded Python 3

File details

Details for the file invinite_api-0.3.0.tar.gz.

File metadata

  • Download URL: invinite_api-0.3.0.tar.gz
  • Upload date:
  • Size: 274.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for invinite_api-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d11ee10d8c7948ea42464f6d7a5b0ee574b9230764b5ace8bc7a0e6146a8f416
MD5 701abf7791ec369bf6351975981ac9e1
BLAKE2b-256 e89d1a7045c39188f70b62a1bcb8416fbd08255e56ec36e88353ace126128e3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for invinite_api-0.3.0.tar.gz:

Publisher: publish-sdk.yml on outraday-org/invinite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file invinite_api-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: invinite_api-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 777.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for invinite_api-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 11c6cd10cc0cbde5beb97ad0174c222f191edd4d8028e8bc6d7cc2c029f9550e
MD5 7a1ffba0bd6b6d3f93ab7e3d2685f27c
BLAKE2b-256 67370a93e837ca51771f104609007dd7abc0b2424ac45deb0e374d972a066f2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for invinite_api-0.3.0-py3-none-any.whl:

Publisher: publish-sdk.yml on outraday-org/invinite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page