PracticePanther · Schema

Project

JSON Schema for the PracticePanther Project resource

LegalLaw Practice ManagementCase ManagementBillingTrust AccountingTime TrackingLegal Tech

Properties

Name Type Description
guid string
contactsSync array
isEmailSync boolean
isFilesSync boolean
isContactSync boolean
id integer
projectRates array
presetProjectRate object
accountLinks array
number integer
tenantRefNumber integer
nameAndNumber string
tags array
lawToolboxMatters array
name string
accountId integer
account object
evergreenIsOn boolean
evergreenAmount number
isAddEvergreenToInvoice boolean If set to true, we will add the amount required to replenish the retainer to the evergreen amount to the invoice.
isAccountRequired boolean
notes string
dueDate string
openDate string
closeDate string
isDeleted boolean
isEnabled boolean
createdDate string
lastModifiedDate string
createdBy object
lastModifiedBy object
assignedTo array
originatedById integer
originatedBy object
tenantId integer
tenant object
customFieldValues array
userImapSyncs array
feeds array
timeEntries array
flatFees array
boxFolderId string
dropboxFolderId string
googleDriveFolderId string
oneDriveFolderId string
ledesClientMatterId string
hourlyRate number
flatRate number
contingencyRatePercent number
isFlatRateBilled boolean Indicates if the flat rate has been billed. If false, the flat rate is still billable and will be added to the account (contact) and project (matter) billable totals.
billableFlatRate number
hourlyRateType string
status string
expenses array
saleDocuments array
attachments array
payments array
projectTotal object
intakeForms array
activities array
conversations array
blobs array
usersFollowing array
paymentSources array
defaultPaymentSourceGuid string Used to set the reference in POST and PUT
defaultPaymentSource object
recurringPayments array
boxSharedFolderUrl string
twilioTextMessages array
saleDocumentTemplateGuid string Used to set the reference in POST and PUT
invoiceMatterRecipients array
View JSON Schema on GitHub

JSON Schema

practicepanther-project-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/practicepanther/main/json-schema/practicepanther-project-schema.json",
  "title": "Project",
  "description": "JSON Schema for the PracticePanther Project resource",
  "type": "object",
  "properties": {
    "guid": {
      "type": "string",
      "format": "uuid"
    },
    "contactsSync": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ContactSync"
      }
    },
    "isEmailSync": {
      "type": "boolean"
    },
    "isFilesSync": {
      "type": "boolean"
    },
    "isContactSync": {
      "type": "boolean"
    },
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "projectRates": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ProjectRate"
      }
    },
    "presetProjectRate": {
      "$ref": "#/$defs/PresetProjectRate"
    },
    "accountLinks": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AccountProjectLink"
      }
    },
    "number": {
      "type": "integer",
      "format": "int32"
    },
    "tenantRefNumber": {
      "type": "integer",
      "format": "int32"
    },
    "nameAndNumber": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Tag"
      }
    },
    "lawToolboxMatters": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/LawToolboxMatter"
      }
    },
    "name": {
      "type": "string"
    },
    "accountId": {
      "type": "integer",
      "format": "int64"
    },
    "account": {
      "$ref": "#/$defs/Account"
    },
    "evergreenIsOn": {
      "type": "boolean"
    },
    "evergreenAmount": {
      "type": "number",
      "format": "double"
    },
    "isAddEvergreenToInvoice": {
      "type": "boolean",
      "description": "If set to true, we will add the amount required to replenish the retainer to the evergreen amount to the invoice."
    },
    "isAccountRequired": {
      "type": "boolean"
    },
    "notes": {
      "type": "string"
    },
    "dueDate": {
      "type": "string",
      "format": "date-time"
    },
    "openDate": {
      "type": "string",
      "format": "date-time"
    },
    "closeDate": {
      "type": "string",
      "format": "date-time"
    },
    "isDeleted": {
      "type": "boolean"
    },
    "isEnabled": {
      "type": "boolean"
    },
    "createdDate": {
      "type": "string",
      "format": "date-time"
    },
    "lastModifiedDate": {
      "type": "string",
      "format": "date-time"
    },
    "createdBy": {
      "$ref": "#/$defs/User"
    },
    "lastModifiedBy": {
      "$ref": "#/$defs/User"
    },
    "assignedTo": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/User"
      }
    },
    "originatedById": {
      "type": "integer",
      "format": "int32"
    },
    "originatedBy": {
      "$ref": "#/$defs/User"
    },
    "tenantId": {
      "type": "integer",
      "format": "int64"
    },
    "tenant": {
      "$ref": "#/$defs/Tenant"
    },
    "customFieldValues": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CustomFieldValue"
      }
    },
    "userImapSyncs": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/UserImapSync"
      }
    },
    "feeds": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Feed"
      }
    },
    "timeEntries": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/TimeEntry"
      }
    },
    "flatFees": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/FlatFee"
      }
    },
    "boxFolderId": {
      "type": "string"
    },
    "dropboxFolderId": {
      "type": "string"
    },
    "googleDriveFolderId": {
      "type": "string"
    },
    "oneDriveFolderId": {
      "type": "string"
    },
    "ledesClientMatterId": {
      "type": "string"
    },
    "hourlyRate": {
      "type": "number",
      "format": "double",
      "minimum": 0,
      "maximum": 2147483647
    },
    "flatRate": {
      "type": "number",
      "format": "double",
      "minimum": 0,
      "maximum": 2147483647
    },
    "contingencyRatePercent": {
      "type": "number",
      "format": "double",
      "minimum": 0,
      "maximum": 2147483647
    },
    "isFlatRateBilled": {
      "type": "boolean",
      "description": "Indicates if the flat rate has been billed.\r\nIf false, the flat rate is still billable and will be added to the account (contact) and project (matter) billable totals."
    },
    "billableFlatRate": {
      "type": "number",
      "format": "double"
    },
    "hourlyRateType": {
      "type": "string",
      "enum": [
        "ItemRate",
        "UserRate",
        "ProjectRate",
        "FlatRate",
        "Contingency",
        "PresetProjectRate"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "Closed",
        "Pending",
        "Open",
        "Archived"
      ]
    },
    "expenses": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Expense"
      }
    },
    "saleDocuments": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/SaleDocument"
      }
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Attachment"
      }
    },
    "payments": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Payment"
      }
    },
    "projectTotal": {
      "$ref": "#/$defs/ProjectTotal"
    },
    "intakeForms": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/IntakeForm"
      }
    },
    "activities": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Activity"
      }
    },
    "conversations": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Conversation"
      }
    },
    "blobs": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Blob"
      }
    },
    "usersFollowing": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/User"
      }
    },
    "paymentSources": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PaymentSource"
      }
    },
    "defaultPaymentSourceGuid": {
      "type": "string",
      "format": "uuid",
      "description": "Used to set the reference in POST and PUT "
    },
    "defaultPaymentSource": {
      "$ref": "#/$defs/PaymentSource"
    },
    "recurringPayments": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/RecurringPayment"
      }
    },
    "boxSharedFolderUrl": {
      "type": "string"
    },
    "twilioTextMessages": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/TwilioTextMessageChat"
      }
    },
    "saleDocumentTemplateGuid": {
      "type": "string",
      "format": "uuid",
      "description": "Used to set the reference in POST and PUT "
    },
    "invoiceMatterRecipients": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoiceMatterRecipients"
      }
    }
  },
  "required": [
    "id",
    "name"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/practicepanther-project"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.