openapi: 3.0.0 info: version: v1 title: Legacy API (v1) Account Invoice API description: '' servers: - url: https://app.practicepanther.com tags: - name: Invoice paths: /api/invoice/{guid}: get: tags: - Invoice summary: Returns an invoice operationId: Invoice_GetInvoice parameters: - name: guid in: path description: '' required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SaleDocumentDTO_Detail' text/json: schema: $ref: '#/components/schemas/SaleDocumentDTO_Detail' security: - oauth2: - full /api/invoice: get: tags: - Invoice summary: OData end point to get a list of all invoices accessible by the user operationId: Invoice_GetInvoices responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/SaleDocumentDTO' text/json: schema: type: array items: $ref: '#/components/schemas/SaleDocumentDTO' security: - oauth2: - full delete: tags: - Invoice summary: Marks an existing invoice as deleted, will remove all amounts applied on invoices. operationId: Invoice_DeleteInvoice parameters: - name: guid in: query description: '' required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SaleDocumentDTO_Detail' text/json: schema: $ref: '#/components/schemas/SaleDocumentDTO_Detail' security: - oauth2: - full components: schemas: AccountRef: type: object properties: nameAndNumber: description: ' ' type: string readOnly: true guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 utbmsIsEnabled: type: boolean id: format: int64 type: integer Contact: description: Contact domain methods - business logic and factory methods required: - id type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer photo: $ref: '#/components/schemas/Blob' photoThumbnail: type: array items: $ref: '#/components/schemas/Blob' firstName: type: string lastName: type: string middleName: type: string fullName: type: string readOnly: true displayName: type: string email: type: string mobile: type: string home: type: string office: type: string ext: type: string fax: type: string salutation: type: string position: type: string prefix: type: string notes: type: string skypeId: type: string twitter: type: string jobTitle: type: string gender: enum: - Male - Female type: string isEmailOptOut: type: boolean isEnabled: type: boolean isDeleted: type: boolean type: enum: - Contact - Lead type: string accountId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' BankAccount: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string description: type: string type: enum: - Operating - Trust - CreditCard type: string isDefault: type: boolean isArchived: type: boolean tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string openingBalance: format: double type: number quickbooksId: type: string quickbooksIsDepositToUndepositedFunds: type: boolean isPrintDepositSlips: description: If checked, we will add all cash and check payments to these accounts to the deposit slip queue type: boolean xeroId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 lawPayAchAccountName: type: string lawPayAchAccountId: type: string lawPayMerchantAccountName: type: string lawPayMerchantAccountId: type: string headNoteId: type: string status: enum: - Created - Failed - Success - Archived type: string currencyCode: type: string accountNumber: type: string routingNumber: type: string swiftCode: type: string accountHolder: type: string institution: type: string domicileBranch: type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' payments: type: array items: $ref: '#/components/schemas/Payment' firmPayments: type: array items: $ref: '#/components/schemas/FirmPayment' isDeleted: type: boolean isEnabled: type: boolean isDirty: type: boolean lastReconciledDate: format: date-time type: string trustbooksOnboardingStep: format: int32 type: integer UserRef: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 displayName: description: ' ' type: string readOnly: true name: description: ' ' type: string readOnly: true timeZoneId: type: string InventoryTransfer: type: object properties: id: format: int64 type: integer type: enum: - Transfer - PurchaseOrder - Update type: string isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' referenceNumber: type: string vendorId: format: int64 type: integer vendor: $ref: '#/components/schemas/Account' sentBy: $ref: '#/components/schemas/User' sentDate: format: date-time type: string receivedBy: $ref: '#/components/schemas/User' receivedDate: format: date-time type: string productLogs: type: array items: $ref: '#/components/schemas/ProductLog' status: enum: - Created - Sent - ReceivedOk - ReceivedError - Lost type: string readOnly: true inventoryTransferItems: type: array items: $ref: '#/components/schemas/InventoryTransferItem' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' isReviewed: type: boolean reviewedBy: $ref: '#/components/schemas/User' reviewedDate: format: date-time type: string description: type: string isAutoSend: type: boolean isAutoReceive: type: boolean shipments: type: array items: $ref: '#/components/schemas/Shipment' qtyReceived: format: double type: number readOnly: true qtySent: format: double type: number readOnly: true qtyLost: format: double type: number readOnly: true CustomFieldValue: required: - customField type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 accountId: format: int64 type: integer projectId: format: int64 type: integer contactId: format: int64 type: integer contact: $ref: '#/components/schemas/Contact' customFieldId: format: int64 type: integer valueContactId: format: int64 type: integer valueContact: $ref: '#/components/schemas/Contact' customField: $ref: '#/components/schemas/CustomField' valueString: type: string valueNumber: format: double type: number valueDateTime: format: date-time type: string valueBoolean: type: boolean ConversationParticipant: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 conversation: $ref: '#/components/schemas/Conversation' contact: $ref: '#/components/schemas/Contact' user: $ref: '#/components/schemas/User' lastReadDate: format: date-time type: string status: enum: - Read - Unread type: string isDeleted: type: boolean isArchived: type: boolean ExpenseRef: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: description: ' ' type: string readOnly: true FirmPayment: required: - amount - method - name - number - isDeleted - paymentDate - guid - tenantId - firmPaymentType type: object properties: id: format: int64 type: integer amount: format: double type: number method: enum: - Cash - Check - CreditCard - PayPal - AuthorizeNet - Other - Stripe - Wire - Transfer - LawPay - PantherPaymentsCC - PantherPaymentsECheck - JournalEntry type: string name: maxLength: 50 minLength: 0 type: string number: format: int32 type: integer isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdById: format: int32 type: integer lastModifiedById: format: int32 type: integer paymentDate: format: date-time type: string guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 notes: maxLength: 1000 minLength: 0 type: string tenantId: format: int64 type: integer firmPaymentType: enum: - Withdrawal - Deposit type: string bankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 trustBooksReconciledById: format: int32 type: integer trustBooksReconciledDate: format: date-time type: string payeeId: format: int64 type: integer payorId: format: int64 type: integer checkIsPrinted: type: boolean checkNumber: format: int64 type: integer chartOfAccountId: format: int64 type: integer trustbooksJournalEntryGuid: description: 'Used to set the reference in POST and PUT ' type: string depositSlipId: format: int64 type: integer isDepositSlipPrinted: type: boolean receipt_Id: format: int64 type: integer referenceNumber: type: string reconciledById: format: int32 type: integer reconciledDate: format: date-time type: string ProjectRef: type: object properties: nameAndNumber: description: This is a read only property This is a read only property type: string readOnly: true guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 accountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer Feed: type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 text: type: string title: type: string contactId: format: int64 type: integer contact: $ref: '#/components/schemas/Contact' accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' activityReminderId: format: int64 type: integer activityReminder: $ref: '#/components/schemas/ActivityReminder' paymentId: format: int64 type: integer payment: $ref: '#/components/schemas/Payment' saleDocumentId: format: int32 type: integer saleDocument: $ref: '#/components/schemas/SaleDocument' productId: format: int64 type: integer product: $ref: '#/components/schemas/Product' projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' userId: format: int32 type: integer user: $ref: '#/components/schemas/User' activityId: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' campaignId: format: int64 type: integer campaign: $ref: '#/components/schemas/Campaign' blobId: format: int64 type: integer blob: $ref: '#/components/schemas/Blob' timeEntryId: format: int64 type: integer timeEntry: $ref: '#/components/schemas/TimeEntry' flatFeeId: format: int64 type: integer flatFee: $ref: '#/components/schemas/FlatFee' expenseId: format: int64 type: integer expense: $ref: '#/components/schemas/Expense' isDeleted: type: boolean createdDate: format: date-time type: string createdById: format: int32 type: integer createdBy: $ref: '#/components/schemas/User' lastModifiedDate: format: date-time type: string lastModifiedById: format: int32 type: integer lastModifiedBy: $ref: '#/components/schemas/User' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' type: enum: - Note - Notification - Reminder - AccountingOnboardingCompleted type: string url: type: string readOnly: true image: type: string readOnly: true feedNotifications: type: array items: $ref: '#/components/schemas/FeedNotification' depositSlipFeed: $ref: '#/components/schemas/DepositSlipFeed' PaymentRef: required: - amount - date - method type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 amount: format: double description: The total amount received. type: number name: description: ' ' type: string readOnly: true date: format: date-time type: string method: enum: - Cash - Check - CreditCard - PayPal - AuthorizeNet - Other - Stripe - Wire - Transfer - LawPay - PantherPaymentsCC - PantherPaymentsECheck - JournalEntry type: string methodName: type: string readOnly: true UserPopUpSettings: type: object properties: isHideWelcomePopup: type: boolean isHideClientPopup: type: boolean isHideProjectPopup: type: boolean isHideTimeEntryExpensePopup: type: boolean isHideInvoicePopup: type: boolean isHideEmailClientPopup: type: boolean isHideTaskPopup: type: boolean NoteProperties: type: object properties: noteDateTime: format: date-time type: string SaleDocumentItemDTO: type: object properties: rowIndex: format: int32 description: Controls the order of the items when displayed on the invoice/ type: integer qty: format: double description: Can be either positive or negative. Set to negative to apply a discount on the invoice. type: number description: type: string entryDate: format: date-time description: Used for items of type "TimeEntry" to indicate the date of the time entry. type: string userName: description: Used for items of type "TimeEntry" to indicate the user billing for the time. type: string price: format: double description: Must be positive. type: number tax1Data: $ref: '#/components/schemas/SalesTaxData' tax1: format: double description: Shows the total amount of Tax1 applied to this item/ Shows the total amount of Tax1 applied to this item/ type: number readOnly: true tax2Data: $ref: '#/components/schemas/SalesTaxData' tax2: format: double description: ' ' type: number readOnly: true projectGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 projectName: type: string projectNumber: format: int32 type: integer discount: format: double description: Calculated from SaleDocument.DiscountPercent Calculated from SaleDocument.DiscountPercent type: number readOnly: true sub: format: double description: Calculated as Qty * Price Calculated as Qty * Price type: number readOnly: true total: format: double description: Calculated as Sub + (Sub * Tax) Calculated as Sub + (Sub * Tax) type: number readOnly: true type: description: Indicates if this is a regular invoice item or a time entry invoice item. enum: - RegularItem - TimeEntryItem - ExpenseItem - InterestItem - EmptyItem type: string timeEntries: type: array items: $ref: '#/components/schemas/TimeEntryRef' expenses: type: array items: $ref: '#/components/schemas/ExpenseRef' flatFees: type: array items: $ref: '#/components/schemas/FlatFeeRef' flatFeesGuids: description: Used to set the reference in POST and PUTReferences the flat fees billed on this item. References the flat fees billed on this item. type: string timeEntriesGuids: description: Used to set the reference in POST and PUTReferences the time entries billed on this item. References the time entries billed on this item. type: string expensesGuids: description: Used to set the reference in POST and PUTReferences the expenses billed on this item. References the expenses billed on this item. type: string flatRateProjectId: format: int64 description: References the flat rate projects that were billed on this item. type: integer ledesUtbmsCode: type: string ledesItemCode: type: string ledesExpenseCode: type: string ledesTimekeeperClass: type: string chartOfAccountId: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string PaymentImportMatch: required: - matchId type: object properties: tenant: $ref: '#/components/schemas/Tenant' tenantId: format: int64 type: integer payment: $ref: '#/components/schemas/Payment' paymentId: format: int64 type: integer depositSlipId: format: int64 type: integer depositSlip: $ref: '#/components/schemas/DepositSlip' matchId: type: string source: enum: - PLAID - CSV type: string createdAt: format: date-time type: string DefaultReminder: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 timeType: enum: - Day - Hour - Minute type: string time: format: int32 type: integer notificationType: enum: - Popup - Email - SMS type: string userId: format: int32 type: integer user: $ref: '#/components/schemas/User' workFlowEventId: format: int64 type: integer workFlowTaskId: format: int64 type: integer workFlowTask: $ref: '#/components/schemas/WorkflowTask' createdDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' isDeleted: type: boolean Product: required: - id - name - salePrice type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer name: type: string code: type: string description: type: string costPrice: format: double type: number salePrice: format: double type: number isPriceIncludesTax: type: boolean isOverrideHourlyRate: type: boolean isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' tenant_Id: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' family: $ref: '#/components/schemas/Family' tax1Id: format: int64 type: integer tax1: $ref: '#/components/schemas/SalesTax' tax2Id: format: int64 type: integer tax2: $ref: '#/components/schemas/SalesTax' photos: type: array items: $ref: '#/components/schemas/Blob' isInventoried: type: boolean qtyAvailable: format: double type: number partnerships: type: array items: $ref: '#/components/schemas/Partnership' productLogs: type: array items: $ref: '#/components/schemas/ProductLog' priceListItems: type: array items: $ref: '#/components/schemas/PriceListItem' productVendors: type: array items: $ref: '#/components/schemas/ProductVendor' inventories: type: array items: $ref: '#/components/schemas/Inventory' feeds: type: array items: $ref: '#/components/schemas/Feed' chartOfAccountId: format: int64 type: integer chartOfAccount: $ref: '#/components/schemas/ChartOfAccount' AccountProjectLink: required: - accountId - projectId type: object properties: isRelationshipSelected: type: boolean guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' contactId: format: int64 type: integer contact: $ref: '#/components/schemas/Contact' projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' relationshipName: type: string notes: type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' CustomFieldSet: required: - name type: object properties: tenant: $ref: '#/components/schemas/Tenant' guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string objectType: enum: - Account - Project - Contact - User - Address type: string customFields: type: array items: $ref: '#/components/schemas/CustomField' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' isDeleted: type: boolean MailServerSettings: type: object properties: provider: enum: - AOL - Gmail - Hotmail - iCloud - Outlook - Yahoo - Other - Office365 type: string isEnabled: type: boolean serverAddress: type: string serverPort: format: int32 type: integer encryptionType: enum: - None - SSL type: string username: type: string password: type: string isPasswordEncrypted: type: boolean isRequiresAuthentication: type: boolean WorkflowTask: required: - name type: object properties: id: format: int64 type: integer workflowId: format: int64 type: integer workflow: $ref: '#/components/schemas/Workflow' name: type: string description: type: string isDueDate: type: boolean numOfDays: format: int32 type: integer daysType: enum: - Days - BusinessDays - Weeks - Months - Years type: string beforeOrAfter: enum: - Before - After type: string dueOrCompletionDate: enum: - DueDate - CompletionDate type: string workFlowParentTaskId: format: int64 type: integer workflowEventId: format: int64 type: integer workflowEvent: $ref: '#/components/schemas/WorkflowEvent' assignedToUsers: type: array items: $ref: '#/components/schemas/User' priority: enum: - Low - Medium - High type: string eventColor: type: string tags: type: array items: $ref: '#/components/schemas/Tag' isSendNotificationEmail: type: boolean reminders: type: array items: $ref: '#/components/schemas/DefaultReminder' isTaskConditional: type: boolean SaleDocumentTemplate: type: object properties: name: type: string id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 templateName: enum: - CustomCss - Style - Style2 - Style3 - Style4 - Style5 - Style6 - Style7 - Style8 - Style9 - Style10 - Style11 type: string isDefault: type: boolean customTemplateCss: type: string company_IsShowCompanyLogo: type: boolean company_IsShowCompanyAddress: type: boolean company_IsShowCompanyWorkNumber: type: boolean company_IsShowCompanyMobileNumber: type: boolean company_IsShowcompanyFaxNumber: type: boolean company_IsShowCompanyWebsite: type: boolean company_IsShowCompanyEmail: type: boolean company_IsShowAssignedToEmail: type: boolean account_IsShowContactAddress: type: boolean account_IsShowContactHomeNumber: type: boolean account_IsshowContactOfficeNumber: type: boolean account_IsShowContactFaxNumber: type: boolean account_IsShowContactEmail: type: boolean project_IsShowProjectName: type: boolean project_ProjectName: type: string project_IsShowLedesId: type: boolean project_LedesIdName: type: string saleDocument_IsShowInvoiceTitle: type: boolean saleDocument_InvoiceTitle: type: string saleDocument_IsShowQuoteTitle: type: boolean saleDocument_QuoteTitle: type: string saleDocument_IsShowSaleDocumentNumber: type: boolean saleDocument_SaleDocumentNumberText: type: string saleDocument_IsShowSaleDocumentIssueDate: type: boolean saleDocument_SaleDocumentIssueDateText: type: string saleDocument_IsShowInvoiceDueDate: type: boolean saleDocument_InvoiceDueDateText: type: string saleDocument_IsShowQuoteExpDate: type: boolean saleDocument_QuoteExpDateText: type: string saleDocument_IsShowSaleDocumentReferenceNumber: type: boolean saleDocument_SaleDocumentReferenceNumberText: type: string saleDocumentTemplateDepositTo: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 time_IsShowTimeItemColumn: type: boolean time_TimeItemColumnHeaderText: type: string time_IsShowTimeDescriptionColumn: type: boolean time_TimeDescriptionColumnHeaderText: type: string time_IsShowTimeUserColumn: type: boolean time_TimeUserColumnHeaderText: type: string time_IsShowTimeUserInitialsInsteadOfFullName: type: boolean time_IsShowTimeDateColumn: type: boolean time_TimeDateColumnHeaderText: type: string time_IsShowTimeHoursColumn: type: boolean time_TimeHoursColumnHeaderText: type: string time_IsShowTimeRateColumn: type: boolean time_TimeRateColumnHeaderText: type: string time_IsShowTimeSubtotalColumn: type: boolean time_TimeSubtotalColumnHeaderText: type: string time_IsShowTimeDiscountColumn: type: boolean time_TimeDiscountColumnHeaderText: type: string time_IsShowSummary: type: boolean time_IsShowItemCode: type: boolean time_IsShowUtbmsCode: type: boolean time_IsShowSummaryByUser: type: boolean items_IsShowItemsItemColumn: type: boolean items_ItemsItemColumnHeaderText: type: string items_IsShowItemsDescriptionColumn: type: boolean items_ItemsDescriptionColumnHeaderText: type: string items_IsShowItemsUserColumn: type: boolean items_IsShowUserInitialsInsteadOfFullName: type: boolean items_IsShowItemsQtyColumn: type: boolean items_ItemsQtyColumnHeaderText: type: string items_IsShowItemsPriceColumn: type: boolean items_ItemsPriceColumnHeaderText: type: string items_IsShowItemsSubtotalColumn: type: boolean items_ItemsSubtotalColumnHeaderText: type: string items_ItemsShowDiscountColumn: type: boolean items_ItemsDiscountColumnHeaderText: type: string items_IsShowSummary: type: boolean payments_IsShowPaymentNotes: type: boolean payments_IsShowPaymentDate: type: boolean payments_IsShowFullPaymentAmount: type: boolean summary_TrustAccountBalanceText: type: string summary_IsShowTrustAccountBalance: type: boolean summary_IsShowTrustAccountLedger: type: boolean summary_TrustAccountLedgerType: enum: - SinceLastPaidInvoice - SinceLastInvoice - LastMonth - AllTime type: string summary_OperatingAccountBalanceText: type: string summary_IsShowOperatingAccountBalance: type: boolean summary_IsShowOperatingAccountLedger: type: boolean summary_OperatingAccountLedgerType: enum: - SinceLastPaidInvoice - SinceLastInvoice - LastMonth - AllTime type: string summary_ShowAccountSummaryAndLedgerPerContactOrMatter: enum: - Account - Project type: string summary_IsShowOnlinePaymentButton: type: boolean summary_OnlinePaymentButtonText: type: string summary_IsShowTermsAndConditions: type: boolean summary_TermsAndConditionsHeaderText: type: string expense_IsShowItemColumn: type: boolean expense_ItemColumnHeaderText: type: string expense_IsShowDescriptionColumn: type: boolean expense_DescriptionColumnHeaderText: type: string expense_IsShowUserColumn: type: boolean expense_UserColumnHeaderText: type: string expense_IsShowUserInitialsInsteadOfFullName: type: boolean expense_IsShowDateColumn: type: boolean expense_DateColumnHeaderText: type: string items_IsShowDateColumn: type: boolean items_DateColumnHeaderText: type: string expense_IsShowQuantityColumn: type: boolean expense_QuantityColumnHeaderText: type: string expense_IsShowPriceColumn: type: boolean expense_PriceColumnHeaderText: type: string expense_IsShowSubtotalColumn: type: boolean expense_SubtotalColumnHeaderText: type: string expense_IsShowDiscountColumn: type: boolean expense_DiscountColumnHeaderText: type: string expense_IsShowSummary: type: boolean expense_IsShowItemCode: type: boolean summary_ReplenishRetainerInvoiceText: type: string defaultInvoiceTermsAndConditions: type: string defaultQuoteTermsAndConditions: type: string defaultInvoiceNotes: type: string defaultInvoiceNotesPosition: enum: - Bottom - Top type: string saleDocument_Default_DueDate_Days: format: int32 description: Set to true to send automatic payment reminders to this client. type: integer saleDocument_Default_DueDate_Option: enum: - DaysAfterInvoiceDate - OfTheCurrentMonth - OfTheFollowingMonth type: string saleDocument_Default_IsSendInvoicePaymentReminders: description: Set to true to send automatic payment reminders to this client. type: boolean saleDocument_Default_IsSendQuoteApprovalReminders: type: boolean saleDocument_Default_IsUseCreditToPayBalance: description: Used during PUT/POST. If set to true all available operating account credit (for this account / project) will automatically be applied to this invoice to pay any amount due. type: boolean saleDocument_Default_IsUseTrustToPayBalance: description: Used during PUT/POST. If set to true will automatically transfer funds from the trust account to the operating account and apply them on this invoice. type: boolean saleDocument_Default_IsAllowOnlinePayment: description: Invoices of type Sale only. If set to true, will accept online payment on this invoice. Online payments must be enabled for this to apply. type: boolean saleDocument_Default_IsAllowPartialPayment: description: Invoices of type Sale only. If set to true, will accept online payment on this invoice for less than the full amount due. Online payments must be enabled for this to apply. type: boolean saleDocument_Default_IsCarryForwardBalance: description: Invoices of type Sale only. If set to true, will add to the total balance all unpaid invoices type: boolean saleDocument_Default_CarryForwardBalanceType: enum: - Account - Project type: string saleDocument_Default_Tax1Guid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 saleDocument_Default_Tax2Guid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 defaultInterest: $ref: '#/components/schemas/InterestOptions' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' defaultLedesFormat: enum: - B98 - B198 type: string time_TimeKeeperSummaryExcludeWriteDowns: type: boolean PriceList: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer name: type: string isFixedPriceLevel: type: boolean fixedPriceLevelPercent: format: double type: number isRoundToNearest: type: boolean roundToNearest: enum: - d00 - d05 - d50 - d95 - d99 type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' priceListItems: type: array items: $ref: '#/components/schemas/PriceListItem' accounts: type: array items: $ref: '#/components/schemas/Account' locations: type: array items: $ref: '#/components/schemas/Location' websites: type: array items: $ref: '#/components/schemas/Website' tenant: $ref: '#/components/schemas/Tenant' RecurringPaymentSchedule: type: object properties: start: format: date-time description: The start date for the schedule such that the first occurrence may be executed on or after this date type: string end: format: date-time description: The end date for the schedule such that the last occurrence is executed on or before this date (optional) type: string intervalDelay: format: int32 description: " The frequency with which the schedule is executed, in terms of the interval_unit.\r\nFor example, if the interval unit is DAY, an interval delay of 1 means the schedule is executed every day; an interval delay of 2 means execution every other day; and an interval delay of 30 would mean the schedule is executed every 30 days." type: integer intervalUnit: description: "The interval unit of the schedule. Enumeration of:\r\nDAY - Scheduled payments are performed every n days, based on the interval_delay.\r\nWEEK - Scheduled payments are performed every n weeks, based on the interval_delay.\r\nMONTH - Scheduled payments are performed every n months, based on the interval_delay." enum: - Day - Week - Month - Custom type: string surchargesEnabled: type: boolean Family: required: - name type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int32 type: integer name: type: string number: type: string products: type: array items: $ref: '#/components/schemas/Product' tenant: $ref: '#/components/schemas/Tenant' PresetProjectRate: required: - name type: object properties: id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string description: type: string projectRates: type: array items: $ref: '#/components/schemas/ProjectRate' projects: type: array items: $ref: '#/components/schemas/Project' isDeleted: type: boolean isEnabled: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' tenant: $ref: '#/components/schemas/Tenant' SaleDocumentPayment: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer openBalance: format: double type: number readOnly: true appliedDate: format: date-time type: string amount: format: double type: number saleDocumentId: format: int32 type: integer saleDocument: $ref: '#/components/schemas/SaleDocument' payment: $ref: '#/components/schemas/Payment' paymentId: format: int64 type: integer creditId: format: int64 type: integer credit: $ref: '#/components/schemas/Credit' Tag: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer name: type: string accounts: type: array items: $ref: '#/components/schemas/Account' projects: type: array items: $ref: '#/components/schemas/Project' activities: type: array items: $ref: '#/components/schemas/Activity' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdById: format: int32 type: integer createdBy: $ref: '#/components/schemas/User' lastModifiedById: format: int32 type: integer lastModifiedBy: $ref: '#/components/schemas/User' tagFor: enum: - Account - Project - Activity type: string Activity: required: - name type: object properties: date: format: date-time type: string shares: type: array items: $ref: '#/components/schemas/Share' workflowId: format: int64 type: integer workflow: $ref: '#/components/schemas/Workflow' activitiesSync: type: array items: $ref: '#/components/schemas/ActivitySync' guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer googleId: type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string recurrenceStopDate: format: date-time type: string createdById: format: int32 type: integer createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' lawToolboxCourtRule_Id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 lawToolboxCourtRule: $ref: '#/components/schemas/LawToolboxCourtRule' lawToolboxDeadlineId: type: string lawToolboxDeadlineNumber: type: string tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' isHoursLoggedManually: description: sets if the activity should be marked as "time logged" even if no time was linked to it. type: boolean recurrenceId: format: int64 description: will show the realted recurrence for this event, if such exists type: integer recurrence: $ref: '#/components/schemas/Recurrence' type: enum: - Call - Task - Event - Email - Note type: string accountId: format: int64 pattern: ^(\s*|\d+)$ type: integer account: $ref: '#/components/schemas/Account' contactId: format: int64 type: integer contact: $ref: '#/components/schemas/Contact' projectId: format: int64 pattern: ^(\s*|\d+)$ type: integer project: $ref: '#/components/schemas/Project' saleDocumentId: format: int64 type: integer saleDocument: $ref: '#/components/schemas/SaleDocument' name: type: string description: type: string assignedToUsers: type: array items: $ref: '#/components/schemas/User' assignedToContacts: type: array items: $ref: '#/components/schemas/Contact' htmlBody: $ref: '#/components/schemas/Blob' dueDate: format: date-time type: string taskCompleteDate: format: date-time type: string startDateTime: format: date-time type: string endDateTime: format: date-time type: string isAllDayActivity: type: boolean location: type: string status: enum: - NotCompleted - InProgress - Completed - Conditional type: string mandrillId: type: string isPrivate: type: boolean priority: enum: - Low - Medium - High type: string isSendNotificationEmail: type: boolean isSendCompletedEmail: type: boolean isSendTaskCompleteEmail: type: boolean isRecurringActivity: type: boolean recurringActivityStartDate: format: date-time type: string recurringActivityEndDate: format: date-time type: string recurringRepeatType: enum: - None - Daily - Weekly - Monthly - Yearly type: string callType: enum: - Inbound - Outbound type: string tags: type: array items: $ref: '#/components/schemas/Tag' eventColor: type: string emailProperties: $ref: '#/components/schemas/EmailProperties' noteProperties: $ref: '#/components/schemas/NoteProperties' callProperties: $ref: '#/components/schemas/CallProperties' timeEntries: type: array items: $ref: '#/components/schemas/TimeEntry' flatFees: type: array items: $ref: '#/components/schemas/FlatFee' eventBackgroundColor: type: string blobs: type: array items: $ref: '#/components/schemas/Blob' invitees: type: array items: $ref: '#/components/schemas/Invitee' activityReminders: type: array items: $ref: '#/components/schemas/ActivityReminder' activityConditionalTasks: type: array items: $ref: '#/components/schemas/ActivityConditionalTask' completedTask: $ref: '#/components/schemas/CompletedTask' TwilioTextMessageChat: required: - contact - tenant - createdBy type: object properties: id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 unreadCount: format: int32 maximum: 2147483647 minimum: 0 type: integer lastMessageText: maxLength: 320 minLength: 0 type: string isLastMessageIncoming: type: boolean contact: $ref: '#/components/schemas/Contact' projects: type: array items: $ref: '#/components/schemas/Project' tenant: $ref: '#/components/schemas/Tenant' createdBy: $ref: '#/components/schemas/User' createdDate: format: date-time type: string lastMessageSentDate: format: date-time type: string AccountTotal: required: - tenantId type: object properties: accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' tenantId: format: int64 type: integer trust: format: double type: number paid: format: double type: number operating: format: double type: number billable: format: double type: number operatingUnappliedCredit: format: double type: number invoicesDue: format: double type: number operatingPaid: format: double type: number ccPaid: format: double type: number createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string PaymentReminder: required: - tenant type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 isDeleted: type: boolean isEnabled: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' tenant: $ref: '#/components/schemas/Tenant' dueOverdue: enum: - Before - After type: string numOfDays: format: int32 minimum: 0 type: integer subject: type: string body: type: string reminderMinAmountDue: format: double minimum: 0 type: number ActivityConditionalTask: type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 activityTaskGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 isConditionalTask: type: boolean parentId: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' workflowId: format: int64 type: integer description: type: string numOfDays: format: int32 type: integer subject: type: string dueDateType: enum: - Days - BusinessDays - Weeks - Months - Years type: string beforeOrAfter: enum: - Before - After type: string Location: type: object properties: id: format: int64 type: integer name: type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string tenant: $ref: '#/components/schemas/Tenant' address: $ref: '#/components/schemas/Address' users: type: array items: $ref: '#/components/schemas/User' priceList: $ref: '#/components/schemas/PriceList' FeedNotification: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 user: $ref: '#/components/schemas/User' feed: $ref: '#/components/schemas/Feed' createdDate: format: date-time type: string isRead: type: boolean readDate: format: date-time type: string isSticky: type: boolean DepositSlip: required: - guid - tenantId - depositDate - bankAccount - createdDate - lastModifiedDate - type - isDeleted - number type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' depositDate: format: date-time type: string bankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 bankAccount: $ref: '#/components/schemas/BankAccount' createdById: format: int32 type: integer createdBy: $ref: '#/components/schemas/User' depositedById: format: int32 type: integer depositedBy: $ref: '#/components/schemas/User' lastModifiedById: format: int32 type: integer lastModifiedBy: $ref: '#/components/schemas/User' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string payments: type: array items: $ref: '#/components/schemas/Payment' firmPayments: type: array items: $ref: '#/components/schemas/FirmPayment' type: enum: - Manual - Online type: string isPrinted: type: boolean isDeleted: type: boolean number: format: int32 type: integer headnoteBatchId: type: string IntakeForm: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 template: $ref: '#/components/schemas/IntakeFormTemplate' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' createdByIpAddress: type: string entries: type: array items: $ref: '#/components/schemas/IntakeFormEntry' activityId: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' isEnabled: type: boolean isDeleted: type: boolean createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' TagDTO: required: - name type: object properties: name: type: string Shipment: type: object properties: id: format: int64 type: integer shippingCarrier: enum: - Usps - Fedex - Ups - Lasership type: string trackingNumber: type: string shippingCost: format: double type: number insuranceAmount: format: double type: number insuranceCost: format: double type: number totalCost: format: double type: number readOnly: true shippedDate: format: date-time type: string estimatedArrivalDate: format: date-time type: string arrivalDate: format: date-time type: string invoice: $ref: '#/components/schemas/SaleDocument' inventoryTransfer: $ref: '#/components/schemas/InventoryTransfer' tenant: $ref: '#/components/schemas/Tenant' isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' Tenant: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer name: type: string logo: $ref: '#/components/schemas/Blob' logoThumbnail: $ref: '#/components/schemas/Blob' headerLogo: $ref: '#/components/schemas/Blob' headerColor: type: string isChatEnabled: type: boolean isEnabled: type: boolean isDeleted: type: boolean isDefaultSubmitInvoicesForApproval: type: boolean isPortalEnabled: type: boolean portalHeaderText: type: string primaryUserId: format: int32 type: integer isEmailConfirmed: type: boolean confirmEmailUrl: type: string createdDate: format: date-time type: string conversionDate: format: date-time type: string lastModifiedDate: format: date-time type: string sfAccountOwnerId: type: string emailInvoiceReminderSubjectTemplate: type: string emailInvoiceReminderTemplate: type: string emailPaymentRequestSubjectTemplate: type: string emailPaymentRequestTemplate: type: string emailInvoiceReminderFrequency: enum: - Daily - Every2Days - Every3Days - Every4Days - Every5Days - Every6Days - Weekly - Monthly - NeverSendReminders type: string emailInvoiceReminderMaxTimes: format: int32 type: integer emailQuoteReminderSubjectTemplate: type: string emailQuoteReminderTemplate: type: string emailQuoteReminderFrequency: enum: - Daily - Every2Days - Every3Days - Every4Days - Every5Days - Every6Days - Weekly - Monthly - NeverSendReminders type: string emailQuoteReminderMaxTimes: format: int32 type: integer emailInvoiceTemplate: type: string emailInvoiceSubjectTemplate: type: string emailQuoteTemplate: type: string emailQuoteSubjectTemplate: type: string emailPaymentTemplate: type: string emailPaymentSubjectTemplate: type: string boxFolderId: type: string isBoxIntegrationEnabled: type: boolean boxOwnerUserGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 boxSharedFolderUrl: type: string dropboxFolderId: type: string dropboxAuthToken: type: string googleDriveFolderId: type: string isGoogleDriveIntegrationEnabled: type: boolean xeroAuthToken: type: string xeroBankOperatingAccountId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 defaultSyncEmailsForAccount: type: boolean defaultSyncFilesForAccount: type: boolean defaultSyncContactsForAccount: type: boolean defaultSyncEmailsForProject: type: boolean defaultSyncFilesForProject: type: boolean defaultSyncContactsForProject: type: boolean maxActiveUsers: format: int32 type: integer maxInvoicesPerMonth: format: int32 type: integer maxAccounts: format: int32 type: integer storageMaxContainerSize: format: int64 type: integer storageCurrentContainerSize: format: int64 type: integer isAuthorizeNetEnabled: type: boolean isAuthorizeNetTestMode: type: boolean authorizeNetLoginId: type: string authorizeNetTransactionKey: type: string authorizeNetPublicKey: type: string isAuthorizeNetTransactionKeyEncrypted: type: boolean isOnlinePaymentsEnabled: type: boolean readOnly: true isPayPalEnabled: type: boolean payPalEmailAddress: type: string payPalFirstName: type: string payPalLastName: type: string isStripeEnabled: type: boolean stripeSecretKey: type: string isStripeSecretKeyEncrypted: type: boolean stripePublishableKey: type: string isLawPayEnabled: type: boolean isLawPaySecretKeyEncrypted: type: boolean lawPaySecretKey: type: string lawPayPublicKey: type: string isLawPayOperatingMerchantEnabled: type: boolean lawPayOperatingMerchantAccountId: type: string isLawPayOperatingAchEnabled: type: boolean lawPayOperatingAchAccountId: type: string isLawPayTrustMerchantEnabled: type: boolean lawPayTrustMerchantAccountId: type: string isLawPayTrustAchEnabled: type: boolean lawPayTrustAchAccountId: type: string lawPayAccessToken: type: string isHeadNoteEnabled: type: boolean isInventoryManagementEnabled: type: boolean isMarketingEnabled: type: boolean maxMarketingEmailsPerMonth: format: int32 type: integer chargifySubscriptionId: type: string chargifySubscriptionStatus: enum: - Active - Cancelled - Oustanding type: string chargifyCustomerId: type: string chargifyProductId: type: string chargifyProductHandle: type: string isAppComfirmedSignup: description: "This is used to track whether we submitted a conversion to adwords/capterra/analytics etc or not.\r\nIf set to true, we already submitted a conversion. If set to false we need to submit a conversion and we will then call the google tag manager to report all conversions.\r\nManaged at _ConversionTracking.cshtml" type: boolean evergreenIsOnDefault: type: boolean evergreenAmountDefault: format: double type: number billingEmailAddress: type: string mobile: type: string home: type: string office: type: string ext: type: string fax: type: string isWizardComplete: type: boolean timeZoneId: type: string cultureName: type: string currencyCode: type: string language: enum: - Beta - Vip type: string website: type: string type: enum: - PayPanther - PracticePanther type: string isAllowClientsToViewAllOutstandingInvoices: type: boolean isAllowClientsToViewAllPayments: type: boolean isAllowClientsToViewAccountBalances: type: boolean isAllowClientToViewAllPaidInvoices: type: boolean isRequirePortalLoginToViewInvoice: type: boolean isMailchimpIntegrationEnabled: type: boolean mailchimpApiKey: type: string mailchimpListId: type: string headNoteStatus: enum: - STARTED - SUBMITTED - PROVISIONED - DECLINED - UNVERIFIED - VERIFIED - UNDER_REVIEW - PAUSED - DISABLED - IGNORED - Step1 - Step2 - Step3 - Transacted type: string gA_LandingPage: type: string gA_ClientId: type: string gA_CampaignContent: type: string gA_CampaignMedium: type: string gA_CampaignName: type: string gA_CampaignSource: type: string gA_CampaignTerm: type: string gA_CampaignClickId: type: string gA_Gclid: type: string retargeting_CampaignName: type: string retargeting_CampaignSource: type: string retargeting_CampaignContent: type: string retargeting_CampaignMedium: type: string urlReferrer: type: string firstContactDateTime: format: date-time type: string ambassadorReferringShortCode: type: string ambassadorCampaignId: format: int32 type: integer ambassadorDiscountValue: type: string isAmbassadorDiscountValueUsed: type: boolean ledesIsEnabled: type: boolean taxpayerId: type: string utbmsIsEnabled: type: boolean isUtbmsRequiredForTimeEntries: type: boolean isUtbmsRequiredForExpenses: type: boolean isUtbmsRequiredForFlatFees: type: boolean isUtbmsDefaultForNewAccounts: type: boolean utbmsIsABA_Bankruptcy: type: boolean utbmsIsABA_Counselling: type: boolean utbmsIsABA_Litigation: type: boolean utbmsIsABA_Project: type: boolean utbmsIsABA_WorkersComp: type: boolean utbmsIsLOC_Ediscovery: type: boolean utbmsIsLOC_Grc: type: boolean utbmsIsLOC_Patent: type: boolean utbmsIsLOC_Project: type: boolean utbmsIsLOC_Trademark: type: boolean utbmsIsEW_Civil_Litigation: type: boolean defaultInterest: $ref: '#/components/schemas/InterestOptions' defaultInvoiceTermsAndConditions: type: string defaultQuoteTermsAndConditions: type: string saleDocument_Default_DueDate_Days: format: int32 description: Set to true to send automatic payment reminders to this client. type: integer saleDocument_Default_DueDate_Option: enum: - DaysAfterInvoiceDate - OfTheCurrentMonth - OfTheFollowingMonth type: string saleDocument_Default_IsSendInvoicePaymentReminders: description: Set to true to send automatic payment reminders to this client. type: boolean saleDocument_Default_IsSendQuoteApprovalReminders: type: boolean saleDocument_Default_IsUseCreditToPayBalance: description: Used during PUT/POST. If set to true all available operating account credit (for this account / project) will automatically be applied to this invoice to pay any amount due. type: boolean saleDocument_Default_IsUseTrustToPayBalance: description: Used during PUT/POST. If set to true will automatically transfer funds from the trust account to the operating account and apply them on this invoice. type: boolean saleDocument_Default_IsAllowOnlinePayment: description: Invoices of type Sale only. If set to true, will accept online payment on this invoice. Online payments must be enabled for this to apply. type: boolean saleDocument_Default_IsAllowPartialPayment: description: Invoices of type Sale only. If set to true, will accept online payment on this invoice for less than the full amount due. Online payments must be enabled for this to apply. type: boolean saleDocument_Default_IsCarryForwardBalance: description: Invoices of type Sale only. If set to true, will add to the total balance all unpaid invoices type: boolean saleDocument_Default_CarryForwardBalanceType: enum: - Account - Project type: string saleDocument_Default_Tax1Guid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 saleDocument_Default_Tax2Guid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 projectDisplayNameFormat: enum: - NumberProjectName - ProjectName - NumberContactNameProjectName - NumberOpenDateYearOpenDateMonthProjectName - NumberOpenDateYearProjectName - ContactNameProjectName - ContactNumberProjectNumberProjectName - ContactNumberProjectName type: string accountDisplayNameFormat: enum: - NumberFirstLast - NumberLastFirst - FirstLast - LastFirst type: string userDisplayNameFormat: enum: - FirstLast - LastFirst type: string isAutoNumberingEnabledForAccounts: type: boolean isAutoNumberingEnabledForProjects: type: boolean isCalendarRulesEnabled: type: boolean isCalendarRulesServiceStarted: type: boolean calendarRulesLoginToken: type: string isDeveloperAccount: description: If set to true, the tenant will have access to generate client id and client secret for API access purposes type: boolean oneDriveFolderId: type: string isOneDriveIntegrationEnabled: type: boolean oneDriveAuthToken: type: string isDuplicateContactCheckOn: type: boolean isAuthorizedSignOn: type: boolean federal_tax_id: type: string structure: type: string business_incorporated_date: format: date-time type: string business_incorporated_state: type: string owner_email: type: string owner_first_name: type: string owner_last_name: type: string owner_social_security_number: type: string owner_address1: type: string owner_address2: type: string owner_city: type: string owner_state: type: string owner_zip_code: type: string owner_phone_number: type: string owner_office_phone_number: type: string owner_Bar_Number: type: string owner_Bar_State: type: string owner_percentage_Ownership: format: double type: number ignoredUpdateYourInfo: type: boolean headNoteVerficationDate: format: date-time type: string lastDateRecurringPaymentMigrationNotice: format: date-time type: string numberOfAttorneys: type: string practiceAreas: type: string country: type: string isDisableEcheck: type: boolean subscriptionType: enum: - Trial - SoloMonthly - SoloYearly - SoloFree - EssentialMonthly - EssentialYearly - EssentialFree - BusinessMonthly - BusinessYearly - BusinessFree type: string ConversationMessage: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 conversation: $ref: '#/components/schemas/Conversation' fromUser: $ref: '#/components/schemas/User' fromContact: $ref: '#/components/schemas/Contact' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string attachments: type: array items: $ref: '#/components/schemas/Blob' isDeleted: type: boolean deletedDate: format: date-time type: string deletedBy: $ref: '#/components/schemas/User' body: type: string sentDate: format: date-time type: string type: enum: - Text - Secure type: string externalConversationId: type: string firmTextPhoneNumber: type: string firmLocationName: type: string userName: type: string userEmail: type: string sentByContact: type: boolean LawToolboxMatter: required: - matterNumberLTB type: object properties: id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' matterNumberLTB: type: string toolsetId: type: string stateId: type: string lawToolboxCourtRules: type: array items: $ref: '#/components/schemas/LawToolboxCourtRule' Portal: type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 isEnabled: type: boolean lastLoginDate: format: date-time type: string contacts: type: array items: $ref: '#/components/schemas/Contact' IAdditionalWorkFlowOptionsProperties: type: object properties: assignedToUsers: type: array items: $ref: '#/components/schemas/User' priority: enum: - Low - Medium - High type: string eventColor: type: string tags: type: array items: $ref: '#/components/schemas/Tag' isSendNotificationEmail: type: boolean SaleDocumentDTO: required: - currencyCode - date type: object properties: accountTags: type: array items: $ref: '#/components/schemas/TagDTO' projectTags: type: array items: $ref: '#/components/schemas/TagDTO' account: $ref: '#/components/schemas/AccountRef' project: $ref: '#/components/schemas/ProjectRef' tenant: $ref: '#/components/schemas/TenantDTO' currencyCode: description: This defines the currency for this account. Must be in ISO 4217 format. Must match the currency code for the Account (contact). type: string dueDate: format: date-time description: The due date for full payment on this invoice. type: string expDate: format: date-time description: The expiration date for this quote. type: string amountPaid: format: double description: Total amount paid. Total amount paid. type: number readOnly: true amountDue: format: double description: Total amount due. Total amount due. type: number readOnly: true sub: format: double description: Subtotal (sum of all Items.Sub) Subtotal (sum of all Items.Sub) type: number readOnly: true discount: format: double description: Indicates the total discount on this invoice. Set by DiscountPercent. Indicates the total discount on this invoice. Set by DiscountPercent. type: number readOnly: true tax: format: double description: Total tax applied on this invoice (sum of all Items.Tax + Items.Tax2). Total tax applied on this invoice (sum of all Items.Tax + Items.Tax2). type: number readOnly: true total: format: double description: Total (sum of all Items.Total) Total (sum of all Items.Total) type: number readOnly: true poNumber: type: string isOverdue: description: Indicates if this invoice is overdue. Indicates if this invoice is overdue. type: boolean readOnly: true isExpired: description: Indicates if this quote has expired. type: boolean readOnly: true status: description: Sets the status on this invoice. Sets the status on this invoice. enum: - Saved - Approved - Sent - Paid - Viewed - Overdue - Expired - Invoiced - Due - PendingApproval type: string readOnly: true createdBy: $ref: '#/components/schemas/UserRef' approvedBy: $ref: '#/components/schemas/UserRef' approvalDate: format: date-time description: ' ' type: string readOnly: true isApproved: type: boolean createdDate: format: date-time description: ' ' type: string readOnly: true quickbooksId: type: string guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 number: format: int32 type: integer name: description: ' ' type: string readOnly: true type: description: Indicates if this sale document is an Invoice or a Quote enum: - Invoice - Quote type: string invoiceType: description: If this sale document is of type 'invoice', will indicate if this is a sale, refund or credit invoice. enum: - Sale - Refund - Credit type: string date: format: date-time description: The issue date for this invoice / quote. type: string NotificationSettings: type: object properties: isSendSaleDocumentViewedNotification: type: boolean isSendSaleDocumentCreatedNotification: type: boolean isSendSaleDocumentSentNotification: type: boolean isSendPaymentRequestSentNotification: type: boolean isSendAccountCreatedNotification: type: boolean isSendFeedCreatedNotification: type: boolean isSendProjectCreatedNotification: type: boolean isSendExpenseCreatedNotification: type: boolean isSendTimeEntryCreatedNotification: type: boolean isSendFlatFeeCreatedNotification: type: boolean isSendPaymentCreatedNotification: type: boolean isSendOnlinePaymentReceivedNotification: type: boolean isSendIntakeFilledNotification: type: boolean isSendActivityCreatedNotification: type: boolean isSendTaskStatusChangedNotification: type: boolean isSendPortalInvitationAcceptedNotification: type: boolean isSendActivityReminderNotification: type: boolean isSendInvoiceSubmittedForApprovalNotification: type: boolean isSendInvoiceApprovedNotification: type: boolean isSendRecordDeletedNotification: type: boolean isSendNewSmsNotification: type: boolean IntakeFormTemplate: required: - name - template type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string isRequirePortalSignin: type: boolean isSendEmailOnSubmission: type: boolean sendEmailOnSubmissionTo: $ref: '#/components/schemas/User' sendEmailOnSubmissionToId: format: int32 type: integer isCreateTaskOnSubmission: type: boolean createTaskOnSubmissionAssignedToId: format: int32 type: integer createTaskOnSubmissionAssignedTo: $ref: '#/components/schemas/User' description: type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' isAllowCreatingNewAccountOnSubmission: type: boolean isAllowCreatingNewProjectOnSubmission: type: boolean assignNewRecordsToId: format: int32 type: integer assignNewRecordsTo: $ref: '#/components/schemas/User' isAllowUpdatingAccountOnSubmission: type: boolean isAllowUpdatingProjectOnSubmission: type: boolean isAutoFillContactAndMatterInfo: type: boolean isInternallyCreated: type: boolean template: description: This holds the XML generated by the form builder type: string intakeForms: type: array items: $ref: '#/components/schemas/IntakeForm' mappings: description: This holds the mapping between form fields and PP fields type: array items: $ref: '#/components/schemas/IntakeFormTemplateMapping' WorkflowEvent: required: - name type: object properties: id: format: int64 type: integer workflowId: format: int64 type: integer workflow: $ref: '#/components/schemas/Workflow' name: type: string description: type: string workflowTasks: type: array items: $ref: '#/components/schemas/WorkflowTask' additionalWorkFlowOptionsProperties: $ref: '#/components/schemas/IAdditionalWorkFlowOptionsProperties' assignedToUsers: type: array items: $ref: '#/components/schemas/User' priority: enum: - Low - Medium - High type: string eventColor: type: string tags: type: array items: $ref: '#/components/schemas/Tag' reminders: type: array items: $ref: '#/components/schemas/DefaultReminder' isSendNotificationEmail: type: boolean Opportunity: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer isEnabled: type: boolean isDeleted: type: boolean tenant: $ref: '#/components/schemas/Tenant' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' account: $ref: '#/components/schemas/Account' name: type: string type: enum: - None - NewBusiness - ExistingBusiness type: string campaign: $ref: '#/components/schemas/Campaign' amount: format: double type: number closingDate: format: date-time type: string probability: format: double type: number stage: enum: - Qualificiation - Analysis - Quote - WaitingOnDecision - Negotiation - ClosedWon - ClosedLost - ClosedLostToCompetition type: string SaleDocumentRef: required: - date type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 number: format: int32 type: integer name: description: ' ' type: string readOnly: true type: description: Indicates if this sale document is an Invoice or a Quote enum: - Invoice - Quote type: string invoiceType: description: If this sale document is of type 'invoice', will indicate if this is a sale, refund or credit invoice. enum: - Sale - Refund - Credit type: string date: format: date-time description: The issue date for this invoice / quote. type: string Recurrence: type: object properties: frequency: enum: - Never - Daily - Weekly - BiWeekly - Monthly - Yearly - Weekdays - Monthly_On_Day type: string id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 dayOfWeek: enum: - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday type: string dayOfMonth: format: int32 description: day of month to repeat the event. If the date doesn't exist in the month, add to last day of month. type: integer monthOfYear: enum: - January - February - March - April - May - June - July - August - September - October - November - December type: string stopDate: format: date-time description: when to stop this from recurring type: string maxNumOfOccurences: format: int32 description: how many times to repeat the recurrence (up to 10 times etc.) type: integer repeatEvery: format: int32 description: indicates to repeat every X (Days / Weeks / Months / Year) type: integer activities: type: array items: $ref: '#/components/schemas/Activity' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string InventoryTransferItem: type: object properties: id: format: int64 type: integer qtySent: format: double type: number qtyReceived: format: double type: number qtyLost: format: double type: number qtyToTransfer: format: double type: number inventoryTransfer: $ref: '#/components/schemas/InventoryTransfer' product: $ref: '#/components/schemas/Product' tenant: $ref: '#/components/schemas/Tenant' IntakeFormTemplateMapping: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 rowIndex: format: int32 type: integer formFieldName: description: The form field which holds the value type: string formFieldLabel: description: The form field which holds the value type: string formFieldType: description: The form field which holds the value enum: - Checkbox - CheckboxGroup - Date - File - RadioGroup - Select - Text - TextArea type: string targetFieldValue: description: The target generic / custom field in PracticePanther type: string Workflow: required: - name type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string description: type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' workflowEvents: type: array items: $ref: '#/components/schemas/WorkflowEvent' workflowTasks: type: array items: $ref: '#/components/schemas/WorkflowTask' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' sharing: enum: - Private - Public type: string activities: type: array items: $ref: '#/components/schemas/Activity' FlatFee: required: - date type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string description: type: string notes: type: string date: format: date-time type: string accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' productId: format: int64 type: integer product: $ref: '#/components/schemas/Product' userId: format: int32 type: integer user: $ref: '#/components/schemas/User' qty: format: double type: number price: format: double type: number total: format: double type: number isBillable: type: boolean isBilled: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' isDeleted: type: boolean status: enum: - Billable - Billed - Paid - NotBillable type: string saleDocumentItemId: format: int64 type: integer saleDocumentItem: $ref: '#/components/schemas/SaleDocumentItem' activityId: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' utbmsCodeId: format: int64 type: integer utbmsCode: $ref: '#/components/schemas/UtbmsCode' Credit: required: - creditForSaleDocument type: object properties: isDeleted: type: boolean readOnly: true creditForSaleDocument: $ref: '#/components/schemas/SaleDocument' guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer creditAmount: format: double type: number readOnly: true creditApplied: format: double type: number readOnly: true creditAvailable: format: double type: number saleDocumentPayments: type: array items: $ref: '#/components/schemas/SaleDocumentPayment' SaleDocumentPaymentReminder: required: - saleDocument - paymentReminder type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 sentDate: format: date-time type: string saleDocument: $ref: '#/components/schemas/SaleDocument' paymentReminder: $ref: '#/components/schemas/PaymentReminder' activityEmail: $ref: '#/components/schemas/Activity' Payment: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 notes: type: string isPaymentCleared: type: boolean id: format: int64 type: integer currencyCode: type: string number: format: int32 type: integer name: type: string amount: format: double type: number amountApplied: format: double type: number readOnly: true amountCredited: format: double type: number method: enum: - Cash - Check - CreditCard - PayPal - AuthorizeNet - Other - Stripe - Wire - Transfer - LawPay - PantherPaymentsCC - PantherPaymentsECheck - JournalEntry type: string refund: $ref: '#/components/schemas/Refund' authNumber: type: string transactionId: type: string bankAcctName: type: string bankName: type: string bankRoutingNumber: type: string bankAcctType: enum: - Operating - Trust - CreditCard type: string checkAcctNumber: type: string isDepositSlipPrinted: description: If the payment is associated with a bank account where BankAccount.IsPrintDepositSlips = true, this will indicate whether this payment had a deposit slip printed for it or not type: boolean checkNumber: format: int32 type: integer checkPayeeId: format: int64 type: integer checkPayee: $ref: '#/components/schemas/Account' checkIsPrinted: type: boolean creditCardNameOnCard: type: string creditCardLast4Digits: type: string creditCardType: enum: - Unknown - Visa - Mastercard - AmericanExpress - Diners - Other type: string creditCardExpMonth: format: int32 type: integer creditCardExpYear: format: int32 type: integer details: type: string type: enum: - OfflinePayment - OnlinePayment - Transfer - HardCostExpense - FirmPayment type: string saleDocumentPayments: type: array items: $ref: '#/components/schemas/SaleDocumentPayment' accountId: format: int64 pattern: ^(\s*|\d+)$ type: integer account: $ref: '#/components/schemas/Account' projectId: format: int64 pattern: ^(\s*|\d+)$ type: integer isProjectRequired: type: boolean project: $ref: '#/components/schemas/Project' tenant: $ref: '#/components/schemas/Tenant' tenantId: format: int64 type: integer blobs: type: array items: $ref: '#/components/schemas/Blob' isEnabled: type: boolean isDeleted: type: boolean date: format: date-time type: string createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy_Id: format: int32 type: integer createdBy: $ref: '#/components/schemas/User' lastModifiedBy_Id: format: int32 type: integer lastModifiedBy: $ref: '#/components/schemas/User' quickbooksId: type: string quickbooksPurchaseId: type: string quickbooksDepositId: type: string lastQuickbooksSyncDate: format: date-time type: string xeroId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 lastXeroSyncDate: format: date-time type: string bankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 bankAccount: $ref: '#/components/schemas/BankAccount' isReconciled: type: boolean reconciledDate: format: date-time type: string trustBooksReconciledDate: format: date-time type: string reconciledBy: $ref: '#/components/schemas/User' trustBooksReconciledById: format: int32 type: integer trustBooksReconciledBy: $ref: '#/components/schemas/User' hardCostExpenses: type: array items: $ref: '#/components/schemas/Expense' feeAmountInCents: format: double type: number status: enum: - Pending - Failed - Success - Refunded - RefundPending - Canceled type: string refundParentPaymentGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 oneLinkTemplate: $ref: '#/components/schemas/OneLinkTemplate' oneLinkTemplateId: format: int64 type: integer depositSlipId: format: int64 type: integer depositSlip: $ref: '#/components/schemas/DepositSlip' lastModifiedHeadNoteDateUtc: format: date-time type: string paymentSourceGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 paymentSource: $ref: '#/components/schemas/PaymentSource' surchargeAmountInCents: format: int32 type: integer surchargeAmountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 chartOfAccountId: format: int64 type: integer trustbooksJournalEntryGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 referenceNumber: type: string transferId: format: int64 type: integer paymentImportMatch: $ref: '#/components/schemas/PaymentImportMatch' InvoiceMatterRecipients: type: object properties: invoiceMatterId: format: int64 type: integer invoiceMatter: $ref: '#/components/schemas/Project' recipientContactId: format: int64 type: integer recipientContact: $ref: '#/components/schemas/Contact' CustomFieldTab: required: - name type: object properties: tenant: $ref: '#/components/schemas/Tenant' guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string objectType: enum: - Account - Project - Contact - User - Address type: string customFields: type: array items: $ref: '#/components/schemas/CustomField' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' isDeleted: type: boolean Refund: required: - payment - refundForSaleDocument type: object properties: id: format: int64 type: integer payment: $ref: '#/components/schemas/Payment' refundForSaleDocument: $ref: '#/components/schemas/SaleDocument' CallProperties: type: object properties: callDuration: format: double type: number callDateTime: format: date-time type: string callType: enum: - Inbound - Outbound type: string Invitee: type: object properties: id: format: int64 type: integer projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' activityId: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' userId: format: int64 type: integer user: $ref: '#/components/schemas/User' contactId: format: int64 type: integer contact: $ref: '#/components/schemas/Contact' inviteeType: enum: - Contact - User type: string email: type: string readOnly: true Address: description: Address domain methods - factory methods for creating addresses type: object properties: id: format: int64 type: integer name: type: string address1: type: string address2: type: string city: type: string state: type: string country: type: string postalCode: type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' contactId: format: int64 type: integer contact: $ref: '#/components/schemas/Contact' accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' shipmentsFor: type: array items: $ref: '#/components/schemas/Shipment' invoicesShippingFor: type: array items: $ref: '#/components/schemas/SaleDocument' invoicesBillingFor: type: array items: $ref: '#/components/schemas/SaleDocument' accountsShippingFor: type: array items: $ref: '#/components/schemas/Account' accountsBillingFor: type: array items: $ref: '#/components/schemas/Account' fullAddressHtml: type: string readOnly: true SaleDocumentPaymentRef: required: - amount type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 amount: format: double description: The amount of payment or credit applied on this invoice type: number saleDocument: $ref: '#/components/schemas/SaleDocumentRef' payment: $ref: '#/components/schemas/PaymentRef' credit: $ref: '#/components/schemas/CreditRef' EmailProperties: type: object properties: date: format: date-time type: string from: type: string fromAddress: $ref: '#/components/schemas/MailAddress' fromAddressEmail: type: string readOnly: true fromAddressDisplayName: type: string readOnly: true externalMessageId: description: If created via the API, will contain the Id of the message for external reference purposes type: string externalThreadId: description: If created via the API, will contain the Id of the entire thread or conversaion for external reference purposes type: string to: type: string toAddressCollection: type: array items: $ref: '#/components/schemas/MailAddress' cc: type: string ccAddressCollection: type: array items: $ref: '#/components/schemas/MailAddress' bcc: type: string bccAddressCollection: type: array items: $ref: '#/components/schemas/MailAddress' ChartOfAccount: required: - name - accountCategory type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: maxLength: 200 minLength: 0 type: string accountNumber: maxLength: 50 minLength: 0 type: string trustbooksId: format: int32 type: integer accountCategory: enum: - Asset - Banking - Equity - Expense - Liability - Revenue type: string defaultSystemGeneratedType: enum: - DeferredRevenue - FeeIncome - ClientCostAdvance - InterestIncome - SalesTaxLiability - MiscIncome - RetainedEarnings - CurrentYearEarnings - OpeningRetainedEarnings type: string createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string deletedDate: format: date-time type: string archivedDate: format: date-time type: string tenant: $ref: '#/components/schemas/Tenant' tenantId: format: int64 type: integer bankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 bankAccount: $ref: '#/components/schemas/BankAccount' accountingAccounts: type: array items: $ref: '#/components/schemas/AccountingAccount' products: type: array items: $ref: '#/components/schemas/Product' saleDocumentItems: type: array items: $ref: '#/components/schemas/SaleDocumentItem' firmPayments: type: array items: $ref: '#/components/schemas/FirmPayment' payments: type: array items: $ref: '#/components/schemas/Payment' TenantDTO: required: - name type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string type: enum: - PayPanther - PracticePanther type: string PriceListItem: type: object properties: id: format: int64 type: integer customPrice: format: double minimum: 0 type: number priceList: $ref: '#/components/schemas/PriceList' product: $ref: '#/components/schemas/Product' tenant: $ref: '#/components/schemas/Tenant' CreditRef: required: - creditForSaleDocument type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 creditAmount: format: double description: Total credit amount Total credit amount type: number readOnly: true creditApplied: format: double description: Credit amount applied towards invoices Credit amount applied towards invoices type: number readOnly: true creditAvailable: format: double description: Credit amount available (not applied towards invoices) Credit amount available (not applied towards invoices) type: number readOnly: true creditForSaleDocument: $ref: '#/components/schemas/SaleDocumentRef' Inventory: type: object properties: id: format: int64 type: integer qtyTotal: format: double type: number readOnly: true qtyAvailable: format: double type: number qtyOnHold: format: double type: number qtyOnPurchaseOrder: format: double type: number reorderPoint: format: double type: number productId: format: int64 type: integer product: $ref: '#/components/schemas/Product' locationId: format: int64 type: integer location: $ref: '#/components/schemas/Location' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' productLogs: type: array items: $ref: '#/components/schemas/ProductLog' SaleDocument: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 isMultiMatterInvoice: type: boolean id: format: int32 type: integer currencyCode: type: string type: enum: - Invoice - Quote type: string invoiceType: enum: - Sale - Refund - Credit type: string isNotifyWhenViewedByClient: type: boolean isNotifyWhenPaidByClient: type: boolean isNotifyWhenApprovedByClient: type: boolean isApplyDiscountTimeEntries: type: boolean isApplyDiscountFlatFees: type: boolean isApplyDiscountExpenses: type: boolean isAllowOnlinePayment: type: boolean isAllowPartialPayment: type: boolean isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' approvedBy: $ref: '#/components/schemas/User' isApproved: type: boolean isCarryForwardBalance: type: boolean saleDocumentTemplateId: format: int64 type: integer saleDocumentTemplate: $ref: '#/components/schemas/SaleDocumentTemplate' date: format: date-time type: string dueDate: format: date-time type: string expDate: format: date-time type: string approvalDate: format: date-time type: string shares: type: array items: $ref: '#/components/schemas/Share' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' items: type: array items: $ref: '#/components/schemas/SaleDocumentItem' activities: type: array items: $ref: '#/components/schemas/Activity' bankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 bankAccount: $ref: '#/components/schemas/BankAccount' accountId: format: int64 pattern: ^(\s*|\d+)$ type: integer account: $ref: '#/components/schemas/Account' credit: $ref: '#/components/schemas/Credit' refund: $ref: '#/components/schemas/Refund' projectId: format: int64 pattern: ^(\s*|\d+)$ type: integer project: $ref: '#/components/schemas/Project' contact: $ref: '#/components/schemas/Contact' toShippingAddress: $ref: '#/components/schemas/Address' toBillingAddress: $ref: '#/components/schemas/Address' termsAndConditions: type: string customerNotes: type: string pdf: $ref: '#/components/schemas/Blob' pdF_Id: format: int64 type: integer invoiceSentToSmsNumber: type: string amountPaid: format: double type: number readOnly: true amountDue: format: double type: number readOnly: true feeds: type: array items: $ref: '#/components/schemas/Feed' saleDocumentPaymentReminders: type: array items: $ref: '#/components/schemas/SaleDocumentPaymentReminder' sub: format: double type: number readOnly: true salesTaxData: type: array items: $ref: '#/components/schemas/SalesTaxData' readOnly: true tax: format: double type: number readOnly: true discount: format: double type: number readOnly: true discountPercent: format: double type: number total: format: double type: number readOnly: true saleDocumentPayments: type: array items: $ref: '#/components/schemas/SaleDocumentPayment' isSentToCustomer: type: boolean sentToCustomerDate: format: date-time type: string isViewedByCustomer: type: boolean viewedByCustomerDate: format: date-time type: string viewedByCustomerNumOfTimes: format: int32 type: integer isInvoicedToCustomer: type: boolean invoicedToCustomerDate: format: date-time type: string poNumber: type: string isApprovedByCustomer: type: boolean approvedByCustomerDate: format: date-time type: string isSendInvoicePaymentReminders: type: boolean isSendQuoteApprovalReminders: type: boolean quickbooksId: type: string lastQuickbooksSyncDate: format: date-time type: string xeroId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 lastXeroSyncDate: format: date-time type: string totalInterest: format: double type: number interestOptions: $ref: '#/components/schemas/InterestOptions' status: enum: - Saved - Approved - Sent - Paid - Viewed - Overdue - Expired - Invoiced - Due - PendingApproval type: string readOnly: true number: format: int32 type: integer numOfAutomaticInterestChargesAdded: format: int32 type: integer name: type: string invoiceOrder: enum: - Name - Number type: string Role: type: object properties: isEnabled: type: boolean isDeleted: type: boolean isShowFinancialSummary: type: boolean hourlyRate: format: double type: number guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer isFullAccess: type: boolean name: type: string isRestrictLoginToAllowedIpAddresses: description: If set to true, will allow logins only by users that are part of a rolw where IsFullAcces=true or AllowedIpAddresses contains the IP address the logged in from type: boolean allowedIpAddresses: description: To contain a csv string with a list of allowed IP addresses to be used if IsRestrictLoginByIpAddresses = true. Max Length is 100 IP addresses type: string createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string accessLevels: type: array items: $ref: '#/components/schemas/AccessLevel' isTimeEntryTimeLimited: type: boolean SaleDocumentItem: type: object properties: rowIndex: format: int32 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer qty: format: double type: number price: format: double maximum: 2147483647 minimum: 0 type: number project: $ref: '#/components/schemas/Project' flatRateProjectId: format: int64 type: integer sub: format: double type: number tax1Ref: $ref: '#/components/schemas/SalesTax' tax2Ref: $ref: '#/components/schemas/SalesTax' tax1: format: double type: number readOnly: true discount: format: double type: number readOnly: true itemDiscountPercent: format: double type: number tax2: format: double type: number readOnly: true total: format: double type: number readOnly: true tax1Data: $ref: '#/components/schemas/SalesTaxData' tax2Data: $ref: '#/components/schemas/SalesTaxData' isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' timeEntries: type: array items: $ref: '#/components/schemas/TimeEntry' flatFees: type: array items: $ref: '#/components/schemas/FlatFee' expenses: type: array items: $ref: '#/components/schemas/Expense' name: type: string description: type: string saleDocumentId: format: int32 type: integer saleDocument: $ref: '#/components/schemas/SaleDocument' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' type: enum: - RegularItem - TimeEntryItem - ExpenseItem - InterestItem - EmptyItem type: string date: format: date-time type: string userName: type: string ledesUtbmsCode: type: string ledesItemCode: type: string ledesExpenseCode: type: string ledesTimekeeperClass: type: string chartOfAccountId: format: int64 type: integer chartOfAccount: $ref: '#/components/schemas/ChartOfAccount' InterestOptions: type: object properties: isChargeInterest: type: boolean annualPercent: format: double maximum: 100 minimum: 0 type: number interestType: enum: - Simple - Compound type: string chargeEachNumOfDays: format: int32 maximum: 365 minimum: 1 type: integer RecurringPaymentOccurrence: required: - recurringPayment type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 lawPayTokenId: type: string headNoteId: type: string recurringPaymentGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 recurringPayment: $ref: '#/components/schemas/RecurringPayment' payment: $ref: '#/components/schemas/Payment' invoice: $ref: '#/components/schemas/SaleDocument' amount: format: double description: The amount, in terms of the base unit of the owning recurring charge account's currency, to be collected by this occurrence type: number status: description: The status of the occurrence enum: - Pending - Paying - Paid - Ignored - Failed - Canceled - Active - Expired - SUCCESSFUL - Scheduled type: string createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string dueDate: format: date-time description: The date the Gateway will attempt to collect payment for the occurrence type: string attempts: format: int32 description: The number of attempts made to collect payment on this occurrence type: integer lastAttempt: format: date-time description: The last time an attempt was made to collect payment for this occurrence type: string AccountingAccount: required: - name type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 code: type: string yodleeCategoryId: format: int32 type: integer name: type: string tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' type: enum: - Income - Expense - Asset - Liability - Transfers - Uncategorized type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdById: format: int32 type: integer createdBy: $ref: '#/components/schemas/User' lastModifiedById: format: int32 type: integer lastModifiedBy: $ref: '#/components/schemas/User' chartOfAccountId: format: int64 type: integer chartOfAccount: $ref: '#/components/schemas/ChartOfAccount' ActivityReminder: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' timeType: enum: - Day - Hour - Minute type: string time: format: int32 type: integer isSent: type: boolean sentDate: format: date-time type: string feeds: type: array items: $ref: '#/components/schemas/Feed' createdDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' isSnoozed: type: boolean snoozeMinutes: format: int32 type: integer isDeleted: type: boolean notificationType: enum: - Popup - Email - SMS type: string ActivitySync: type: object properties: id: format: int64 type: integer activityId: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' userId: format: int32 type: integer user: $ref: '#/components/schemas/User' exchangeId: type: string googleId: type: string outlookId: type: string lastGoogleSyncDate: format: date-time type: string lastExchangeSyncDate: format: date-time type: string lastOutlookSyncDate: format: date-time type: string resourceId: type: string ProjectRate: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 role: $ref: '#/components/schemas/Role' user: $ref: '#/components/schemas/User' project: $ref: '#/components/schemas/Project' hourlyRate: format: double type: number rateType: enum: - User - Role - Everyone type: string presetProjectRate: $ref: '#/components/schemas/PresetProjectRate' PaymentSource: required: - accountId - lawPayTokenId - accountLastDigits type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' lawPayTokenId: type: string headNoteId: type: string accountLastDigits: type: string routingLastDigits: type: string type: enum: - Card - Bank - BankManual type: string expirationMonth: format: int32 type: integer expirationYear: format: int32 type: integer notes: type: string displayName: type: string isDeleted: type: boolean createdById: format: int32 type: integer createdBy: $ref: '#/components/schemas/User' createdDate: format: date-time type: string bankAcctName: type: string creditCardType: enum: - Unknown - Visa - Mastercard - AmericanExpress - Diners - Other type: string cardHolderName: type: string isSaved: type: boolean CustomField: required: - name - objectType - valueType type: object properties: id: format: int64 type: integer customFieldSets: type: array items: $ref: '#/components/schemas/CustomFieldSet' customFieldTabGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 customFieldTab: $ref: '#/components/schemas/CustomFieldTab' rowIndex: format: int32 description: The position of this custom field in the record's view type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' name: type: string objectType: enum: - Account - Project - Contact - User - Address type: string valueType: enum: - TextBox - Date - DateTime - Number - Currency - TextEditor - DropDownList - Checkbox - Contact type: string dropDownListValues: type: string isIncludeInList: type: boolean isExportToLedes: type: boolean helpText: type: string tooltip: type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' isRequired: type: boolean isDefault: type: boolean DepositSlipFeed: required: - feed - depositSlip type: object properties: feedId: format: int64 type: integer tenantId: format: int64 type: integer depositSlipId: format: int64 type: integer feed: $ref: '#/components/schemas/Feed' depositSlip: $ref: '#/components/schemas/DepositSlip' SalesTax: required: - id - name type: object properties: tenant: $ref: '#/components/schemas/Tenant' guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer name: type: string rate: format: double type: number description: type: string isCompound: type: boolean taxGroupId: format: int64 type: integer taxGroup: $ref: '#/components/schemas/SalesTax' salesTaxes: type: array items: $ref: '#/components/schemas/SalesTax' isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' MailAddress: type: object properties: displayName: type: string readOnly: true user: type: string readOnly: true host: type: string readOnly: true address: type: string readOnly: true TimeEntry: required: - userId - date - hours type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer name: type: string isNoCharge: type: boolean isDeleted: type: boolean isEnabled: type: boolean accountId: format: int64 pattern: ^(\s*|\d+)$ type: integer isAccountRequired: type: boolean account: $ref: '#/components/schemas/Account' utbmsCodeId: format: int64 type: integer utbmsCode: $ref: '#/components/schemas/UtbmsCode' projectId: format: int64 pattern: ^(\s*|\d+)$ type: integer isProjectRequired: type: boolean project: $ref: '#/components/schemas/Project' activityId: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' productId: format: int64 type: integer product: $ref: '#/components/schemas/Product' userId: format: int32 pattern: ^\d+$ type: integer user: $ref: '#/components/schemas/User' hourlyRate: format: double type: number total: format: double type: number isBillable: type: boolean isBilled: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' tenant_Id: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' description: type: string notes: type: string date: format: date-time type: string hours: format: double type: number status: enum: - Billable - Billed - Paid - NotBillable type: string saleDocumentItemId: format: int64 type: integer saleDocumentItem: $ref: '#/components/schemas/SaleDocumentItem' FlatFeeRef: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: description: ' ' type: string readOnly: true ProductLog: type: object properties: id: format: int64 type: integer description: type: string qty: format: double type: number isDeleted: type: boolean createdDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' inventory: $ref: '#/components/schemas/Inventory' inventoryTransferId: format: int64 type: integer inventoryTransfer: $ref: '#/components/schemas/InventoryTransfer' invoiceId: format: int64 type: integer invoice: $ref: '#/components/schemas/SaleDocument' tenant: $ref: '#/components/schemas/Tenant' RecurringPayment: required: - account - description - paymentSource - bankAccount type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 lawPayTokenId: type: string headNoteId: type: string accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' notes: type: string description: description: Description for the recurring charge type: string currency: description: 3-letter ISO 4217 code representing the currency in which the amount is denominated (optional, defaults to USD) type: string status: description: Status of the recurring charge (read-only). enum: - Active - Completed - Deleted - Canceled - Pending type: string statusReason: description: "Reason code indicating why the recurring charge transitioned to the current status (read-only). Enumeration of:\r\nschedule_complete - Recurring charge completed normally, having attempted all scheduled payments.\r\nuser_canceled - The Merchant canceled the recurring charge" enum: - schedule_complete - user_canceled - corrupt type: string reference: description: An optional reference to be set on each Charge created to collect a scheduled payment associated with this recurring charge (optional) type: string paymentSourceGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 paymentSource: $ref: '#/components/schemas/PaymentSource' bankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 bankAccount: $ref: '#/components/schemas/BankAccount' amount: format: double description: The amount to charge on each scheduled payment, in terms of the currency's smallest unit. For USD, this is the amount in cents. The maximum value is 10^14 - 1. type: number schedule: $ref: '#/components/schemas/RecurringPaymentSchedule' maxOccurrences: format: double description: " OPTIONAL\r\n The maximum number of scheduled payments that will be attempted before the recurring charge is automatically marked completed. Note that maximum occurrences tracks scheduled payments, and not actual transactions created to collect on those scheduled payments.\r\nFor example, a Charge associated with an occurrence may initially fail if the credit card associated with the recurring charge is declined or expired; however, after the payment details are updated, a subsequent Charge associated with the same occurrence may succeed.In this scenario, however, only a single occurrence is counted towards the max_occurrences limit." type: number maxAmount: format: double description: "OPTIONAL\r\nThe maximum amount the recurring charge will attempt to collect before the recurring charge is automatically marked completed. This value must be greater than or equal to amount. The final occurrence of a recurring charge will be the lesser of amount and the remainder of max_amount less total_amount.\r\nFor example, a recurring charge with a scheduled amount of $100 and a maximum amount of $150 will result in an initial occurrence for $100 followed by a final occurrence of $50. Note that max_amount, just like max_occurrences, tracks scheduled payments, and not actual transactions created to collect on those scheduled payments." type: number isCreateInvoiceWithPayment: description: If this is set to true, when we get a notification that the payment was charged, we will also add an invoice and apply the payment on the invoice. type: boolean itemId: format: int64 type: integer item: $ref: '#/components/schemas/Product' tax1: $ref: '#/components/schemas/SalesTax' tax2: $ref: '#/components/schemas/SalesTax' isDeleted: type: boolean createdBy: $ref: '#/components/schemas/User' createdDate: format: date-time type: string billedBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' lastModifiedDate: format: date-time type: string tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' occurrences: type: array items: $ref: '#/components/schemas/RecurringPaymentOccurrence' lastDateOfMigrationRequest: format: date-time type: string migrationRequestCount: format: int32 type: integer installments: format: int32 type: integer isCustomRecurringPayment: type: boolean readOnly: true ProductVendor: type: object properties: id: format: int64 type: integer vendorSku: type: string leadTimeInDays: format: double type: number cost: format: double type: number product: $ref: '#/components/schemas/Product' account: $ref: '#/components/schemas/Account' tenant: $ref: '#/components/schemas/Tenant' isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' Share: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 sharedDate: format: date-time type: string sharedByUserId: format: int64 type: integer sharedByUser: $ref: '#/components/schemas/User' sharedByContactId: format: int64 type: integer sharedByContact: $ref: '#/components/schemas/Contact' activity: $ref: '#/components/schemas/Activity' saleDocument: $ref: '#/components/schemas/SaleDocument' payment: $ref: '#/components/schemas/Payment' blob: $ref: '#/components/schemas/Blob' ContactSync: type: object properties: id: format: int64 type: integer activityId: format: int64 type: integer contact: $ref: '#/components/schemas/Contact' userId: format: int32 type: integer user: $ref: '#/components/schemas/User' project: $ref: '#/components/schemas/Project' exchangeId: type: string googleId: type: string outlookId: type: string lastGoogleSyncDate: format: date-time type: string lastExchangeSyncDate: format: date-time type: string lastOutlookSyncDate: format: date-time type: string LawToolboxCourtRule: type: object properties: id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' name: type: string toolsetName: type: string toolsetId: type: string triggerName: type: string triggerId: type: string triggerDate: format: date-time type: string toggleOptionId: type: string toggleId: type: string toggleDescription: type: string activities: type: array items: $ref: '#/components/schemas/Activity' isDeleted: type: boolean createdDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedDate: format: date-time type: string lastModifiedBy: $ref: '#/components/schemas/User' SaleDocumentDTO_Detail: required: - accountGuid - discountPercent - saleDocumentTemplateGuid - currencyCode - date type: object properties: interestOptions: $ref: '#/components/schemas/InterestOptions' isDeleted: description: ' ' type: boolean readOnly: true accountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' pattern: ^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$ type: string example: 00000000-0000-0000-0000-000000000000 projectGuid: format: uuid description: Used to set the reference in POST and PUTRequired for PracticePanther. Required for PracticePanther. pattern: ^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$ type: string example: 00000000-0000-0000-0000-000000000000 numOfPayments: format: int32 description: Indicates the number of payments applied on this invoice (SaleDocumentPayments). Indicates the number of payments applied on this invoice (SaleDocumentPayments). type: integer readOnly: true discountPercent: format: double description: Discount (%) to be applied on this invoice. 10 = 10%, 1 = 1% etc. maximum: 100 minimum: 0 type: number lastModifiedBy: $ref: '#/components/schemas/UserRef' lastModifiedDate: format: date-time description: ' ' type: string readOnly: true saleDocumentPayments: type: array items: $ref: '#/components/schemas/SaleDocumentPaymentRef' items: type: array items: $ref: '#/components/schemas/SaleDocumentItemDTO' credit: $ref: '#/components/schemas/CreditDTO' termsAndConditions: description: Terms and conditions for this invoice. Visible to the customer. type: string customerNotes: description: Specific notes for the customer. Visible to the customer. type: string isSendInvoicePaymentReminders: description: Set to true to send automatic payment reminders to this client. type: boolean isUseCreditToPayBalance: description: Used during PUT/POST. If set to true all available operating account credit (for this account / project) will automatically be applied to this invoice to pay any amount due. type: boolean isUseTrustToPayBalance: description: Used during PUT/POST. If set to true will automatically transfer funds from the trust account to the operating account and apply them on this invoice. type: boolean isNotifyWhenViewedByClient: description: Send an email to the user which created this invoice and to the account and project owners when this invoice is viewed by the customer. type: boolean isNotifyWhenPaidByClient: description: Invoices only, if set to true will send an email to the user which created this invoice and to the account and project owners when this invoice is paid by the customer. type: boolean isNotifyWhenApprovedByClient: description: Quotes only. If set to true, will send an email to the user which created this invoice and to the account and project owners when this quote is approved by the customer. type: boolean isAllowOnlinePayment: description: Invoices of type Sale only. If set to true, will accept online payment on this invoice. Online payments must be enabled for this to apply. type: boolean isAllowPartialPayment: description: Invoices of type Sale only. If set to true, will accept online payment on this invoice for less than the full amount due. Online payments must be enabled for this to apply. type: boolean isCarryForwardBalance: description: Invoices of type Sale only. If set to true, will add to the total balance all unpaid invoices type: boolean refundPaymentMethod: description: Invoices of type Refund only. Indicates the method funds were refunded to the client. enum: - Cash - Check - CreditCard - PayPal - AuthorizeNet - Other - Stripe - Wire - Transfer - LawPay - PantherPaymentsCC - PantherPaymentsECheck - JournalEntry type: string refundPaymentBankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 saleDocumentTemplateGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 isMultiMatterInvoice: type: boolean isSubmitInvoiceForApproval: type: boolean isSentToCustomer: type: boolean bankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 defaultBankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 bankAccount: $ref: '#/components/schemas/BankAccount' isHeadNoteEnabled: type: boolean invoiceOrder: enum: - Name - Number type: string isAccountingPlus: type: boolean isEditingLimited: type: boolean readOnly: true nextAvailablePaymentDateFormatted: type: string enableFutureAppliedDateWarningLabel: type: boolean automaticPaymentApplicationDate: format: date-time type: string accountTags: type: array items: $ref: '#/components/schemas/TagDTO' projectTags: type: array items: $ref: '#/components/schemas/TagDTO' account: $ref: '#/components/schemas/AccountRef' project: $ref: '#/components/schemas/ProjectRef' tenant: $ref: '#/components/schemas/TenantDTO' currencyCode: description: This defines the currency for this account. Must be in ISO 4217 format. Must match the currency code for the Account (contact). type: string dueDate: format: date-time description: The due date for full payment on this invoice. type: string expDate: format: date-time description: The expiration date for this quote. type: string amountPaid: format: double description: Total amount paid. Total amount paid. type: number readOnly: true amountDue: format: double description: Total amount due. Total amount due. type: number readOnly: true sub: format: double description: Subtotal (sum of all Items.Sub) Subtotal (sum of all Items.Sub) type: number readOnly: true discount: format: double description: Indicates the total discount on this invoice. Set by DiscountPercent. Indicates the total discount on this invoice. Set by DiscountPercent. type: number readOnly: true tax: format: double description: Total tax applied on this invoice (sum of all Items.Tax + Items.Tax2). Total tax applied on this invoice (sum of all Items.Tax + Items.Tax2). type: number readOnly: true total: format: double description: Total (sum of all Items.Total) Total (sum of all Items.Total) type: number readOnly: true poNumber: type: string isOverdue: description: Indicates if this invoice is overdue. Indicates if this invoice is overdue. type: boolean readOnly: true isExpired: description: Indicates if this quote has expired. type: boolean readOnly: true status: description: Sets the status on this invoice. Sets the status on this invoice. enum: - Saved - Approved - Sent - Paid - Viewed - Overdue - Expired - Invoiced - Due - PendingApproval type: string readOnly: true createdBy: $ref: '#/components/schemas/UserRef' approvedBy: $ref: '#/components/schemas/UserRef' approvalDate: format: date-time description: ' ' type: string readOnly: true isApproved: type: boolean createdDate: format: date-time description: ' ' type: string readOnly: true quickbooksId: type: string guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 number: format: int32 type: integer name: description: ' ' type: string readOnly: true type: description: Indicates if this sale document is an Invoice or a Quote enum: - Invoice - Quote type: string invoiceType: description: If this sale document is of type 'invoice', will indicate if this is a sale, refund or credit invoice. enum: - Sale - Refund - Credit type: string date: format: date-time description: The issue date for this invoice / quote. type: string CompletedTask: type: object properties: activityId: format: int64 type: integer tenantId: format: int64 type: integer completedAt: format: date-time type: string completedByUserId: format: int32 type: integer completedByContactId: format: int64 type: integer activity: $ref: '#/components/schemas/Activity' user: $ref: '#/components/schemas/User' contact: $ref: '#/components/schemas/Contact' TimeEntryRef: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: description: ' ' type: string readOnly: true Attachment: type: object properties: id: format: int64 type: integer name: type: string isImage: type: boolean file: format: byte type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' IntakeFormEntry: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 rowIndex: format: int32 type: integer name: description: The form field name type: string label: description: The form field label type: string value: description: The form field value (as a string) type: string type: enum: - Checkbox - CheckboxGroup - Date - File - RadioGroup - Select - Text - TextArea type: string Account: description: Account domain methods - business logic and aggregate root operations required: - id - tenantId type: object properties: id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 associatedBankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 billingAddressId: format: int64 type: integer boxFolderId: type: string boxSharedFolderUrl: type: string campaignId: format: int64 type: integer createdBy: $ref: '#/components/schemas/User' createdDate: format: date-time type: string cultureName: type: string currencyCode: type: string defaultPaymentSourceGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 dropboxFolderId: type: string googleDriveFolderId: type: string headNoteClientId: type: string is1099Eligible: type: boolean isAllowClientToViewAllOutstandingInvoices: type: boolean isAllowClientToViewAllPaidInvoices: type: boolean isAllowClientToViewAllPayments: type: boolean isAllowClientToViewAccountBalances: type: boolean isContactSync: type: boolean isCustomPriceList: type: boolean isDeleted: type: boolean isDisableEcheck: type: boolean isEmailSync: type: boolean isEnabled: type: boolean isFilesSync: type: boolean isObjectBeingEdited: type: boolean isSendInvoicePaymentReminders: type: boolean isSendQuoteApprovalReminders: type: boolean lastModifiedBy: $ref: '#/components/schemas/User' lastModifiedBy_Id: format: int32 type: integer lastModifiedDate: format: date-time type: string lastQuickbooksSyncDate: format: date-time type: string lastXeroSyncDate: format: date-time type: string ledesClientId: type: string logo: $ref: '#/components/schemas/Blob' logoThumbnail: type: array items: $ref: '#/components/schemas/Blob' nameAndNumber: type: string name: type: string number: format: int32 type: integer tenantRefNumber: format: int32 type: integer oneDriveFolderId: type: string primaryContactId: format: int64 type: integer priceListId: format: int64 type: integer quickbooksId: type: string saleDocumentTemplateGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 shippingAddressId: format: int64 type: integer status: enum: - Active - Archived type: string accountTotal: $ref: '#/components/schemas/AccountTotal' surchargesEnabled: type: boolean taxId: type: string tenantId: format: int64 type: integer utbmsIsEnabled: type: boolean website: type: string xeroId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 notes: type: string activities: type: array items: $ref: '#/components/schemas/Activity' addresses: type: array items: $ref: '#/components/schemas/Address' assignedTo: type: array items: $ref: '#/components/schemas/User' blobs: type: array items: $ref: '#/components/schemas/Blob' checks: type: array items: $ref: '#/components/schemas/Payment' contacts: type: array items: $ref: '#/components/schemas/Contact' conversations: type: array items: $ref: '#/components/schemas/Conversation' customFieldValues: type: array items: $ref: '#/components/schemas/CustomFieldValue' expenses: type: array items: $ref: '#/components/schemas/Expense' feeds: type: array items: $ref: '#/components/schemas/Feed' flatFees: type: array items: $ref: '#/components/schemas/FlatFee' intakeForms: type: array items: $ref: '#/components/schemas/IntakeForm' invoiceContactRecipients: type: array items: $ref: '#/components/schemas/InvoiceAccountRecipients' opportunities: type: array items: $ref: '#/components/schemas/Opportunity' partnerships: type: array items: $ref: '#/components/schemas/Partnership' paymentSources: type: array items: $ref: '#/components/schemas/PaymentSource' payments: type: array items: $ref: '#/components/schemas/Payment' projects: type: array items: $ref: '#/components/schemas/Project' projectLinks: type: array items: $ref: '#/components/schemas/AccountProjectLink' recurringPayments: type: array items: $ref: '#/components/schemas/RecurringPayment' saleDocuments: type: array items: $ref: '#/components/schemas/SaleDocument' tags: type: array items: $ref: '#/components/schemas/Tag' timeEntries: type: array items: $ref: '#/components/schemas/TimeEntry' userImapSyncs: type: array items: $ref: '#/components/schemas/UserImapSync' usersFollowing: type: array items: $ref: '#/components/schemas/User' defaultPaymentSource: $ref: '#/components/schemas/PaymentSource' campaign: $ref: '#/components/schemas/Campaign' priceList: $ref: '#/components/schemas/PriceList' primaryContact: $ref: '#/components/schemas/Contact' tenant: $ref: '#/components/schemas/Tenant' billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' UtbmsCode: required: - name type: object properties: id: format: int64 type: integer name: type: string code: type: string type: enum: - ABA_Bankruptcy - ABA_Counselling - ABA_Litigation - ABA_Project - ABA_WorkersComp - LOC_Ediscovery - LOC_Grc - LOC_Patent - LOC_Project - LOC_Trademark - EW_Civil_Litigation - ABA_Activity - ABA_Expense - LOC_ResolveStar - JPMORGAN_Chase type: string Blob: type: object properties: shares: type: array items: $ref: '#/components/schemas/Share' guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 isHidden: description: If true, the blob will not be visible to the tenant in the list of attachments. Used for invoices etc. type: boolean id: format: int64 type: integer uri: type: string size: format: int64 type: integer type: type: string description: type: string name: type: string containerName: type: string isEnabled: type: boolean isDeleted: type: boolean boxFileId: type: string dropboxFileId: type: string Partnership: type: object properties: id: format: int64 type: integer percent: format: double type: number account: $ref: '#/components/schemas/Account' product: $ref: '#/components/schemas/Product' tenant: $ref: '#/components/schemas/Tenant' description: type: string isEnabled: type: boolean isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' Conversation: type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 account: $ref: '#/components/schemas/Account' project: $ref: '#/components/schemas/Project' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdByUser: $ref: '#/components/schemas/User' createdByContact: $ref: '#/components/schemas/Contact' isDeleted: type: boolean deletedDate: format: date-time type: string deletedBy: $ref: '#/components/schemas/User' subject: type: string messages: type: array items: $ref: '#/components/schemas/ConversationMessage' participants: type: array items: $ref: '#/components/schemas/ConversationParticipant' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' Website: type: object properties: id: format: int64 type: integer tenantId: format: int64 type: integer uri: type: string tenant: $ref: '#/components/schemas/Tenant' priceList: $ref: '#/components/schemas/PriceList' SyncSettings: required: - contactsGroupName type: object properties: isSyncTasksInbound: type: boolean isSyncTasksOutbound: type: boolean taskListId: type: string taskListName: type: string isSyncCalendarInbound: type: boolean isSyncCalendarOutbound: type: boolean calendarId: type: string calendarName: type: string isSyncContactsOutbound: type: boolean isSyncContactsMailSyncAddress: type: boolean isSyncProjectsMailSyncAddress: type: boolean contactsGroupName: type: string isSyncEmailsInbound: type: boolean emailFolderName: type: string SalesTaxData: type: object properties: id: format: int64 type: integer name: type: string rate: format: double type: number isCompound: type: boolean amount: format: double type: number Project: required: - id - name type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 contactsSync: type: array items: $ref: '#/components/schemas/ContactSync' isEmailSync: type: boolean isFilesSync: type: boolean isContactSync: type: boolean id: format: int64 type: integer projectRates: type: array items: $ref: '#/components/schemas/ProjectRate' presetProjectRate: $ref: '#/components/schemas/PresetProjectRate' accountLinks: type: array items: $ref: '#/components/schemas/AccountProjectLink' number: format: int32 type: integer tenantRefNumber: format: int32 type: integer nameAndNumber: type: string tags: type: array items: $ref: '#/components/schemas/Tag' lawToolboxMatters: type: array items: $ref: '#/components/schemas/LawToolboxMatter' name: type: string accountId: format: int64 pattern: ^(\s*|\d+)$ type: integer account: $ref: '#/components/schemas/Account' evergreenIsOn: type: boolean evergreenAmount: format: double type: number isAddEvergreenToInvoice: description: If set to true, we will add the amount required to replenish the retainer to the evergreen amount to the invoice. type: boolean isAccountRequired: type: boolean notes: type: string dueDate: format: date-time type: string openDate: format: date-time type: string closeDate: format: date-time type: string isDeleted: type: boolean isEnabled: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' assignedTo: type: array items: $ref: '#/components/schemas/User' originatedById: format: int32 type: integer originatedBy: $ref: '#/components/schemas/User' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' customFieldValues: type: array items: $ref: '#/components/schemas/CustomFieldValue' userImapSyncs: type: array items: $ref: '#/components/schemas/UserImapSync' feeds: type: array items: $ref: '#/components/schemas/Feed' timeEntries: type: array items: $ref: '#/components/schemas/TimeEntry' flatFees: type: array items: $ref: '#/components/schemas/FlatFee' boxFolderId: type: string dropboxFolderId: type: string googleDriveFolderId: type: string oneDriveFolderId: type: string ledesClientMatterId: type: string hourlyRate: format: double maximum: 2147483647 minimum: 0 type: number flatRate: format: double maximum: 2147483647 minimum: 0 type: number contingencyRatePercent: format: double maximum: 2147483647 minimum: 0 type: number isFlatRateBilled: 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." type: boolean billableFlatRate: format: double type: number hourlyRateType: enum: - ItemRate - UserRate - ProjectRate - FlatRate - Contingency - PresetProjectRate type: string status: enum: - Closed - Pending - Open - Archived type: string expenses: type: array items: $ref: '#/components/schemas/Expense' saleDocuments: type: array items: $ref: '#/components/schemas/SaleDocument' attachments: type: array items: $ref: '#/components/schemas/Attachment' payments: type: array items: $ref: '#/components/schemas/Payment' projectTotal: $ref: '#/components/schemas/ProjectTotal' intakeForms: type: array items: $ref: '#/components/schemas/IntakeForm' activities: type: array items: $ref: '#/components/schemas/Activity' conversations: type: array items: $ref: '#/components/schemas/Conversation' blobs: type: array items: $ref: '#/components/schemas/Blob' usersFollowing: type: array items: $ref: '#/components/schemas/User' paymentSources: type: array items: $ref: '#/components/schemas/PaymentSource' defaultPaymentSourceGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 defaultPaymentSource: $ref: '#/components/schemas/PaymentSource' recurringPayments: type: array items: $ref: '#/components/schemas/RecurringPayment' boxSharedFolderUrl: type: string twilioTextMessages: type: array items: $ref: '#/components/schemas/TwilioTextMessageChat' saleDocumentTemplateGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 invoiceMatterRecipients: type: array items: $ref: '#/components/schemas/InvoiceMatterRecipients' Expense: type: object properties: blobs: type: array items: $ref: '#/components/schemas/Blob' guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer name: type: string isDeleted: type: boolean isEnabled: type: boolean notes: type: string description: type: string isDoNotCharge: type: boolean accountId: format: int64 pattern: ^(\s*|\d+)$ type: integer isAccountRequired: type: boolean account: $ref: '#/components/schemas/Account' projectId: format: int64 pattern: ^(\s*|\d+)$ type: integer isProjectRequired: type: boolean project: $ref: '#/components/schemas/Project' accountingAccountId: format: int64 type: integer accountingAccount: $ref: '#/components/schemas/AccountingAccount' productId: format: int64 type: integer qty: format: double type: number totalAmount: format: double type: number date: format: date-time type: string amount: format: double type: number isBillable: type: boolean isBilled: type: boolean tax1Id: format: int64 type: integer tax1: $ref: '#/components/schemas/SalesTax' tax2Id: format: int64 type: integer tax2: $ref: '#/components/schemas/SalesTax' userId: format: int32 pattern: ^\d+$ type: integer user: $ref: '#/components/schemas/User' status: enum: - Billable - Billed - Paid - NotBillable type: string receipts: type: array items: $ref: '#/components/schemas/Blob' primaryReceipt: $ref: '#/components/schemas/Blob' saleDocumentItemId: format: int64 type: integer saleDocumentItem: $ref: '#/components/schemas/SaleDocumentItem' createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' costType: description: Hard costs are expenses incurred on behalf of a client that require a direct payment by the firm to a vendor. For example if a firm writes a check for a court filing fee, it is considered a hard cost. Soft costs are expenses that are charged to the client but a direct payment is not made to a vendor. enum: - SoftCost - HardCost type: string hardCostPayment: $ref: '#/components/schemas/Payment' utbmsCodeId: format: int64 type: integer utbmsCode: $ref: '#/components/schemas/UtbmsCode' UserImapSync: required: - id - userId - imapFolderName - nextUid type: object properties: id: format: int64 type: integer projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' accountId: format: int64 type: integer account: $ref: '#/components/schemas/Account' userId: format: int32 type: integer user: $ref: '#/components/schemas/User' imapFolderName: type: string nextUid: format: int64 type: integer createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string lastSyncDate: format: date-time type: string isLastSyncSuccessful: type: boolean lastSyncStatusMessage: type: string ProjectTotal: required: - tenantId type: object properties: projectId: format: int64 type: integer project: $ref: '#/components/schemas/Project' tenantId: format: int64 type: integer trust: format: double type: number paid: format: double type: number operating: format: double type: number billable: format: double type: number operatingUnappliedCredit: format: double type: number invoicesDue: format: double type: number operatingPaid: format: double type: number ccPaid: format: double type: number hasAnyBillableRecord: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string User: required: - id - email type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 photoUserGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string readOnly: true example: 00000000-0000-0000-0000-000000000000 iCalGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 emailGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 id: format: int32 type: integer fullName: type: string displayName: type: string name: type: string firstName: type: string lastName: type: string middleName: type: string email: type: string isEmailConfirmed: description: Sets to true once user confirms email and sets password type: boolean isPasswordSet: type: boolean password: type: string confirmPassword: type: string timeZoneId: type: string ledesTimekeeperId: type: string mobile: type: string home: type: string office: type: string ext: type: string fax: type: string salutation: type: string position: type: string notes: type: string skypeId: type: string twitter: type: string gender: enum: - Male - Female type: string directMailAdditionalEmailAddresses: type: string photo: $ref: '#/components/schemas/Blob' photoThumbnail: $ref: '#/components/schemas/Blob' lastLoginDate: format: date-time type: string lastDateOfPaymentPlanMigrationSnooze: format: date-time type: string lastDateUpdateTenantInfoPopUpSnooze: format: date-time type: string lastDatePantherPaymentMigrationPopUpSnooze: format: date-time type: string birthday: format: date-time type: string isDeleted: type: boolean isEnabled: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string syncSettings: $ref: '#/components/schemas/SyncSettings' googleUsername: type: string isGoogleSyncEnabled: type: boolean lastGoogleSyncDate: format: date-time type: string microsoftLiveConnectAuthToken: type: string isMicrosoftLiveConnectEnabled: type: boolean lastMicrosoftLiveSyncDate: format: date-time type: string isExchangeIntegrationEnabled: type: boolean lastExchangeSyncDate: format: date-time type: string exchangeUsername: type: string exchangeEmailAddress: type: string exchangeURL: type: string exchangePassword: type: string isExchangePasswordEncrypted: type: boolean hourlyRate: format: double maximum: 2147483647 minimum: 0 type: number hourlyCost: format: double maximum: 2147483647 minimum: 0 type: number timeEntries_IsRoundingEnabled: type: boolean timeEntries_RoundDirection: enum: - Up - Down type: string timeEntries_RoundToNearest: format: double type: number portals: type: array items: $ref: '#/components/schemas/Portal' isHideWelcomePage: type: boolean isEmailActivityAssigneeByDefault: type: boolean isEmailUserTaskCompletedByDefault: type: boolean isReceiveDailyAgendaEmail: type: boolean isReceiveWeeklySummaryEmail: type: boolean isReceiveActivityEmails: type: boolean isReceiveNotificationPopups: type: boolean roleId: format: int64 pattern: ^(\s*|\d+)$ type: integer role: $ref: '#/components/schemas/Role' imapServer: $ref: '#/components/schemas/MailServerSettings' smtpServer: $ref: '#/components/schemas/MailServerSettings' notificationsSettings: $ref: '#/components/schemas/NotificationSettings' mixpanelDistinctId: type: string popUpSettings: $ref: '#/components/schemas/UserPopUpSettings' goToWebinarWebinarKey: format: int64 type: integer goToWebinarRegistrantKey: format: int64 type: integer chatStatus: enum: - Offline - Online type: string supportAccessExpiration: format: date-time type: string supportEncryptedAccessCode: type: string isSupportRecordingEnabled: type: boolean supportRecordingExpiration: format: date-time type: string doesHaveBankAccountViewPermissions: type: boolean readOnly: true OneLinkTemplate: required: - bankAccount - assignedTo type: object properties: name: type: string id: format: int64 type: integer guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 isDefault: type: boolean bankAccountGuid: format: uuid description: 'Used to set the reference in POST and PUT ' type: string example: 00000000-0000-0000-0000-000000000000 bankAccount: $ref: '#/components/schemas/BankAccount' tenantId: format: int64 type: integer assignedTo: type: array items: $ref: '#/components/schemas/User' tenant: $ref: '#/components/schemas/Tenant' isDeleted: type: boolean createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' linkUrl: type: string addressPosition: enum: - TopLeft type: string isAddPersonalMessage: type: boolean personalMessage: type: string isNotes: type: boolean isMatterId: type: boolean isContactId: type: boolean isRequestAmount: type: boolean amount: format: double type: number surchargesEnabled: type: boolean Campaign: required: - id - name type: object properties: guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 id: format: int64 type: integer name: type: string startDate: format: date-time type: string endDate: format: date-time type: string expectedRevenue: format: double type: number readOnly: true actualRevenue: format: double type: number readOnly: true numOfCollectedLeads: format: int32 type: integer readOnly: true numOfConvertedLeads: format: int32 type: integer readOnly: true leadConversionRate: format: double type: number readOnly: true actualCostPerCollectedLead: format: double type: number readOnly: true actualCostPerConvertedLead: format: double type: number readOnly: true budgetCost: format: double type: number actualCost: format: double type: number description: type: string campaignGuid: description: 'Used to set the reference in POST and PUT ' type: string createdDate: format: date-time type: string lastModifiedDate: format: date-time type: string conversionDate: format: date-time type: string owner: $ref: '#/components/schemas/User' createdBy: $ref: '#/components/schemas/User' lastModifiedBy: $ref: '#/components/schemas/User' status: enum: - None - Planned - Active - Inactive - Completed type: string type: enum: - Email - Conference - TradeShow - Partners - Telemarketing - Referral - NewspaperAd - OnlineAd - Website - Other type: string contacts: type: array items: $ref: '#/components/schemas/Contact' opportunities: type: array items: $ref: '#/components/schemas/Opportunity' isDeleted: type: boolean isEnabled: type: boolean tenantId: format: int64 type: integer tenant: $ref: '#/components/schemas/Tenant' blobs: type: array items: $ref: '#/components/schemas/Blob' InvoiceAccountRecipients: type: object properties: invoiceAccountId: format: int64 type: integer invoiceAccount: $ref: '#/components/schemas/Account' recipientContactId: format: int64 type: integer recipientContact: $ref: '#/components/schemas/Contact' AccessLevel: type: object properties: id: format: int64 type: integer roleId: format: int64 type: integer controller: enum: - Account - Activity - Attachment - Campaign - Category - Dashboard - Expense - Feed - Inventory - SaleDocument - Item - Payment - PriceList - ProductLog - Project - Report - Role - SalesTax - Tenant - TimeEntry - User - BankAccount - OauthClient - FlatFee - Esignature - PaymentForReport - SMS - SavedReport - FirmPayment - FinancialSummary type: string action: enum: - Create - Details - Edit - Delete - ViewAll - ModifyAll - Archive type: string CreditDTO: required: - creditForSaleDocument type: object properties: saleDocumentPayments: type: array items: $ref: '#/components/schemas/SaleDocumentPaymentRef' guid: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 creditAmount: format: double description: Total credit amount Total credit amount type: number readOnly: true creditApplied: format: double description: Credit amount applied towards invoices Credit amount applied towards invoices type: number readOnly: true creditAvailable: format: double description: Credit amount available (not applied towards invoices) Credit amount available (not applied towards invoices) type: number readOnly: true creditForSaleDocument: $ref: '#/components/schemas/SaleDocumentRef' securitySchemes: oauth2: type: oauth2 description: OAuth 2.0 - Authorization Code Grant flows: authorizationCode: authorizationUrl: /OAuth/Authorize tokenUrl: /OAuth/Token scopes: full: Read/Write access to all resources