DepoGenius

Links

DepoGenius API Reference

Welcome to the DepoGenius API documentation. Our API enables programmatic access to deposition analysis and document processing capabilities.

For enterprise API access and pricing information, please contact Blake Boyd at bboyd[at]depogenius.com

Authentication

All API requests require an API key. Include your API key in the request body for POST requests or as a query parameter for GET requests. API keys can be obtained through your DepoGenius dashboard.

If an invalid or expired API key is used, the API will return a 401 Unauthorized response. For inactive API keys, a 403 Forbidden response will be returned.


File Upload

POST /v1_upload

Upload files for analysis. Supports PDF, TXT, and image files up to 200MB.

Request Format:

Send a multipart/form-data request with: - file: The file to upload - apiKey: Your API key

Example Request:
const formData = new FormData();
formData.append('file', file);
formData.append('apiKey', 'your_api_key');

const response = await fetch(
  'https://us-central1-depogenius.cloudfunctions.net/v1_upload',
  {
    method: 'POST',
    body: formData
  }
);

const result = await response.json();
// Success response: { fileId: "abc123..." }
// Error response: { error: "Error message" }

Analysis Request

POST /v1_analysis

Submit documents for analysis with custom prompts. You can include multiple attachments and depositions in a single request.

Request Format:
  • apiKey (required): Your API key
  • attachments (optional): Array of file IDs from upload endpoint
  • depositions (optional): Array of deposition objects
  • petitionId (optional): ID of associated petition
  • prompt (required): Analysis instructions
Example Request:
const response = await fetch(
  'https://us-central1-depogenius.cloudfunctions.net/v1_analysis',
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      apiKey: "your_api_key",
      attachments: ["fileId1", "fileId2"],  // Optional
      depositions: [  // Optional
        {
          id: "depoId1",
          exhibits: ["exhibitFileId1", "exhibitFileId2"]  // Optional: Array of exhibit file IDs
        },
        {
          id: "depoId2",
          exhibits: ["exhibitFileId3"]
        }
      ],
      petitionId: "petitionFileId",  // Optional
      prompt: "Generate a summary of the case", 
      options: {  // Optional, default values shown
        responseMimeType: "text/plain",
        temperature: 0.2,
        top_k: 40,
        top_p: 0.95,
        systemInstruction: "You are an legal researcher..."
      }
    })
  }
)

Retrieve Results

GET /v1_insights

Retrieve analysis results using the analysisId from the analysis request. Poll this endpoint to check the status of your analysis.

Example Request:
const response = await fetch(
  'https://us-central1-depogenius.cloudfunctions.net/v1_insights?' +
  new URLSearchParams({
    analysisId: 'xyz789',
    apiKey: 'your_api_key'
  })
);

const result = await response.json();
// Response while processing: { status: "initialized" }
// Success response: {
//   status: "complete",
//   apiVersion: "v1",
//   completedAt: 1234567890,
//   requestedAt: 1234567890,
//   response: "Analysis results..."
// }
// Error response: {
//   status: "error",
//   error: { message: "Error details..." }
// }