Store a certificate

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.usehearsay.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "integrations MCP server": {
    "url": "https://docs.usehearsay.com/mcp"
  }
}

Close
POST /certificates

Stores a collection certificate for a case: its data, the PDF and JSON files (hashed so uploads can be verified later) and the source ids it covers, and records which side created it. Opposing counsel may create one only while that feature is turned on (403 otherwise). Returns 400 when the certificate id already exists and 404 for an unknown case. Requires a role in the organization and access to the case.

Headers

  • organization string Required

    id of the selected (active) organization

application/json

Body Required

  • certificateId string Required
  • certificate object Required
  • pdfBase64 string Required
  • jsonString string Required
  • caseId string Required
  • sourceIds array[string]

Responses

  • 201 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • createdAt string(date-time) Required
      • updatedAt string(date-time) Required
      • id string Required
      • certificateId string Required
      • organization string Required
      • case string Required
      • sourceIds array[string] Required
      • status string Required

        Values are verified, partial, or revoked.

      • generatedBySide string Required

        Values are org or opposing_council.

      • certificate object Required
      • revokedAt string(date-time) | null Required
      • revocationReason string | null Required
      • createdBy string Required
    • statusCode number Required
    • timestamp string(date-time) Required
POST /certificates
curl \
 --request POST 'http://api.example.com/certificates' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --header "organization: string" \
 --data '{
  "certificateId": "string",
  "certificate": {},
  "pdfBase64": "string",
  "jsonString": "string",
  "caseId": "string",
  "sourceIds": [
    "string"
  ]
}'
Request examples
# Headers
organization: string

# Payload
{
  "certificateId": "string",
  "certificate": {},
  "pdfBase64": "string",
  "jsonString": "string",
  "caseId": "string",
  "sourceIds": [
    "string"
  ]
}
Response examples (201)
{
  "data": {
    "createdAt": "2026-01-15T14:30:00.000Z",
    "updatedAt": "2026-01-15T14:30:00.000Z",
    "id": "507f1f77bcf86cd799439011",
    "certificateId": "HC-2026-05-15-A1B2-1F3",
    "organization": "65a1b2c3d4e5f6a7b8c9d0e3",
    "case": "65a1b2c3d4e5f6a7b8c9d0e2",
    "sourceIds": [
      "65a1b2c3d4e5f6a7b8c9d0f4"
    ],
    "status": "verified",
    "generatedBySide": "org",
    "certificate": {
      "generatedAt": "2026-05-15T12:00:00.000Z",
      "dataSummary": {}
    },
    "revokedAt": "2026-05-04T09:42:00Z",
    "revocationReason": "string",
    "createdBy": "65a1b2c3d4e5f6a7b8c9d0e4"
  },
  "statusCode": 201,
  "timestamp": "2026-01-15T10:15:00.000Z"
}