Skip to main content

TMI (Threat Modeling Improved) API

Project description

tmi-client

A RESTful API for collaborative threat modeling with full X6 graph library compatibility. This API provides schemas that align with AntV X6 cell object models for seamless integration with modern diagramming libraries. Supports OAuth 2.0 authentication with client callback integration for seamless single-page application authentication flows.

API Design v1.1.0

Authorization Model

TMI uses hierarchical authorization: access control is defined at the ThreatModel level via the authorization field (readers, writers, owners). All child resources (Assets, Diagrams, Documents, Notes, Repositories, Threats) inherit permissions from their parent ThreatModel. This simplifies permission management and ensures consistent access control.

Bulk Operations

Notes and Diagrams do not support bulk operations due to their unique creation workflows and lack of valid bulk use cases. All other resources (Threats, Assets, Documents, Repositories) support full bulk operations: POST (create), PUT (upsert), PATCH (partial update), DELETE (batch delete).

All resources support bulk metadata operations regardless of resource-level bulk support.

List Response Strategy

  • ThreatModels return summary information (TMListItem) because they contain many child objects that can be large.
  • Diagrams return summary information (DiagramListItem) because diagram data (cells, images) can be large.
  • Notes return summary information (NoteListItem) because the content field can be large.
  • Threats, Assets, Documents, Repositories return full schemas as they are relatively small and static.

PATCH Support

All resources support PATCH for partial updates using JSON Patch (RFC 6902). This is particularly useful for:

  • Assets: Array field updates (affected_assets, trust_boundaries) ensuring no duplicates
  • Notes: Updating name/description without changing content field
  • All resources: Efficient updates without full object replacement

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.4.0
  • Package version: 1.4.0
  • Build date: 2026-04-15T12:50:04.650344-04:00[America/New_York]
  • Generator version: 7.21.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://github.com/ericfitz/tmi

Requirements.

Python 3.9+

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/ericfitz/tmi-clients.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/ericfitz/tmi-clients.git)

Then import the package:

import tmi_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import tmi_client

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

