Skip to content
Skillpedia
Misc51k · #1892

labarchive-integration

Lets your agent connect with the LabArchives system. It manages authorizations and workflows for secure, verified integration.

What it does

This tool connects to the LabArchives system to manage your lab data. It allows you to securely access and organize scientific information.

When to use it

  • ✓To record experiment results.
  • ✓To manage lab material inventory.
  • ✓To share research data with colleagues.

Example of what to ask your AI

“I want to record today's experiment results in my lab notebook.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/labarchive-integration/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/labarchive-integration/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool uses special codes to communicate with LabArchives. It ensures your information is sent securely and correctly, following the system's rules.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add K-Dense-AI/scientific-agent-skills --skill labarchive-integration

Or download just the file:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/labarchive-integration/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

LabArchives Integration

Use LabArchives APIs only from current, official method pages. The public documentation is a shared notebook, not a versioned SDK reference, so verify the specific page immediately before implementing a remote operation.

Choose the Correct Surface

Do not combine these interfaces:

  • Legacy ELN API: notebook trees, entries, attachments, users, searches, exports, and site-license functions. It uses regional *api.labarchives.com hosts, /api/<class>/<method> paths, XML for many responses, and signed query parameters.
  • Inventory API v1: inventory, item types, orders, storage locations, and vendors. It documents relative /public/v1/... paths, JSON response schemas, and signed X-LabArchives-* request headers.
  • Product integrations: Jupyter, REDCap, Protocols.io, GraphPad Prism, SnapGene, Geneious, and others are product-specific UI or file workflows. They are not evidence of a general LabArchives OAuth 2.0 API.

Read references/api_reference.md before writing API code and references/integrations.md before automating an advertised integration.

Access and Credentials

LabArchives ELN developer API access is an Enterprise capability. The current Inventory FAQ limits Inventory API access to Enterprise and Enterprise Plus licensees and requires an Inventory account with API permission. Contact the institution's LabArchives team or LabArchives support for access and the development documentation supplied with it.

The environment names below are conventions of this skill, not vendor-defined standards:

  • LABARCHIVES_ELN_API_URL — one exact regional ELN API URL ending in /api
  • LABARCHIVES_ACCESS_KEY_ID — LabArchives-issued Access Key ID (akid)
  • LABARCHIVES_ACCESS_PASSWORD — HMAC signing secret
  • LABARCHIVES_USER_ID — optional persistent UID bound to that Access Key ID
  • LABARCHIVES_INVENTORY_LAB_ID — required for lab-scoped Inventory requests; omitted during GET /public/v1/users/me lab discovery

Keep secrets in the process environment or an approved secret manager. Do not put them in YAML, source code, command-line arguments, prompts, logs, notebooks, or committed .env files. The bundled tools never search for .env files.

From this skill directory:

uv run scripts/setup_config.py regions
uv run scripts/setup_config.py check --require-user-id

setup_config.py validates only endpoint structure and named-variable presence; it does not authenticate, persist, or print credentials. See references/authentication_guide.md.

Regional Endpoints

Browser login hosts and API hosts are different. The official ELN API overview currently lists US/rest of world, Australia/New Zealand, UK, Europe outside the UK, and Canada API hosts. The help center separately lists the five regional browser login hosts.

Use setup_config.py regions for the current allowlist and the complete table in the authentication guide. Never build an API URL from a browser login URL.

The Inventory overview publishes https://iapi.labarchives.com as its API base URL; append the documented /public/v1/... route. No regional base-URL table is published there. Confirm any regional deployment with the institution/vendor; do not transform an Inventory browser login host into an API hostname.

Authentication Model

ELN requests

The official algorithm is fully documented:

  1. Set expires to the current Unix epoch time in milliseconds, adjusted for server clock difference if necessary. Despite its name, it is not a future expiry time.
  2. Concatenate, with no separators: <Access Key ID><API method name><expires>.
  3. Compute HMAC-SHA-512 using the Access Password as the key.
  4. Base64-encode the digest.
  5. URI-encode that signature and send akid, expires, and sig as the documented query parameters.

For ordinary ELN calls, the signature input is the method name only, not the API class. User authorization is a documented special case: signing the api_user_login redirect uses the unencoded redirect URI in place of a method name.

Inventory API v1 requests

Inventory shares the HMAC algorithm but signs the exact relative route, including resolved path parameters and excluding the query string. Its authentication page documents these headers:

  • X-LabArchives-UId
  • X-LabArchives-AKId
  • X-LabArchives-LabId

…

FAQ

Do I need a special account to use this?

Yes, LabArchives API access typically requires an Enterprise license and specific permissions. Consult your lab's team or LabArchives support.

Where do I store my passwords and keys?

Never put your passwords or keys in code files, prompts, or logs. Use a secure secret manager or your system's environment variables.

How do I know if the tool is working correctly?

The tool has scripts that validate the configuration and address structure, but they do not authenticate or send your credentials. Refer to the documentation for more details.

Details

Original description by the author

Integrates with the official LabArchives ELN REST-like API and Inventory API v1. Supports regional endpoint selection, signed-request construction, user authorization and UID flows, local LA container validation, and verified LabArchives integration workflows.

repo: K-Dense-AI/scientific-agent-skills

Popularity

GitHub stars
51k
Ranking position
#1892
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills