agentsclimarketplace

Veeva install auth

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/veeva-pack/skills/veeva-install-auth

'Veeva Vault install auth with REST API and VQL.From its SKILL.md

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill veeva-install-auth

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

2.4 KB, 531 tokens by cl100k_base, as published. Nobody here has run it

Veeva Vault Install & Auth

Overview

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.

Instructions

Step 1: Install VAPIL (Java) or HTTP Client

# 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

Step 2: Obtain Session ID

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]}...")

Step 3: Make Authenticated Request

headers = {"Authorization": session_id}
response = requests.get(f"{vault_url}/metadata/objects", headers=headers)
print(f"Objects: {len(response.json()['objects'])}")

Step 4: VQL Query

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 Handling

ErrorCauseSolution
INVALID_SESSION_IDSession expiredRe-authenticate
INSUFFICIENT_ACCESSMissing permissionsCheck security profile
INVALID_DATABad VQL syntaxValidate query syntax

Resources

Next Steps

Proceed to veeva-hello-world for document operations.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.