1. Authentication and Configuration
Set up API access credentials and regional endpoints for LabArchives API integration.
Prerequisites:
- Enterprise LabArchives license with API access enabled
- API access key ID and password from LabArchives administrator
- User authentication credentials (email and external applications password)
Configuration setup:
Use the scripts/setup_config.py script to create a configuration file:
```bash
python3 scripts/setup_config.py
```
This creates a config.yaml file with the following structure:
```yaml
api_url: https://api.labarchives.com/api # or regional endpoint
access_key_id: YOUR_ACCESS_KEY_ID
access_password: YOUR_ACCESS_PASSWORD
```
Regional API endpoints:
- US/International:
https://api.labarchives.com/api - Australia:
https://auapi.labarchives.com/api - UK:
https://ukapi.labarchives.com/api
For detailed authentication instructions and troubleshooting, refer to references/authentication_guide.md.
2. User Information Retrieval
Obtain user ID (UID) and access information required for subsequent API operations.
Workflow:
- Call the
users/user_access_info API method with login credentials - Parse the XML/JSON response to extract the user ID (UID)
- Use the UID to retrieve detailed user information via
users/user_info_via_id
Example using Python wrapper:
```python
from labarchivespy.client import Client
# Initialize client
client = Client(api_url, access_key_id, access_password)
# Get user access info
login_params = {'login_or_email': user_email, 'password': auth_token}
response = client.make_call('users', 'user_access_info', params=login_params)
# Extract UID from response
import xml.etree.ElementTree as ET
uid = ET.fromstring(response.content)[0].text
# Get detailed user info
params = {'uid': uid}
user_info = client.make_call('users', 'user_info_via_id', params=params)
```
3. Notebook Operations
Manage notebook access, backup, and metadata retrieval.
Key operations:
- List notebooks: Retrieve all notebooks accessible to a user
- Backup notebooks: Download complete notebook data with optional attachment inclusion
- Get notebook IDs: Retrieve institution-defined notebook identifiers for integration with grants/project management systems
- Get notebook members: List all users with access to a specific notebook
- Get notebook settings: Retrieve configuration and permissions for notebooks
Notebook backup example:
Use the scripts/notebook_operations.py script:
```bash
# Backup with attachments (default, creates 7z archive)
python3 scripts/notebook_operations.py backup --uid USER_ID --nbid NOTEBOOK_ID
# Backup without attachments, JSON format
python3 scripts/notebook_operations.py backup --uid USER_ID --nbid NOTEBOOK_ID --json --no-attachments
```
API endpoint format:
```
https:///notebooks/notebook_backup?uid=&nbid=&json=true&no_attachments=false
```
For comprehensive API method documentation, refer to references/api_reference.md.
4. Entry and Attachment Management
Create, modify, and manage notebook entries and file attachments.
Entry operations:
- Create new entries in notebooks
- Add comments to existing entries
- Create entry parts/components
- Upload file attachments to entries
Attachment workflow:
Use the scripts/entry_operations.py script:
```bash
# Upload attachment to an entry
python3 scripts/entry_operations.py upload --uid USER_ID --nbid NOTEBOOK_ID --entry-id ENTRY_ID --file /path/to/file.pdf
# Create a new entry with text content
python3 scripts/entry_operations.py create --uid USER_ID --nbid NOTEBOOK_ID --title "Experiment Results" --content "Results from today's experiment..."
```
Supported file types:
- Documents (PDF, DOCX, TXT)
- Images (PNG, JPG, TIFF)
- Data files (CSV, XLSX, HDF5)
- Scientific formats (CIF, MOL, PDB)
- Archives (ZIP, 7Z)
5. Site Reports and Analytics
Generate institutional reports on notebook usage, activity, and compliance (Enterprise feature).
Available reports:
- Detailed Usage Report: User activity metrics and engagement statistics
- Detailed Notebook Report: Notebook metadata, member lists, and settings
- PDF/Offline Notebook Generation Report: Export tracking for compliance
- Notebook Members Report: Access control and collaboration analytics
- Notebook Settings Report: Configuration and permission auditing
Report generation:
```python
# Generate detailed usage report
response = client.make_call('site_reports', 'detailed_usage_report',
params={'start_date': '2025-01-01', 'end_date': '2025-10-20'})
```
6. Third-Party Integrations
LabArchives integrates with numerous scientific software platforms. This skill provides guidance on leveraging these integrations programmatically.
Supported integrations:
- Protocols.io: Export protocols directly to LabArchives notebooks
- GraphPad Prism: Export analyses and figures (Version 8+)
- SnapGene: Direct molecular biology workflow integration
- Geneious: Bioinformatics analysis export
- Jupyter: Embed Jupyter notebooks as entries
- REDCap: Clinical data capture integration
- Qeios: Research publishing platform
- SciSpace: Literature management
OAuth authentication:
LabArchives now uses OAuth for all new integrations. Legacy integrations may use API key authentication.
For detailed integration setup instructions and use cases, refer to references/integrations.md.