Python API for MISP threat intelligence platform enabling programmatic access to MISP instances.
Overall
score
96%
Complete user account and organization administration including roles, permissions, settings management, and organizational hierarchy.
Comprehensive user account administration with role assignments and permission control.
def users(self, **kwargs) -> list:
"""List users with optional filtering."""
def get_user(self, user_id: Union[int, str]) -> dict:
"""Get specific user by ID."""
def add_user(self, user: Union['MISPUser', dict], **kwargs) -> dict:
"""Create new user account."""
def update_user(self, user: Union['MISPUser', dict], user_id: Union[int, str] = None) -> dict:
"""Update existing user account."""
def delete_user(self, user_id: Union[int, str]) -> dict:
"""Delete user account."""
def change_user_password(self, user_id: Union[int, str], password: str) -> dict:
"""Change user password."""
def toggle_user_role(self, user_id: Union[int, str], role_id: int) -> dict:
"""Change user role."""Organization administration including creation, updates, and relationship management.
def organisations(self, scope: str = 'local', **kwargs) -> list:
"""List organizations."""
def get_organisation(self, org_id: Union[int, str]) -> dict:
"""Get specific organization."""
def add_organisation(self, organisation: Union['MISPOrganisation', dict]) -> dict:
"""Create new organization."""
def update_organisation(self, organisation: Union['MISPOrganisation', dict], org_id: Union[int, str] = None) -> dict:
"""Update organization."""
def delete_organisation(self, org_id: Union[int, str]) -> dict:
"""Delete organization."""User role definitions and permission management.
def roles(self, **kwargs) -> list:
"""Get available user roles."""
def get_role(self, role_id: Union[int, str]) -> dict:
"""Get specific role definition."""
def set_default_role(self, role_id: int) -> dict:
"""Set default role for new users."""from pymisp import PyMISP, MISPUser
misp = PyMISP('https://misp.example.com', 'your-api-key')
# Create new user
user = MISPUser()
user.email = 'analyst@company.com'
user.org_id = 1
user.role_id = 3 # Regular user role
response = misp.add_user(user)
# List all users
users = misp.users()
# Update user
misp.change_user_password(user_id, 'new_secure_password')from pymisp import MISPOrganisation
# Create organization
org = MISPOrganisation()
org.name = "Cybersec Corp"
org.description = "Cybersecurity company"
org.type = "Private Sector"
org.nationality = "US"
misp.add_organisation(org)
# List organizations
orgs = misp.organisations(scope='all')Install with Tessl CLI
npx tessl i tessl/pypi-pymispdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10