// "Electronic lab notebook API integration. Access notebooks, manage entries/attachments, backup notebooks, integrate with Protocols.io/Jupyter/REDCap, for programmatic ELN workflows."
| name | labarchive-integration |
| description | Electronic lab notebook API integration. Access notebooks, manage entries/attachments, backup notebooks, integrate with Protocols.io/Jupyter/REDCap, for programmatic ELN workflows. |
LabArchives is an electronic lab notebook platform for research documentation and data management. Access notebooks, manage entries and attachments, generate reports, and integrate with third-party tools programmatically via REST API.
This skill should be used when:
Set up API access credentials and regional endpoints for LabArchives API integration.
Prerequisites:
Configuration setup:
Use the scripts/setup_config.py script to create a configuration file:
python3 scripts/setup_config.py
This creates a config.yaml file with the following structure:
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:
https://api.labarchives.com/apihttps://auapi.labarchives.com/apihttps://ukapi.labarchives.com/apiFor detailed authentication instructions and troubleshooting, refer to references/authentication_guide.md.
Obtain user ID (UID) and access information required for subsequent API operations.
Workflow:
users/user_access_info API method with login credentialsusers/user_info_via_idExample using Python wrapper:
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)
Manage notebook access, backup, and metadata retrieval.
Key operations:
Notebook backup example:
Use the scripts/notebook_operations.py script:
# 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://<api_url>/notebooks/notebook_backup?uid=<UID>&nbid=<NOTEBOOK_ID>&json=true&no_attachments=false
For comprehensive API method documentation, refer to references/api_reference.md.
Create, modify, and manage notebook entries and file attachments.
Entry operations:
Attachment workflow:
Use the scripts/entry_operations.py script:
# 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:
Generate institutional reports on notebook usage, activity, and compliance (Enterprise feature).
Available reports:
Report generation:
# Generate detailed usage report
response = client.make_call('site_reports', 'detailed_usage_report',
params={'start_date': '2025-01-01', 'end_date': '2025-10-20'})
LabArchives integrates with numerous scientific software platforms. This skill provides guidance on leveraging these integrations programmatically.
Supported integrations:
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.
# Complete backup script
python3 scripts/notebook_operations.py backup-all --email user@example.edu --password AUTH_TOKEN
Install the labarchives-py wrapper for simplified API access:
git clone https://github.com/mcmero/labarchives-py
cd labarchives-py
uv pip install .
Alternatively, use direct HTTP requests via Python's requests library for custom implementations.
Common issues:
For additional support, contact LabArchives at support@labarchives.com.
This skill includes bundled resources to support LabArchives API integration:
setup_config.py: Interactive configuration file generator for API credentialsnotebook_operations.py: Utilities for listing, backing up, and managing notebooksentry_operations.py: Tools for creating entries and uploading attachmentsapi_reference.md: Comprehensive API endpoint documentation with parameters and examplesauthentication_guide.md: Detailed authentication setup and configuration instructionsintegrations.md: Third-party integration setup guides and use cases