From veeva-pack
Authenticates to Veeva Vault REST API via session ID, enables VQL queries for life sciences document management. Python, Node.js, Java examples.
How this skill is triggered — by the user, by Claude, or both
Slash command
/veeva-pack:veeva-install-authThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Authenticate with Veeva Vault REST API using session-based auth. Base URL: `https://{vault}.veevavault.com/api/{version}/`. All requests require a session ID obtained via username/password or OAuth 2.0.
Authenticate with Veeva Vault REST API using session-based auth. Base URL: https://{vault}.veevavault.com/api/{version}/. All requests require a session ID obtained via username/password or OAuth 2.0.
# Java (VAPIL - Vault API Library)
# Add to pom.xml or gradle
# https://github.com/veeva/vault-api-library
# Python/Node.js -- use HTTP client
pip install requests
# or
npm install axios
import requests
vault_url = "https://myvault.veevavault.com/api/v24.1"
auth_response = requests.post(f"{vault_url}/auth", data={
"username": os.environ["VEEVA_USERNAME"],
"password": os.environ["VEEVA_PASSWORD"],
})
session_id = auth_response.json()["sessionId"]
print(f"Session ID: {session_id[:20]}...")
headers = {"Authorization": session_id}
response = requests.get(f"{vault_url}/metadata/objects", headers=headers)
print(f"Objects: {len(response.json()['objects'])}")
query = "SELECT id, name__v, status__v FROM documents WHERE status__v = 'Approved'"
response = requests.post(f"{vault_url}/query", headers=headers, data={"q": query})
for doc in response.json().get("data", []):
print(f" {doc['name__v']} (ID: {doc['id']})")
| Error | Cause | Solution |
|---|---|---|
INVALID_SESSION_ID | Session expired | Re-authenticate |
INSUFFICIENT_ACCESS | Missing permissions | Check security profile |
INVALID_DATA | Bad VQL syntax | Validate query syntax |
Proceed to veeva-hello-world for document operations.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin veeva-packProvides Veeva Vault security basics: REST API auth, VQL patterns, VAPIL Java SDK, lifecycle states, error handling for clinical ops and CRM.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.