import tmi_client
from tmi_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.tmi.dev
# See configuration.py for a list of all supported configuration parameters.
configuration = tmi_client.Configuration(
    host = "https://api.tmi.dev"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization (JWT): bearerAuth
configuration = tmi_client.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with tmi_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = tmi_client.AddonsApi(api_client)
    create_addon_request = tmi_client.CreateAddonRequest() # CreateAddonRequest | Addon registration details

    try:
        # Create add-on
        api_response = api_instance.create_addon(create_addon_request)
        print("The response of AddonsApi->create_addon:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AddonsApi->create_addon: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.tmi.dev

Class Method HTTP request Description
AddonsApi create_addon POST /addons Create add-on
AddonsApi delete_addon DELETE /addons/{id} Delete add-on
AddonsApi get_addon GET /addons/{id} Get add-on
AddonsApi invoke_addon POST /addons/{id}/invoke Invoke add-on
AddonsApi list_addons GET /addons List add-ons
AdminUsersApi create_admin_user_client_credential POST /admin/users/{internal_uuid}/client_credentials Create a client credential for an automation user
AdminUsersApi create_automation_account POST /admin/users/automation Create an automation (service) account
AdminUsersApi delete_admin_user_client_credential DELETE /admin/users/{internal_uuid}/client_credentials/{credential_id} Delete a client credential for an automation user
AdminUsersApi list_admin_user_client_credentials GET /admin/users/{internal_uuid}/client_credentials List client credentials for an automation user
AdministrationApi add_group_member POST /admin/groups/{internal_uuid}/members Add member to group
AdministrationApi create_admin_group POST /admin/groups Create TMI built-in group
AdministrationApi delete_addon_invocation_quota DELETE /admin/quotas/addons/{user_id} Delete addon invocation quota
AdministrationApi delete_admin_group DELETE /admin/groups/{internal_uuid} Delete group
AdministrationApi delete_admin_user DELETE /admin/users/{internal_uuid} Delete user
AdministrationApi delete_system_setting DELETE /admin/settings/{key} Delete system setting
AdministrationApi delete_user_api_quota DELETE /admin/quotas/users/{user_id} Delete user API quota
AdministrationApi delete_webhook_quota DELETE /admin/quotas/webhooks/{user_id} Delete webhook quota
AdministrationApi get_addon_invocation_quota GET /admin/quotas/addons/{user_id} Get addon invocation quota
AdministrationApi get_admin_group GET /admin/groups/{internal_uuid} Get group details
AdministrationApi get_admin_user GET /admin/users/{internal_uuid} Get user details
AdministrationApi get_system_setting GET /admin/settings/{key} Get system setting
AdministrationApi get_user_api_quota GET /admin/quotas/users/{user_id} Get user API quota
AdministrationApi get_webhook_quota GET /admin/quotas/webhooks/{user_id} Get webhook quota
AdministrationApi list_addon_invocation_quotas GET /admin/quotas/addons List all addon invocation quotas
AdministrationApi list_admin_groups GET /admin/groups List groups
AdministrationApi list_admin_users GET /admin/users List users
AdministrationApi list_group_members GET /admin/groups/{internal_uuid}/members List group members
AdministrationApi list_system_settings GET /admin/settings List system settings
AdministrationApi list_user_api_quotas GET /admin/quotas/users List all user API quotas
AdministrationApi list_webhook_quotas GET /admin/quotas/webhooks List all webhook quotas
AdministrationApi reencrypt_system_settings POST /admin/settings/reencrypt Re-encrypt all system settings
AdministrationApi remove_group_member DELETE /admin/groups/{internal_uuid}/members/{member_uuid} Remove member from group
AdministrationApi transfer_admin_user_ownership POST /admin/users/{internal_uuid}/transfer Transfer user ownership to another user
AdministrationApi update_addon_invocation_quota PUT /admin/quotas/addons/{user_id} Update addon invocation quota
AdministrationApi update_admin_group PATCH /admin/groups/{internal_uuid} Update group metadata
AdministrationApi update_admin_user PATCH /admin/users/{internal_uuid} Update user metadata
AdministrationApi update_system_setting PUT /admin/settings/{key} Update system setting
AdministrationApi update_user_api_quota PUT /admin/quotas/users/{user_id} Update user API quota
AdministrationApi update_webhook_quota PUT /admin/quotas/webhooks/{user_id} Update webhook quota
AssetsApi patch_threat_model_asset PATCH /threat_models/{threat_model_id}/assets/{asset_id} Partially update asset
AuditTrailApi get_asset_audit_trail GET /threat_models/{threat_model_id}/assets/{asset_id}/audit_trail List audit trail for an asset
AuditTrailApi get_audit_entry GET /threat_models/{threat_model_id}/audit_trail/{entry_id} Get a single audit trail entry
AuditTrailApi get_diagram_audit_trail GET /threat_models/{threat_model_id}/diagrams/{diagram_id}/audit_trail List audit trail for a diagram
AuditTrailApi get_document_audit_trail GET /threat_models/{threat_model_id}/documents/{document_id}/audit_trail List audit trail for a document
AuditTrailApi get_note_audit_trail GET /threat_models/{threat_model_id}/notes/{note_id}/audit_trail List audit trail for a note
AuditTrailApi get_repository_audit_trail GET /threat_models/{threat_model_id}/repositories/{repository_id}/audit_trail List audit trail for a repository
AuditTrailApi get_threat_audit_trail GET /threat_models/{threat_model_id}/threats/{threat_id}/audit_trail List audit trail for a threat
AuditTrailApi get_threat_model_audit_trail GET /threat_models/{threat_model_id}/audit_trail List audit trail for a threat model and all sub-objects
AuditTrailApi rollback_to_version POST /threat_models/{threat_model_id}/audit_trail/{entry_id}/rollback Rollback an entity to a previous version
AuthenticationApi authorize_o_auth_provider GET /oauth2/authorize Initiate OAuth authorization flow
AuthenticationApi create_current_user_client_credential POST /me/client_credentials Create client credential
AuthenticationApi delete_current_user_client_credential DELETE /me/client_credentials/{credential_id} Delete client credential
AuthenticationApi exchange_o_auth_code POST /oauth2/token Exchange OAuth credentials for JWT tokens
AuthenticationApi get_auth_providers GET /oauth2/providers List available OAuth providers
AuthenticationApi get_current_user GET /oauth2/userinfo Get current user information
AuthenticationApi get_current_user_profile GET /me Get current user profile
AuthenticationApi get_provider_groups GET /oauth2/providers/{idp}/groups Get groups for identity provider
AuthenticationApi get_saml_metadata GET /saml/{provider}/metadata Get SAML service provider metadata
AuthenticationApi get_saml_providers GET /saml/providers List available SAML providers
AuthenticationApi handle_o_auth_callback GET /oauth2/callback Handle OAuth callback
AuthenticationApi initiate_saml_login GET /saml/{provider}/login Initiate SAML authentication
AuthenticationApi introspect_token POST /oauth2/introspect Token Introspection
AuthenticationApi list_current_user_client_credentials GET /me/client_credentials List client credentials
AuthenticationApi list_my_group_members GET /me/groups/{internal_uuid}/members List members of my group
AuthenticationApi list_my_groups GET /me/groups List my groups
AuthenticationApi process_saml_logout GET /saml/slo SAML Single Logout
AuthenticationApi process_saml_logout_post POST /saml/slo SAML Single Logout (POST)
AuthenticationApi process_saml_response POST /saml/acs SAML Assertion Consumer Service
AuthenticationApi refresh_token POST /oauth2/refresh Refresh JWT token
AuthenticationApi revoke_token POST /oauth2/revoke Revoke token
CollaborationApi create_diagram_collaboration_session POST /threat_models/{threat_model_id}/diagrams/{diagram_id}/collaborate Create diagram collaboration session
CollaborationApi end_diagram_collaboration_session DELETE /threat_models/{threat_model_id}/diagrams/{diagram_id}/collaborate End diagram collaboration session
CollaborationApi get_current_user_sessions GET /me/sessions List active collaboration sessions
CollaborationApi get_diagram_collaboration_session GET /threat_models/{threat_model_id}/diagrams/{diagram_id}/collaborate Get diagram collaboration session
ConfigurationApi get_client_config GET /config Get client configuration
DocumentsApi patch_threat_model_document PATCH /threat_models/{threat_model_id}/documents/{document_id} Partially update document
DocumentsApi request_document_access POST /threat_models/{threat_model_id}/documents/{document_id}/request_access Request document access
EmbeddingAutomationApi delete_embeddings DELETE /automation/embeddings/{threat_model_id} Delete embeddings
EmbeddingAutomationApi get_embedding_config GET /automation/embeddings/{threat_model_id}/config Get embedding provider configuration
EmbeddingAutomationApi ingest_embeddings POST /automation/embeddings/{threat_model_id} Ingest pre-computed embeddings
GeneralApi get_api_info GET / Get API information
NotesApi patch_threat_model_note PATCH /threat_models/{threat_model_id}/notes/{note_id} Partially update note
OAuthDiscoveryApi get_o_auth_protected_resource_metadata GET /.well-known/oauth-protected-resource OAuth 2.0 Protected Resource Metadata
OIDCDiscoveryApi get_jwks GET /.well-known/jwks.json JSON Web Key Set
OIDCDiscoveryApi get_o_auth_authorization_server_metadata GET /.well-known/oauth-authorization-server OAuth 2.0 Authorization Server Metadata
OIDCDiscoveryApi get_open_id_configuration GET /.well-known/openid-configuration OpenID Connect Discovery Configuration
ProjectsApi bulk_create_project_metadata POST /projects/{project_id}/metadata/bulk Bulk create project metadata
ProjectsApi bulk_replace_project_metadata PUT /projects/{project_id}/metadata/bulk Bulk replace project metadata
ProjectsApi bulk_upsert_project_metadata PATCH /projects/{project_id}/metadata/bulk Bulk upsert project metadata
ProjectsApi create_project POST /projects Create a project
ProjectsApi create_project_metadata POST /projects/{project_id}/metadata Create project metadata
ProjectsApi create_project_note POST /projects/{project_id}/notes Create a new project note
ProjectsApi delete_project DELETE /projects/{project_id} Delete a project
ProjectsApi delete_project_metadata DELETE /projects/{project_id}/metadata/{key} Delete project metadata
ProjectsApi delete_project_note DELETE /projects/{project_id}/notes/{project_note_id} Delete a project note
ProjectsApi get_project GET /projects/{project_id} Get a project
ProjectsApi get_project_metadata GET /projects/{project_id}/metadata Get project metadata
ProjectsApi get_project_note GET /projects/{project_id}/notes/{project_note_id} Get a specific project note
ProjectsApi list_project_notes GET /projects/{project_id}/notes List notes in a project
ProjectsApi list_projects GET /projects List projects
ProjectsApi patch_project PATCH /projects/{project_id} Patch a project
ProjectsApi patch_project_note PATCH /projects/{project_id}/notes/{project_note_id} Partially update a project note
ProjectsApi update_project PUT /projects/{project_id} Update a project
ProjectsApi update_project_metadata PUT /projects/{project_id}/metadata/{key} Update project metadata
ProjectsApi update_project_note PUT /projects/{project_id}/notes/{project_note_id} Update a project note
RepositoriesApi patch_threat_model_repository PATCH /threat_models/{threat_model_id}/repositories/{repository_id} Partially update repository
SAMLApi list_saml_users GET /saml/providers/{idp}/users List SAML users for UI autocomplete
SurveyAdministrationApi bulk_create_admin_survey_metadata POST /admin/surveys/{survey_id}/metadata/bulk Bulk create metadata for a survey
SurveyAdministrationApi bulk_replace_admin_survey_metadata PUT /admin/surveys/{survey_id}/metadata/bulk Bulk replace metadata for a survey
SurveyAdministrationApi bulk_upsert_admin_survey_metadata PATCH /admin/surveys/{survey_id}/metadata/bulk Bulk upsert metadata for a survey
SurveyAdministrationApi create_admin_survey POST /admin/surveys Create a survey
SurveyAdministrationApi create_admin_survey_metadata POST /admin/surveys/{survey_id}/metadata Add metadata to a survey
SurveyAdministrationApi delete_admin_survey DELETE /admin/surveys/{survey_id} Delete a survey
SurveyAdministrationApi delete_admin_survey_metadata_by_key DELETE /admin/surveys/{survey_id}/metadata/{key} Delete metadata by key for a survey
SurveyAdministrationApi get_admin_survey GET /admin/surveys/{survey_id} Get a survey
SurveyAdministrationApi get_admin_survey_metadata GET /admin/surveys/{survey_id}/metadata Get all metadata for a survey
SurveyAdministrationApi get_admin_survey_metadata_by_key GET /admin/surveys/{survey_id}/metadata/{key} Get metadata by key for a survey
SurveyAdministrationApi list_admin_surveys GET /admin/surveys List surveys
SurveyAdministrationApi patch_admin_survey PATCH /admin/surveys/{survey_id} Partially update a survey
SurveyAdministrationApi update_admin_survey PUT /admin/surveys/{survey_id} Update a survey
SurveyAdministrationApi update_admin_survey_metadata_by_key PUT /admin/surveys/{survey_id}/metadata/{key} Update metadata by key for a survey
SurveyIntakeApi bulk_create_intake_survey_response_metadata POST /intake/survey_responses/{survey_response_id}/metadata/bulk Bulk create metadata for a survey response
SurveyIntakeApi bulk_replace_intake_survey_response_metadata PUT /intake/survey_responses/{survey_response_id}/metadata/bulk Bulk replace metadata for a survey response
SurveyIntakeApi bulk_upsert_intake_survey_response_metadata PATCH /intake/survey_responses/{survey_response_id}/metadata/bulk Bulk upsert metadata for a survey response
SurveyIntakeApi create_intake_survey_response POST /intake/survey_responses Create survey response
SurveyIntakeApi create_intake_survey_response_metadata POST /intake/survey_responses/{survey_response_id}/metadata Add metadata to a survey response
SurveyIntakeApi delete_intake_survey_response DELETE /intake/survey_responses/{survey_response_id} Delete survey response
SurveyIntakeApi delete_intake_survey_response_metadata_by_key DELETE /intake/survey_responses/{survey_response_id}/metadata/{key} Delete metadata by key for a survey response
SurveyIntakeApi get_intake_survey GET /intake/surveys/{survey_id} Get an available survey
SurveyIntakeApi get_intake_survey_response GET /intake/survey_responses/{survey_response_id} Get survey response
SurveyIntakeApi get_intake_survey_response_metadata GET /intake/survey_responses/{survey_response_id}/metadata Get all metadata for a survey response
SurveyIntakeApi get_intake_survey_response_metadata_by_key GET /intake/survey_responses/{survey_response_id}/metadata/{key} Get metadata by key for a survey response
SurveyIntakeApi get_intake_survey_response_triage_note GET /intake/survey_responses/{survey_response_id}/triage_notes/{triage_note_id} Get a specific triage note
SurveyIntakeApi list_intake_survey_response_triage_notes GET /intake/survey_responses/{survey_response_id}/triage_notes List triage notes for a survey response
SurveyIntakeApi list_intake_survey_responses GET /intake/survey_responses List user's survey responses
SurveyIntakeApi list_intake_surveys GET /intake/surveys List available surveys
SurveyIntakeApi patch_intake_survey_response PATCH /intake/survey_responses/{survey_response_id} Partial update survey response
SurveyIntakeApi update_intake_survey_response PUT /intake/survey_responses/{survey_response_id} Update survey response
SurveyIntakeApi update_intake_survey_response_metadata_by_key PUT /intake/survey_responses/{survey_response_id}/metadata/{key} Update metadata by key for a survey response
SurveyTriageApi create_threat_model_from_survey_response POST /triage/survey_responses/{survey_response_id}/create_threat_model Create threat model from survey response
SurveyTriageApi create_triage_survey_response_triage_note POST /triage/survey_responses/{survey_response_id}/triage_notes Create a triage note
SurveyTriageApi get_triage_survey_response GET /triage/survey_responses/{survey_response_id} Get survey response for triage
SurveyTriageApi get_triage_survey_response_metadata GET /triage/survey_responses/{survey_response_id}/metadata Get all metadata for a survey response
SurveyTriageApi get_triage_survey_response_metadata_by_key GET /triage/survey_responses/{survey_response_id}/metadata/{key} Get metadata by key for a survey response
SurveyTriageApi get_triage_survey_response_triage_note GET /triage/survey_responses/{survey_response_id}/triage_notes/{triage_note_id} Get a specific triage note
SurveyTriageApi list_triage_survey_response_triage_notes GET /triage/survey_responses/{survey_response_id}/triage_notes List triage notes for a survey response
SurveyTriageApi list_triage_survey_responses GET /triage/survey_responses List survey responses for triage
SurveyTriageApi patch_triage_survey_response PATCH /triage/survey_responses/{survey_response_id} Partial update survey response for triage
TeamsApi bulk_create_team_metadata POST /teams/{team_id}/metadata/bulk Bulk create team metadata
TeamsApi bulk_replace_team_metadata PUT /teams/{team_id}/metadata/bulk Bulk replace team metadata
TeamsApi bulk_upsert_team_metadata PATCH /teams/{team_id}/metadata/bulk Bulk upsert team metadata
TeamsApi create_team POST /teams Create a team
TeamsApi create_team_metadata POST /teams/{team_id}/metadata Create team metadata
TeamsApi create_team_note POST /teams/{team_id}/notes Create a new team note
TeamsApi delete_team DELETE /teams/{team_id} Delete a team
TeamsApi delete_team_metadata DELETE /teams/{team_id}/metadata/{key} Delete team metadata
TeamsApi delete_team_note DELETE /teams/{team_id}/notes/{team_note_id} Delete a team note
TeamsApi get_team GET /teams/{team_id} Get a team
TeamsApi get_team_metadata GET /teams/{team_id}/metadata Get team metadata
TeamsApi get_team_note GET /teams/{team_id}/notes/{team_note_id} Get a specific team note
TeamsApi list_team_notes GET /teams/{team_id}/notes List notes in a team
TeamsApi list_teams GET /teams List teams
TeamsApi patch_team PATCH /teams/{team_id} Patch a team
TeamsApi patch_team_note PATCH /teams/{team_id}/notes/{team_note_id} Partially update a team note
TeamsApi update_team PUT /teams/{team_id} Update a team
TeamsApi update_team_metadata PUT /teams/{team_id}/metadata/{key} Update team metadata
TeamsApi update_team_note PUT /teams/{team_id}/notes/{team_note_id} Update a team note
ThreatModelSubResourcesApi bulk_create_diagram_metadata POST /threat_models/{threat_model_id}/diagrams/{diagram_id}/metadata/bulk Bulk create diagram metadata
ThreatModelSubResourcesApi bulk_create_document_metadata POST /threat_models/{threat_model_id}/documents/{document_id}/metadata/bulk Bulk create document metadata
ThreatModelSubResourcesApi bulk_create_note_metadata POST /threat_models/{threat_model_id}/notes/{note_id}/metadata/bulk Bulk create note metadata
ThreatModelSubResourcesApi bulk_create_repository_metadata POST /threat_models/{threat_model_id}/repositories/{repository_id}/metadata/bulk Bulk create source metadata
ThreatModelSubResourcesApi bulk_create_threat_metadata POST /threat_models/{threat_model_id}/threats/{threat_id}/metadata/bulk Bulk create threat metadata
ThreatModelSubResourcesApi bulk_create_threat_model_asset_metadata POST /threat_models/{threat_model_id}/assets/{asset_id}/metadata/bulk Bulk create asset metadata
ThreatModelSubResourcesApi bulk_create_threat_model_assets POST /threat_models/{threat_model_id}/assets/bulk Bulk create assets
ThreatModelSubResourcesApi bulk_create_threat_model_documents POST /threat_models/{threat_model_id}/documents/bulk Bulk create documents
ThreatModelSubResourcesApi bulk_create_threat_model_metadata POST /threat_models/{threat_model_id}/metadata/bulk Bulk create threat model metadata
ThreatModelSubResourcesApi bulk_create_threat_model_repositories POST /threat_models/{threat_model_id}/repositories/bulk Bulk create sources
ThreatModelSubResourcesApi bulk_create_threat_model_threats POST /threat_models/{threat_model_id}/threats/bulk Bulk create threats
ThreatModelSubResourcesApi bulk_replace_diagram_metadata PUT /threat_models/{threat_model_id}/diagrams/{diagram_id}/metadata/bulk Bulk replace diagram metadata
ThreatModelSubResourcesApi bulk_replace_document_metadata PUT /threat_models/{threat_model_id}/documents/{document_id}/metadata/bulk Bulk replace document metadata
ThreatModelSubResourcesApi bulk_replace_note_metadata PUT /threat_models/{threat_model_id}/notes/{note_id}/metadata/bulk Bulk replace note metadata
ThreatModelSubResourcesApi bulk_replace_repository_metadata PUT /threat_models/{threat_model_id}/repositories/{repository_id}/metadata/bulk Bulk replace repository metadata
ThreatModelSubResourcesApi bulk_replace_threat_metadata PUT /threat_models/{threat_model_id}/threats/{threat_id}/metadata/bulk Bulk replace threat metadata
ThreatModelSubResourcesApi bulk_replace_threat_model_asset_metadata PUT /threat_models/{threat_model_id}/assets/{asset_id}/metadata/bulk Bulk replace asset metadata
ThreatModelSubResourcesApi bulk_replace_threat_model_metadata PUT /threat_models/{threat_model_id}/metadata/bulk Bulk replace threat model metadata
ThreatModelSubResourcesApi bulk_update_threat_model_threats PUT /threat_models/{threat_model_id}/threats/bulk Bulk update threats
ThreatModelSubResourcesApi bulk_upsert_diagram_metadata PATCH /threat_models/{threat_model_id}/diagrams/{diagram_id}/metadata/bulk Bulk upsert diagram metadata
ThreatModelSubResourcesApi bulk_upsert_document_metadata PATCH /threat_models/{threat_model_id}/documents/{document_id}/metadata/bulk Bulk upsert document metadata
ThreatModelSubResourcesApi bulk_upsert_note_metadata PATCH /threat_models/{threat_model_id}/notes/{note_id}/metadata/bulk Bulk upsert note metadata
ThreatModelSubResourcesApi bulk_upsert_repository_metadata PATCH /threat_models/{threat_model_id}/repositories/{repository_id}/metadata/bulk Bulk upsert repository metadata
ThreatModelSubResourcesApi bulk_upsert_threat_metadata PATCH /threat_models/{threat_model_id}/threats/{threat_id}/metadata/bulk Bulk upsert threat metadata
ThreatModelSubResourcesApi bulk_upsert_threat_model_asset_metadata PATCH /threat_models/{threat_model_id}/assets/{asset_id}/metadata/bulk Bulk upsert asset metadata
ThreatModelSubResourcesApi bulk_upsert_threat_model_assets PUT /threat_models/{threat_model_id}/assets/bulk Bulk upsert assets
ThreatModelSubResourcesApi bulk_upsert_threat_model_documents PUT /threat_models/{threat_model_id}/documents/bulk Bulk upsert documents
ThreatModelSubResourcesApi bulk_upsert_threat_model_metadata PATCH /threat_models/{threat_model_id}/metadata/bulk Bulk upsert threat model metadata
ThreatModelSubResourcesApi bulk_upsert_threat_model_repositories PUT /threat_models/{threat_model_id}/repositories/bulk Bulk upsert repositories
ThreatModelSubResourcesApi create_diagram_metadata POST /threat_models/{threat_model_id}/diagrams/{diagram_id}/metadata Create diagram metadata
ThreatModelSubResourcesApi create_document_metadata POST /threat_models/{threat_model_id}/documents/{document_id}/metadata Create document metadata
ThreatModelSubResourcesApi create_note_metadata POST /threat_models/{threat_model_id}/notes/{note_id}/metadata Create note metadata
ThreatModelSubResourcesApi create_repository_metadata POST /threat_models/{threat_model_id}/repositories/{repository_id}/metadata Create source metadata
ThreatModelSubResourcesApi create_threat_metadata POST /threat_models/{threat_model_id}/threats/{threat_id}/metadata Create threat metadata
ThreatModelSubResourcesApi create_threat_model_asset POST /threat_models/{threat_model_id}/assets Create a new asset
ThreatModelSubResourcesApi create_threat_model_asset_metadata POST /threat_models/{threat_model_id}/assets/{asset_id}/metadata Add metadata to an asset
ThreatModelSubResourcesApi create_threat_model_diagram POST /threat_models/{threat_model_id}/diagrams Create a new diagram
ThreatModelSubResourcesApi create_threat_model_document POST /threat_models/{threat_model_id}/documents Create a new document
ThreatModelSubResourcesApi create_threat_model_metadata POST /threat_models/{threat_model_id}/metadata Create threat model metadata
ThreatModelSubResourcesApi create_threat_model_note POST /threat_models/{threat_model_id}/notes Create a new note
ThreatModelSubResourcesApi create_threat_model_repository POST /threat_models/{threat_model_id}/repositories Create a new source reference
ThreatModelSubResourcesApi create_threat_model_threat POST /threat_models/{threat_model_id}/threats Create a new threat
ThreatModelSubResourcesApi delete_diagram_metadata_by_key DELETE /threat_models/{threat_model_id}/diagrams/{diagram_id}/metadata/{key} Delete diagram metadata by key
ThreatModelSubResourcesApi delete_document_metadata_by_key DELETE /threat_models/{threat_model_id}/documents/{document_id}/metadata/{key} Delete document metadata by key
ThreatModelSubResourcesApi delete_note_metadata_by_key DELETE /threat_models/{threat_model_id}/notes/{note_id}/metadata/{key} Delete note metadata by key
ThreatModelSubResourcesApi delete_repository_metadata_by_key DELETE /threat_models/{threat_model_id}/repositories/{repository_id}/metadata/{key} Delete source metadata by key
ThreatModelSubResourcesApi delete_threat_metadata_by_key DELETE /threat_models/{threat_model_id}/threats/{threat_id}/metadata/{key} Delete threat metadata by key
ThreatModelSubResourcesApi delete_threat_model_asset DELETE /threat_models/{threat_model_id}/assets/{asset_id} Delete an asset
ThreatModelSubResourcesApi delete_threat_model_asset_metadata DELETE /threat_models/{threat_model_id}/assets/{asset_id}/metadata/{key} Delete asset metadata
ThreatModelSubResourcesApi delete_threat_model_diagram DELETE /threat_models/{threat_model_id}/diagrams/{diagram_id} Delete a diagram
ThreatModelSubResourcesApi delete_threat_model_document DELETE /threat_models/{threat_model_id}/documents/{document_id} Delete a document
ThreatModelSubResourcesApi delete_threat_model_metadata_by_key DELETE /threat_models/{threat_model_id}/metadata/{key} Delete threat model metadata by key
ThreatModelSubResourcesApi delete_threat_model_note DELETE /threat_models/{threat_model_id}/notes/{note_id} Delete a note
ThreatModelSubResourcesApi delete_threat_model_repository DELETE /threat_models/{threat_model_id}/repositories/{repository_id} Delete a source reference
ThreatModelSubResourcesApi delete_threat_model_threat DELETE /threat_models/{threat_model_id}/threats/{threat_id} Delete a threat
ThreatModelSubResourcesApi get_diagram_metadata GET /threat_models/{threat_model_id}/diagrams/{diagram_id}/metadata Get diagram metadata
ThreatModelSubResourcesApi get_diagram_metadata_by_key GET /threat_models/{threat_model_id}/diagrams/{diagram_id}/metadata/{key} Get diagram metadata by key
ThreatModelSubResourcesApi get_diagram_model GET /threat_models/{threat_model_id}/diagrams/{diagram_id}/model Get minimal diagram model for automated analysis
ThreatModelSubResourcesApi get_document_metadata GET /threat_models/{threat_model_id}/documents/{document_id}/metadata Get document metadata
ThreatModelSubResourcesApi get_document_metadata_by_key GET /threat_models/{threat_model_id}/documents/{document_id}/metadata/{key} Get document metadata by key
ThreatModelSubResourcesApi get_note_metadata GET /threat_models/{threat_model_id}/notes/{note_id}/metadata Get note metadata
ThreatModelSubResourcesApi get_note_metadata_by_key GET /threat_models/{threat_model_id}/notes/{note_id}/metadata/{key} Get note metadata by key
ThreatModelSubResourcesApi get_repository_metadata GET /threat_models/{threat_model_id}/repositories/{repository_id}/metadata Get source metadata
ThreatModelSubResourcesApi get_repository_metadata_by_key GET /threat_models/{threat_model_id}/repositories/{repository_id}/metadata/{key} Get source metadata by key
ThreatModelSubResourcesApi get_threat_metadata GET /threat_models/{threat_model_id}/threats/{threat_id}/metadata Get threat metadata
ThreatModelSubResourcesApi get_threat_metadata_by_key GET /threat_models/{threat_model_id}/threats/{threat_id}/metadata/{key} Get threat metadata by key
ThreatModelSubResourcesApi get_threat_model_asset GET /threat_models/{threat_model_id}/assets/{asset_id} Get a specific asset
ThreatModelSubResourcesApi get_threat_model_asset_metadata GET /threat_models/{threat_model_id}/assets/{asset_id}/metadata Get all metadata for an asset
ThreatModelSubResourcesApi get_threat_model_asset_metadata_by_key GET /threat_models/{threat_model_id}/assets/{asset_id}/metadata/{key} Get specific metadata for an asset
ThreatModelSubResourcesApi get_threat_model_assets GET /threat_models/{threat_model_id}/assets List assets in a threat model
ThreatModelSubResourcesApi get_threat_model_diagram GET /threat_models/{threat_model_id}/diagrams/{diagram_id} Get a specific diagram
ThreatModelSubResourcesApi get_threat_model_diagrams GET /threat_models/{threat_model_id}/diagrams List threat model diagrams
ThreatModelSubResourcesApi get_threat_model_document GET /threat_models/{threat_model_id}/documents/{document_id} Get a specific document
ThreatModelSubResourcesApi get_threat_model_documents GET /threat_models/{threat_model_id}/documents List documents in a threat model
ThreatModelSubResourcesApi get_threat_model_metadata GET /threat_models/{threat_model_id}/metadata Get threat model metadata
ThreatModelSubResourcesApi get_threat_model_metadata_by_key GET /threat_models/{threat_model_id}/metadata/{key} Get threat model metadata by key
ThreatModelSubResourcesApi get_threat_model_note GET /threat_models/{threat_model_id}/notes/{note_id} Get a specific note
ThreatModelSubResourcesApi get_threat_model_notes GET /threat_models/{threat_model_id}/notes List notes in a threat model
ThreatModelSubResourcesApi get_threat_model_repositories GET /threat_models/{threat_model_id}/repositories List sources in a threat model
ThreatModelSubResourcesApi get_threat_model_repository GET /threat_models/{threat_model_id}/repositories/{repository_id} Get a specific source reference
ThreatModelSubResourcesApi get_threat_model_threat GET /threat_models/{threat_model_id}/threats/{threat_id} Get a specific threat
ThreatModelSubResourcesApi get_threat_model_threats GET /threat_models/{threat_model_id}/threats List threats in a threat model
ThreatModelSubResourcesApi patch_threat_model_diagram PATCH /threat_models/{threat_model_id}/diagrams/{diagram_id} Partially update a diagram
ThreatModelSubResourcesApi patch_threat_model_threat PATCH /threat_models/{threat_model_id}/threats/{threat_id} Partially update a threat
ThreatModelSubResourcesApi restore_asset POST /threat_models/{threat_model_id}/assets/{asset_id}/restore Restore a soft-deleted asset
ThreatModelSubResourcesApi restore_diagram POST /threat_models/{threat_model_id}/diagrams/{diagram_id}/restore Restore a soft-deleted diagram
ThreatModelSubResourcesApi restore_document POST /threat_models/{threat_model_id}/documents/{document_id}/restore Restore a soft-deleted document
ThreatModelSubResourcesApi restore_note POST /threat_models/{threat_model_id}/notes/{note_id}/restore Restore a soft-deleted note
ThreatModelSubResourcesApi restore_repository POST /threat_models/{threat_model_id}/repositories/{repository_id}/restore Restore a soft-deleted repository
ThreatModelSubResourcesApi restore_threat POST /threat_models/{threat_model_id}/threats/{threat_id}/restore Restore a soft-deleted threat
ThreatModelSubResourcesApi update_diagram_metadata_by_key PUT /threat_models/{threat_model_id}/diagrams/{diagram_id}/metadata/{key} Update diagram metadata by key
ThreatModelSubResourcesApi update_document_metadata_by_key PUT /threat_models/{threat_model_id}/documents/{document_id}/metadata/{key} Update document metadata by key
ThreatModelSubResourcesApi update_note_metadata_by_key PUT /threat_models/{threat_model_id}/notes/{note_id}/metadata/{key} Update note metadata by key
ThreatModelSubResourcesApi update_repository_metadata_by_key PUT /threat_models/{threat_model_id}/repositories/{repository_id}/metadata/{key} Update source metadata by key
ThreatModelSubResourcesApi update_threat_metadata_by_key PUT /threat_models/{threat_model_id}/threats/{threat_id}/metadata/{key} Update threat metadata by key
ThreatModelSubResourcesApi update_threat_model_asset PUT /threat_models/{threat_model_id}/assets/{asset_id} Update an asset
ThreatModelSubResourcesApi update_threat_model_asset_metadata PUT /threat_models/{threat_model_id}/assets/{asset_id}/metadata/{key} Update asset metadata
ThreatModelSubResourcesApi update_threat_model_diagram PUT /threat_models/{threat_model_id}/diagrams/{diagram_id} Update a diagram
ThreatModelSubResourcesApi update_threat_model_document PUT /threat_models/{threat_model_id}/documents/{document_id} Update a document
ThreatModelSubResourcesApi update_threat_model_metadata_by_key PUT /threat_models/{threat_model_id}/metadata/{key} Update threat model metadata by key
ThreatModelSubResourcesApi update_threat_model_note PUT /threat_models/{threat_model_id}/notes/{note_id} Update a note
ThreatModelSubResourcesApi update_threat_model_repository PUT /threat_models/{threat_model_id}/repositories/{repository_id} Update a source reference
ThreatModelSubResourcesApi update_threat_model_threat PUT /threat_models/{threat_model_id}/threats/{threat_id} Update a threat
ThreatModelsApi create_threat_model POST /threat_models Create a threat model
ThreatModelsApi delete_threat_model DELETE /threat_models/{threat_model_id} Delete a threat model
ThreatModelsApi get_threat_model GET /threat_models/{threat_model_id} Retrieve a threat model
ThreatModelsApi list_threat_models GET /threat_models List threat models
ThreatModelsApi patch_threat_model PATCH /threat_models/{threat_model_id} Partially update a threat model
ThreatModelsApi restore_threat_model POST /threat_models/{threat_model_id}/restore Restore a soft-deleted threat model
ThreatModelsApi update_threat_model PUT /threat_models/{threat_model_id} Update a threat model
ThreatsApi bulk_delete_threat_model_threats DELETE /threat_models/{threat_model_id}/threats/bulk Bulk DELETE threats
ThreatsApi bulk_patch_threat_model_threats PATCH /threat_models/{threat_model_id}/threats/bulk Bulk PATCH threats
TimmyAdministrationApi get_timmy_status GET /admin/timmy/status Get Timmy system status
TimmyAdministrationApi get_timmy_usage GET /admin/timmy/usage Get Timmy usage statistics
TimmyChatApi create_timmy_chat_message POST /threat_models/{threat_model_id}/chat/sessions/{session_id}/messages Send a message to Timmy
TimmyChatApi create_timmy_chat_session POST /threat_models/{threat_model_id}/chat/sessions Create a new Timmy chat session
TimmyChatApi delete_timmy_chat_session DELETE /threat_models/{threat_model_id}/chat/sessions/{session_id} Delete a Timmy chat session
TimmyChatApi get_timmy_chat_session GET /threat_models/{threat_model_id}/chat/sessions/{session_id} Get a Timmy chat session
TimmyChatApi list_timmy_chat_messages GET /threat_models/{threat_model_id}/chat/sessions/{session_id}/messages List messages in a Timmy chat session
TimmyChatApi list_timmy_chat_sessions GET /threat_models/{threat_model_id}/chat/sessions List Timmy chat sessions
TimmyChatApi refresh_timmy_sources POST /threat_models/{threat_model_id}/chat/sessions/{session_id}/refresh_sources Refresh session sources
UserAccountApi create_current_user_preferences POST /me/preferences Create user preferences
UserAccountApi get_current_user_preferences GET /me/preferences Get user preferences
UserAccountApi update_current_user_preferences PUT /me/preferences Update user preferences
UsersApi delete_user_account DELETE /me Delete authenticated user account and all data
UsersApi logout_current_user POST /me/logout Logout current user
UsersApi transfer_current_user_ownership POST /me/transfer Transfer ownership of all owned resources
WebSocketApi get_ws_ticket GET /ws/ticket Get a WebSocket authentication ticket
WebhookDeliveriesApi get_webhook_delivery_status GET /webhook-deliveries/{delivery_id} Get webhook delivery status
WebhookDeliveriesApi update_webhook_delivery_status POST /webhook-deliveries/{delivery_id}/status Update webhook delivery status
WebhooksApi create_webhook_subscription POST /admin/webhooks/subscriptions Create webhook subscription
WebhooksApi delete_webhook_subscription DELETE /admin/webhooks/subscriptions/{webhook_id} Delete webhook subscription
WebhooksApi get_webhook_delivery GET /admin/webhooks/deliveries/{delivery_id} Get webhook delivery
WebhooksApi get_webhook_subscription GET /admin/webhooks/subscriptions/{webhook_id} Get webhook subscription
WebhooksApi list_webhook_deliveries GET /admin/webhooks/deliveries List webhook deliveries
WebhooksApi list_webhook_subscriptions GET /admin/webhooks/subscriptions List webhook subscriptions
WebhooksApi test_webhook_subscription POST /admin/webhooks/subscriptions/{webhook_id}/test Test webhook subscription

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

bearerAuth

  • Type: Bearer authentication (JWT)

Author

eric@tmi.dev

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

tmi_client-1.4.0.tar.gz (371.4 kB view details)

Uploaded Source

Built Distribution

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

tmi_client-1.4.0-py3-none-any.whl (856.7 kB view details)

Uploaded Python 3

File details

Details for the file tmi_client-1.4.0.tar.gz.

File metadata

  • Download URL: tmi_client-1.4.0.tar.gz
  • Upload date:
  • Size: 371.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tmi_client-1.4.0.tar.gz
Algorithm Hash digest
SHA256 32a97784c5a7603a03e885dba75fb2ba03a77c2e0f56549e4c5731ad71a39ee0
MD5 81dc53016953a154fa36985c677df45f
BLAKE2b-256 73a6bfa63c9dd4ec26a6bcbc5ecf2c9514e57da2262294d740cdd56f03af6a2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tmi_client-1.4.0.tar.gz:

Publisher: publish-python.yml on ericfitz/tmi-clients

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

File details

Details for the file tmi_client-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: tmi_client-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 856.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tmi_client-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 499f996868ebccbfa2d207b5a62cacf0dcbcf89eb7e221279ece62323d3e3d5a
MD5 f3939a30f240fa641081f4ed5420bb1e
BLAKE2b-256 73c5f1a52f2835b25837e8356aa36535ba16239a46202d91039a956ce6ce30ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for tmi_client-1.4.0-py3-none-any.whl:

Publisher: publish-python.yml on ericfitz/tmi-clients

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