Integration Steps
Follow these steps to integrate your application with Filevine through LawLink.ai.
Create Organization Admin & Login
First, a Superuser or Admin creates an Organization Admin (ORG_ADMIN) account for your law firm. The ORG_ADMIN will manage attorneys and API tokens for the organization.
💡 Tip: Login to LawLink at
https://app.lawlink.ai using your ORG_ADMIN credentials.
Create API Access Token
Navigate to API Tokens page and create a new API access token for integration. Set an appropriate expiration period (e.g., 1 year). Copy the token immediately — it's only shown once!
⚠️ Important: Store your API token securely. It grants access to your organization's integrations.
Obtain Filevine PAT
In Filevine, navigate to your user settings and generate a Personal Access Token (PAT). Ensure your user has the necessary permissions in Filevine to manage projects and contacts.
📋 Permissions: Your Filevine user must have 'Admin' or 'API' access to the relevant organizations.
Authentication
Connect Filevine via PAT
Navigate to the Integrations or Connected Platforms page in LawLink. Select Filevine and enter your PAT. LawLink will securely encrypt your PAT and exchange it for a session token.
🔐 OAuth Alternative: LawLink handles the transition between PAT and session-based tokens automatically, ensuring long-lived connectivity.
API Usage
Call APIs with Token & Headers
Use your LawLink API token in the Authorization header.
Filevine-specific session headers like x-fv-orgid and x-fv-userid
are handled automatically by the LawLink backend.
API Request Structure
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
# Optional Parameter (for ORG_ADMIN tokens)
attorney_email=attorney@lawfirm.com
Example: Get Projects
# List projects for the connected organization
curl -X GET \
"https://app.lawlink.ai/api/v1/filevine/projects" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json"
Example: Create Task
# Create a new task in a project feed
curl -X POST \
"https://app.lawlink.ai/api/v1/filevine/tasks" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ProjectId": { "Native": 266356 },
"Subject": "Review Evidence",
"Body": "Please review the new documents."
}'
🔑 Key Points:
- The
attorney_emailparameter is optional and defaults to the token owner's account. - LawLink handles all v2 session token exchanges internally.
- The API token authenticates your application to LawLink.
Team Management
Manage Teams and Project Associations
LawLink now supports retrieving Filevine teams and associating them with specific projects.
Example: List Teams
# Retrieve all teams for the organization
curl -X GET \
"https://app.lawlink.ai/api/v1/filevine/teams" \
-H "Authorization: Bearer ACCESS_TOKEN"
Example: Add Team to Project
# Associate a team with a project
curl -X PUT \
"https://app.lawlink.ai/api/v1/filevine/teams/1234/projects/5678" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"applySubscriptions": false
}'
Contact Conflict Check
Implement Contact Conflict Check
Before creating a new contact, use the /api/v1/filevine/contacts/check endpoint
to detect potential duplicates within Filevine.
🔍 Detection Logic:
- High Confidence Fail: Exact email match OR (Name + Phone match)
- Low Confidence Fail: Name OR Phone match (partial match)
- Pass: No match found
POST /api/v1/filevine/contacts/check
{
"first_name": "John",
"last_name": "Smith",
"email": "john@example.com"
}
// Conflict Check Passes
{
"status": "pass",
"message": "No conflict found"
}
// High Confidence Conflict
{
"status": "high_confidence_fail",
"reason": "Email matches an existing contact",
"contact": { "personId": { "native": 546255 }, "fullName": "John Doe", ... }
}