# neurons-client A Python client library for interacting with the Ivanti Neurons ITSM API. This client enables performing CRUD operations on business objects and managing relationships between them in the Neurons system. ## Features - Full CRUD operations on business objects - Relationship management between business objects - Pagination support for large result sets - Field filtering capability - Type-safe API using Python type hints - Specialized interfaces for specific business object types ## Installation ```bash pip install neurons-client ``` ## Quick Start ```python from neurons_client import NeuronsClient from neurons_client import EntityType, RelationshipType # Initialize the client client = NeuronsClient( base_url="https://your-neurons-instance", api_key="your-api-key" ) # Get business objects incidents = client.get_business_objects(EntityType.INCIDENT) # Get a single business object incident = client.get_single_business_object(EntityType.INCIDENT, "incident-id") # Create a new business object new_incident = client.add_business_object(EntityType.INCIDENT, { "Title": "New Incident", "Description": "Description of the incident" }) ``` ## API Reference The main class is `NeuronsClient` which handles all API communication. Here are the key methods: - `get_business_objects()` - Retrieve multiple business objects with optional filtering - `get_single_business_object()` - Get a specific business object by ID - `get_related_business_objects()` - Get objects related to a specific business object - `add_business_object()` - Create a new business object - `update_business_object()` - Update an existing business object - `delete_business_object()` - Delete a business object - `add_business_object_relationship()` - Create a relationship between business objects - `delete_business_object_relationship()` - Remove a relationship between business objects ## Requirements - Python 3.9 or higher - `requests` library ## License This project is licensed under the MIT License. See the LICENSE.txt file for details. ## Authors GÉANT (swd@geant.org) ## Contributing