Developer Portal & Docs

Integrate Dockase's automated legal reasoning into your applications or connect directly to AI clients.

Get Your API Key

Dockase APIs require authentication via a secret key. Sign up for a free developer account to obtain your key and start developing custom legal solutions.

Developer API Plans: The subscriptions and quotas described here are dedicated to developers building integrations or utilizing the MCP connector. If you are a legal practitioner wanting to use the main Dockase web workspace or firm dashboard, please check the standard Dockase Subscription Plans.

Interactive API & MCP Reference

Select an integration standard below to view setup and documentation details.

Model Context Protocol (MCP) Integration

Dockase implements the industry-standard Model Context Protocol (MCP). This allows LLMs (like Anthropic Claude, Google Gemini, or Meta Llama) to act as legal agents. By connecting the Dockase MCP server, your LLM client gains direct, secure tool-calling access to our case database, precedents database, contract review engine, and drafting tools.

Claude Desktop Setup

To add the Dockase litigation suite to your Claude Desktop application, configure the stdio MCP server. Add this configuration to your local config file:

{
  "mcpServers": {
    "dockase-litigation": {
      "command": "python",
      "args": [
        "python_mcp_server.py"
      ],
      "env": {
        "DOCKASE_API_KEY": "dk_YOUR_API_KEY_HERE",
        "DOCKASE_GATEWAY_URL": "https://dockase.com"
      }
    }
  }
}

Windows Config Path: %APPDATA%\Claude\claude_desktop_config.json

macOS Config Path: ~/Library/Application Support/Claude/claude_desktop_config.json

Standard Client Gateway

The stdio MCP server runs locally as a bridge. It parses JSON-RPC tool schemas and calls, forwarding them to the Dockase API gateway which executes the legal search, vector retrieval, and citation guardrails.

To test locally or set up custom agents, download the public python package or clone the connector repository:

git clone https://github.com/dockase/mcp-connector
Ensure python 3.8+ is installed on your client machine before configuring.
Exposed MCP Tools (20 Tools)

These tools are declared dynamically by the MCP Server on startup. The connected AI model determines which tool to execute based on user requests.

Tool Name Arguments Schema Functionality
dockase_query { "query": str } Research a specific legal question or principle under Nigerian law.
dockase_search_judgments { "query": str, "limit": int? } Semantic vector search (RAG) to find precedents/cases matching a fact pattern.
dockase_analyze_contract { "contract_text": str, "analysis_focus": str? } Performs senior-counsel-level legal risk analysis on contract clauses.
dockase_draft { "document_type": str, "key_facts": str, "template_context": str? } Draft an individual agreement, NDA, contract of sale, or pleading motion.
dockase_deep_research { "fact_pattern": str } Trigger the deep multi-step agent research flow to analyze complex factual situations.
dockase_chat { "message": str, "conversation_history": list?, "thread_id": str? } Chat directly with the Amicus assistant agent with system-level context.
dockase_validate_citations { "text": str } Validate court citations within a text document to eliminate AI hallucinations.
dockase_similar_judgments { "judgment_id": int, "limit": int? } Retrieve related case judgments by database ID based on semantic distance.
dockase_draft_multi { "document_set_key": str, "key_facts": str, ... } Draft structured bundles (e.g. motion_pack: Motion + Affidavit + Address).
dockase_tag_case { "description": str, "case_name": str? } Auto-generate practice area tags (e.g., Land Law, Family Law) from case descriptions.
dockase_list_clients None Retrieve a directory of clients stored in the firm CRM.
dockase_create_client { "full_name": str, "email": str?, ... } Add a new client profile record directly to the CRM.
dockase_list_cases None List active legal cases (matters) on the firm dashboard.
dockase_create_case { "case_name": str, "description": str, "client_id": int, ... } Create a new legal matter folder linked to a specific client ID.
dockase_create_document { "case_id": int, "title": str, "content": str } Upload/save a drafted pleading or document text to a case file.
dockase_check_freshness { "case_id": int } Analyze documents inside a case folder for stale/expiring filing timelines.
dockase_list_case_updates { "case_id": int } List hearing transcription logs and adjournment updates for a case.
dockase_log_case_update { "case_id": int, "transcription": str, ... } Add a new court proceeding update, hearing transcript, or next adjournment date.
dockase_summarize_case { "case_id": int } Generate a high-quality case summary of facts and pleadings.
dockase_draft_client_email { "case_id": int, "key_points": str } Draft a progress update email to send to the client.

Verify API authorization and run legal research queries via your shell:

curl -X POST https://dockase.com/v1/query \
  -H "Authorization: Bearer dk_YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "What are the elements of proving trespass to land in Nigerian court?"
  }'

Integrate Dockase reasoning tools in your backend script:

import requests

url = "https://dockase.com/v1/query"
headers = {
    "Authorization": "Bearer dk_YOUR_API_KEY_HERE",
    "Content-Type": "application/json"
}
payload = {
    "query": "What are the elements of proving trespass to land in Nigerian court?"
}

response = requests.post(url, json=payload, headers=headers)
if response.status_code == 200:
    print(response.json()["response"])
else:
    print(f"Error {response.status_code}: {response.text}")

Trigger legal analysis directly from your frontend or Node.js environment:

const queryDockase = async () => {
  try {
    const response = await fetch("https://dockase.com/v1/query", {
      method: "POST",
      headers: {
        "Authorization": "Bearer dk_YOUR_API_KEY_HERE",
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        query: "What are the elements of proving trespass to land in Nigerian court?"
      })
    });
    const data = await response.json();
    console.log(data.response);
  } catch (error) {
    console.error("API Call Failed:", error);
  }
};

queryDockase();

REST API Endpoints Reference

Below is the list of active developer gateway endpoints. All requests must carry the Authorization: Bearer <key> header.

Method & Path Request Body / Args Description
POST /v1/query { "query": str } Run a legal research query using our main reasoning pipelines.
POST /v1/judgments/search { "query": str, "limit": int? } Semantic vector search against our judgments compendium.
POST /v1/contract/analyze { "contract_text": str, "analysis_focus": str? } AI-driven contract risk review and recommendations report.
POST /v1/citations/validate { "text": str } Validate legal citations against our database and filter hallucinations.
POST /v1/cases/tag { "description": str, "case_name": str? } Extract relevant legal practice areas and tags from a description.
POST /v1/clients { "full_name": str, ... } Create a new client file folder record.
GET /v1/clients None List active client folders owned by the developer's account/firm.
POST /v1/cases { "case_name": str, "client_id": int, ... } Open a new active legal matter under a client profile.
GET /v1/cases None List legal matters/cases database records.
POST /v1/documents { "case_id": int, "title": str, ... } Upload/save a text draft document into a case folder.
GET /v1/cases/{case_id}/freshness Path parameter: case_id Retrieve document freshness warnings (stale or expiring filing dates).
GET /v1/cases/{case_id}/updates Path parameter: case_id List court proceeding updates and transcription logs.
POST /v1/cases/{case_id}/updates { "transcription": str, ... } Log a new hearing transcription update and set adjourning dates.
POST /v1/cases/{case_id}/summarize Path parameter: case_id Run a structured legal analysis summary on the case details.
POST /v1/cases/{case_id}/draft-email { "key_points": str } Draft a professional email update to the client regarding progress.
POST /v1/draft/multi { "document_set_key": str, "key_facts": str } Draft motion packs, defense packs, or originating packs.

Ready to connect your AI models to Dockase?

Create a developer account in under a minute. No credit card required to start building on the free tier.