{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/smokeball/json-schema/smokeball-schemas.json",
"title": "Smokeball API Schemas",
"description": "JSON Schema definitions for the Smokeball legal practice management API domain objects.",
"$defs": {
"AccountState": {
"enum": [
0,
1
],
"type": "integer",
"format": "int32"
},
"BankAccount": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the bank account.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"type": {
"type": "string",
"description": "The type of the bank account (Operating, Trust, Credit, ControlledMoney).",
"example": "Trust"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/AccountState"
}
],
"description": "The status of the account (Open, Closed)."
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The Matter associated to the account. \r\n\r\nApplies to 'ControlledMoney' accounts only.",
"nullable": true
},
"accountType": {
"type": "integer",
"description": "The type of the bank account (Operating = 0, Trust = 1, Credit = 2, ControlledMoney = 3).\r\n\r\nThis field is deprecated and scheduled for removal - use the Type field instead.",
"format": "int32",
"example": 0
},
"accountName": {
"type": "string",
"description": "Account Name.",
"nullable": true,
"example": "John Smith"
},
"accountNumber": {
"type": "string",
"description": "Account Number.",
"nullable": true,
"example": "10436489"
},
"bankName": {
"type": "string",
"description": "Bank Name.",
"nullable": true,
"example": "Commonwealth Bank"
},
"branchNumber": {
"type": "string",
"description": "Branch Number.",
"nullable": true,
"example": "062201"
},
"branchName": {
"type": "string",
"description": "Branch Name.",
"nullable": true,
"example": "Sydney"
},
"balance": {
"type": "number",
"description": "Total balance of the bank account.",
"format": "double",
"example": 1000
},
"contactBalances": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccountContactBalance"
},
"description": "List of contact balances.\r\n\r\nIf balances are stored by matter, not by contact, then there can be\r\na contact balance with no contact id. In this case, MatterBalances are used instead.\r\n\r\nOnly supported in US.",
"nullable": true
},
"matterBalances": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccountMatterBalance"
},
"description": "List of matter balances.\r\n\r\nA matter balance will be equal to the sum of all contact balances with the same MatterId.",
"nullable": true
}
},
"additionalProperties": false
},
"BankAccountCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccount"
},
"nullable": true
}
},
"additionalProperties": false
},
"BankAccountContactBalance": {
"type": "object",
"properties": {
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The associated matter.",
"nullable": true
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The associated contact.",
"nullable": true
},
"balance": {
"type": "number",
"description": "The balance belonging for the specified matter contact.",
"format": "double",
"example": 1000
},
"protectedBalance": {
"type": "number",
"description": "The protected balance for the specified matter and contact.",
"format": "double",
"example": 1000
},
"availableBalance": {
"type": "number",
"description": "The available balance for the specified matter and contact.\r\n \r\nThis value is calculated as the total balance minus the protected balance.",
"format": "double",
"example": 1000
},
"lastUpdated": {
"type": "string",
"description": "Date and time that the balance was last updated.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"BankAccountMatterBalance": {
"type": "object",
"properties": {
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The associated matter.",
"nullable": true
},
"balance": {
"type": "number",
"description": "The balance belonging for the specified matter.",
"format": "double",
"example": 1000
},
"protectedBalance": {
"type": "number",
"description": "The protected balance for the specified matter.",
"format": "double",
"example": 1000
},
"availableBalance": {
"type": "number",
"description": "The available balance for the specified matter.\r\n \r\nThis value is calculated as the total balance minus the protected balance.",
"format": "double",
"example": 1000
},
"unpresentedChequesBalance": {
"type": "number",
"description": "Balance of the unpresented cheques for this matter. A cheque is considered \r\nunpresented if the related transaction has not been reconciled. If this balance is not zero,\r\nsome actions on the matter are restricted (e.g. closing or cancelling the matter).",
"format": "double",
"example": 0
},
"lastUpdated": {
"type": "string",
"description": "Date and time that the balance was last updated.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"BankAccountMatterBalancePagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccountMatterBalance"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"Link": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
}
},
"additionalProperties": false
},
"ProblemDetails": {
"type": "object",
"properties": {
"type": {
"type": "string",
"nullable": true
},
"title": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"format": "int32",
"nullable": true
},
"detail": {
"type": "string",
"nullable": true
},
"instance": {
"type": "string",
"nullable": true
}
},
"additionalProperties": {}
},
"ProtectFundsDto": {
"required": [
"amount",
"effectiveDate",
"matterId"
],
"type": "object",
"properties": {
"matterId": {
"minLength": 1,
"type": "string",
"description": "Unique identifier of the associated matter. Required.",
"example": "da4e7fd1-5394-4ca9-b1c6-e18c4e2bf262"
},
"contactId": {
"type": "string",
"description": "Unique identifier of the associated contact. Required in US only.",
"nullable": true,
"example": "18c05819-c321-4907-800c-d5a608729c5a"
},
"reason": {
"type": "string",
"description": "Reason for protecting the funds.",
"nullable": true,
"example": "Court order requiring protection of funds"
},
"effectiveDate": {
"type": "string",
"description": "Date of protecting the funds.",
"format": "date-time"
},
"amount": {
"minimum": 0.01,
"type": "number",
"description": "The amount to protect in dollars. Limited to 2 decimal places (cents).",
"format": "double",
"example": 100.5
}
},
"additionalProperties": false
},
"ProtectedAccountBalance": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the protection record.",
"nullable": true,
"example": "p1"
},
"bankAccount": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The bank account where the protection was applied.",
"nullable": true
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The associated matter.",
"nullable": true
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The associated contact (US only).",
"nullable": true
},
"amount": {
"type": "number",
"description": "The amount protected in dollars. Limited to 2 decimal places (cents).",
"format": "double",
"example": 100.5
},
"reason": {
"type": "string",
"description": "Reason for protecting the funds.",
"nullable": true,
"example": "Court order requiring protection of funds"
},
"effectiveDate": {
"type": "string",
"description": "Date the protection took effect.",
"format": "date-time",
"example": "2024-01-15T00:00:00Z"
},
"timestamp": {
"type": "string",
"description": "Timestamp when the protection was created.",
"format": "date-time",
"example": "2024-01-15T10:30:00Z"
},
"isProtected": {
"type": "boolean",
"description": "True if the funds are currently protected.",
"example": true
},
"userId": {
"type": "string",
"description": "Unique identifier of the user who protected the funds.",
"nullable": true,
"example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"unprotectingUserId": {
"type": "string",
"description": "Unique identifier of the user who unprotected the funds (if applicable).",
"nullable": true,
"example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"lastUpdated": {
"type": "string",
"description": "Timestamp when the protection was last updated (e.g. protected or unprotected).",
"format": "date-time",
"example": "2024-01-15T10:30:00Z"
}
},
"additionalProperties": false
},
"Requisition": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Requisition ID if requisition requires approval.",
"nullable": true,
"example": "18c05819-c321-4907-800c-d5a608729c5a"
},
"status": {
"type": "string",
"description": "Status of the requisition (e.g., Pending, Approved).",
"example": "Approved"
},
"protectedBalance": {
"type": "number",
"description": "Protected balance after the requisition.",
"format": "double",
"example": 1000
},
"availableBalance": {
"type": "number",
"description": "Available balance after the requisition.",
"format": "double",
"example": 5000
},
"totalBalance": {
"type": "number",
"description": "Total balance after the requisition.",
"format": "double",
"example": 6000
},
"pdfPaymentDetail": {
"type": "string",
"description": "Link to the PDF payment detail document.",
"nullable": true
}
},
"additionalProperties": false
},
"RequisitionDto": {
"required": [
"amount",
"matterId",
"payeeId",
"source"
],
"type": "object",
"properties": {
"matterId": {
"minLength": 1,
"type": "string",
"description": "Unique identifier of the associated matter. Required.",
"example": "da4e7fd1-5394-4ca9-b1c6-e18c4e2bf262"
},
"approverUserId": {
"type": "string",
"description": "Approver user ID.\r\n\r\nCannot be the same user ID as the user making the requisition request. If provided, must be a valid user ID in the system.\r\n\r\nOptional. If not provided, default approver will be used.",
"nullable": true,
"example": "18c05819-c321-4907-800c-d5a608729c5a"
},
"payorId": {
"type": "string",
"description": "Unique identifier of the Payor/Contact ID. Required in US region only.",
"nullable": true,
"example": "18c05819-c321-4907-800c-d5a608729c5a"
},
"payeeId": {
"minLength": 1,
"type": "string",
"description": "Unique identifier of the person or organisation being paid. Required.",
"example": "18c05819-c321-4907-800c-d5a608729c5a"
},
"source": {
"minLength": 1,
"type": "string",
"description": "Payment source. Required.\r\nPossible values:\r\n- \"Bank Transfer\" - always available\r\n- \"Bank Check\" - available in AU and UK only\r\n- \"Trust Check\" - available in AU and UK only\r\n- \"Direct Debit\" - available in AU and UK only\r\n- \"Check\" - available in US only",
"example": "Bank Transfer"
},
"reference": {
"type": "string",
"description": "Payment reference.",
"nullable": true,
"example": "REF123456"
},
"amount": {
"minimum": 0.01,
"type": "number",
"description": "The payment amount in dollars. Limited to 2 decimal places (cents).",
"format": "double",
"example": 100.5
},
"effectiveDate": {
"type": "string",
"description": "Date of requisition.",
"format": "date-time"
},
"accountName": {
"type": "string",
"description": "Account name. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via Direct Deposit (provide AccountName, BSB, and AccountNumber).",
"nullable": true,
"example": "John Doe"
},
"bsb": {
"type": "string",
"description": "BSB (Bank State Branch). Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via Direct Deposit (provide AccountName, BSB, and AccountNumber).",
"nullable": true,
"example": "123456"
},
"accountNumber": {
"type": "string",
"description": "Account number. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via Direct Deposit (provide AccountName, BSB, and AccountNumber).",
"nullable": true,
"example": "12345678"
},
"organizationOrCompanyName": {
"type": "string",
"description": "Organization or company name. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via BPAY (provide OrganizationOrCompanyName, BillerCode, and BillerReference).",
"nullable": true,
"example": "ACME Corporation"
},
"billerCode": {
"type": "string",
"description": "Biller code. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via BPAY (provide OrganizationOrCompanyName, BillerCode, and BillerReference).",
"nullable": true,
"example": "12345"
},
"billerReference": {
"type": "string",
"description": "Biller reference. Required when Source is an electronic payment ('Bank Transfer' or 'Direct Debit') and transfer is expected to be via BPAY (provide OrganizationOrCompanyName, BillerCode, and BillerReference).",
"nullable": true,
"example": "REF123456"
},
"reason": {
"type": "string",
"description": "Reason for the payment. Free format string.",
"nullable": true,
"example": "Payment for services rendered"
},
"internalNote": {
"type": "string",
"description": "Internal note. Free format string.",
"nullable": true,
"example": "Internal note about this payment"
}
},
"additionalProperties": false
},
"Transaction": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the transaction.",
"nullable": true,
"example": "64818ee0-c7b4-46ec-862e-514d8b29540a"
},
"payorName": {
"type": "string",
"description": "The name of the associated contact.",
"nullable": true,
"example": "John Smith"
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The associated matter.",
"nullable": true
},
"payor": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The associated contact that paid the funds.",
"nullable": true
},
"bankAccount": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The bank account where the transaction took place.",
"nullable": true
},
"type": {
"type": "string",
"description": "The type of the transaction.\r\n\r\nPossible values:\r\n Deposit, DepositReversal, InvoicePayment, InvoicePaymentReversal, \r\n VendorPayment, VendorPaymentReversal Transfer, \r\n BankFees, BankFeesReversal, Interest, InterestReversal.",
"nullable": true,
"example": "Deposit"
},
"amount": {
"type": "number",
"description": "The amount of the transaction in dollars. Limited to 2 decimal places (cents).",
"format": "double",
"example": 102.65
},
"enteredDate": {
"type": "string",
"description": "Date the transaction was entered.",
"format": "date-time"
},
"effectiveDate": {
"type": "string",
"description": "Date the transaction took effect.",
"format": "date-time"
},
"reference": {
"type": "string",
"description": "Reference for the transaction.",
"nullable": true
},
"reason": {
"type": "string",
"description": "Reason for the transaction.",
"nullable": true
},
"description": {
"type": "string",
"description": "Description of the transaction.",
"nullable": true
},
"note": {
"type": "string",
"description": "Note for the transaction (for internal use).",
"nullable": true
},
"reversed": {
"type": "boolean",
"description": "True if this transaction has been reversed.",
"example": true
},
"reversedToTransaction": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The transaction that was created as a result of reversing this transaction.",
"nullable": true
},
"reversedFromTransaction": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The transaction that was recversed to create this transaction.",
"nullable": true
}
},
"additionalProperties": false
},
"TransactionDto": {
"type": "object",
"properties": {
"matterId": {
"type": "string",
"description": "Unique identifier of the associated matter.",
"nullable": true,
"example": "da4e7fd1-5394-4ca9-b1c6-e18c4e2bf262"
},
"payorId": {
"type": "string",
"description": "Unique identifier of the associated contact.",
"nullable": true
},
"type": {
"type": "string",
"description": "The type of the transaction.\r\n\r\nPossible values: Deposit.",
"nullable": true,
"example": "Deposit"
},
"amount": {
"type": "number",
"description": "The amount of the transaction in dollars. Limited to 2 decimal places (cents).",
"format": "double",
"example": 102.65
},
"effectiveDate": {
"type": "string",
"description": "Date of the transaction.",
"format": "date-time"
},
"reference": {
"type": "string",
"description": "Reference for the transaction.",
"nullable": true
},
"reason": {
"type": "string",
"description": "Reason for the transaction.",
"nullable": true
},
"description": {
"type": "string",
"description": "Description of the transaction.",
"nullable": true
},
"note": {
"type": "string",
"description": "Note for the transaction (for internal use).",
"nullable": true
}
},
"additionalProperties": false
},
"UnprotectFundsDto": {
"type": "object",
"properties": {
"amount": {
"minimum": 0.01,
"type": "number",
"description": "The amount to unprotect in dollars. Limited to 2 decimal places (cents).\r\n \r\nThis value must exactly match the originally protected amount.\r\nPartial unprotect is not supported - the full protected amount must be unprotected.\r\n \r\nIf not specified, the full protected amount will be unprotected automatically.\r\nSpecifying this value provides validation to ensure you're unprotecting the expected amount.",
"format": "double",
"nullable": true,
"example": 50.25
}
},
"additionalProperties": false
},
"Activity": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the activity.",
"nullable": true,
"example": "23d2a4bc-8529-462e-8560-dfbf4fa24e49"
},
"versionId": {
"type": "string",
"description": "Unique version identifier of the activity.",
"nullable": true,
"example": "23d2a4bc-8529-462e-8560-dfbf4fa24e49"
},
"updatedByUserId": {
"type": "string",
"description": "Unique identifier of the user that last updated the activity.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/EntryType"
}
],
"description": "Type of the activity.\r\n\r\nPossible values: Fixed = '0', Time = '1', Expense = '2'",
"example": 0
},
"description": {
"type": "string",
"description": "Description of the activity.",
"nullable": true,
"example": "Contract review"
},
"code": {
"type": "string",
"description": "Code of the activity.",
"nullable": true,
"example": "CR"
},
"isBillable": {
"type": "boolean",
"description": "True if the activity is billable.",
"example": true
},
"rateType": {
"allOf": [
{
"$ref": "#/components/schemas/ActivityRateType"
}
],
"description": "The activity rate type.\r\n\r\nPossible values: UseDefaultStaffRate = '0', OverrideRateForAllStaff = '1', OverrideRatePerStaff = '2'",
"example": 2
},
"rate": {
"type": "number",
"description": "Rate of the activity in dollars.\r\n\r\nIf set, rate type must be OverrideRateForAllStaff",
"format": "double",
"example": 23.2
},
"quantity": {
"type": "number",
"description": "Quantity of the activity. This is the default value used when creating an expense or time-based fee.\r\n\r\nFor type 'Expense', this field represents the quantity of the expense in units.\r\nFor type 'Time', this field represents the duration of in minutes, divided by 100,\r\ne.g. for 1 hour duration, quantity is 0.6, which is 60 minutes divided by 100.\r\n\r\nApplies only for 'Time' and 'Expense' types. Not applicable for activity type 'Fixed'.",
"format": "double",
"example": 0.6
},
"taxInclusive": {
"type": "boolean",
"description": "If true, the amount is GST inclusive, otherwise GST exclusive. Only applicable in AU.\r\n\r\nGST inclusive means: Amount exc. GST = Amount - GST, Amount inc. GST = Amount.\r\n\r\nGST exclusive means: Amount exc. GST = Amount, Amount inc. GST = Amount + GST.",
"example": true
},
"taxExempt": {
"type": "boolean",
"description": "Sets tax rate to 0 for the entry (e.g. expense).",
"example": true
},
"taxZeroRated": {
"type": "boolean",
"description": "Indicates the entry is zero-rated for tax purposes. Mutually exclusive with other tax settings.",
"example": false
},
"taxOutOfScope": {
"type": "boolean",
"description": "Indicates the entry is out of scope for tax purposes. Mutually exclusive with other tax settings.",
"example": false
},
"isDeleted": {
"type": "boolean",
"description": "True if the activity is deleted.",
"example": true
},
"inputTaxRate": {
"type": "number",
"description": "Input tax rate of the activity percentage accurate to two decimal places.",
"format": "double",
"nullable": true,
"example": 45.63
},
"outputTaxRate": {
"type": "number",
"description": "Output tax rate of the activity percentage accurate to two decimal places.",
"format": "double",
"nullable": true,
"example": 45.63
}
},
"additionalProperties": false
},
"ActivityDto": {
"type": "object",
"properties": {
"updatedByUserId": {
"type": "string",
"description": "Unique identifier of the user updating the activity.\r\n\r\nThis field is reserved for server-to-server operations.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/EntryType"
}
],
"description": "Type of the activity.\r\n\r\nPossible values: Fixed = '0', Time = '1', Expense = '2'",
"example": 0
},
"description": {
"type": "string",
"description": "Description of the activity.",
"nullable": true,
"example": "Review contract"
},
"code": {
"type": "string",
"description": "Code of the activity. Cannot be longer than 20 characters.",
"nullable": true,
"example": "RC"
},
"isBillable": {
"type": "boolean",
"description": "True if the activity is billable.",
"example": false
},
"rateType": {
"allOf": [
{
"$ref": "#/components/schemas/ActivityRateType"
}
],
"description": "The activity rate type.\r\n \r\nPossible values: UseDefaultStaffRate = '0', OverrideRateForAllStaff = '1', OverrideRatePerStaff = '2'",
"example": 0
},
"rate": {
"type": "number",
"description": "Rate of the activity in dollars.\r\n\r\nIf set, rateType must be OverrideRateForAllStaff",
"format": "double",
"nullable": true,
"example": 23.21
},
"quantity": {
"type": "number",
"description": "Quantity of the activity. This is the default value used when creating an expense or time-based fee.\r\n\r\nFor type 'Expense', this field represents the quantity of the expense in units.\r\nFor type 'Time', this field represents the duration of in minutes, divided by 100,\r\ne.g. for 1 hour duration, quantity is 0.6, which is 60 minutes divided by 100.\r\n\r\nApplies only for 'Time' and 'Expense' types. Not applicable for activity type 'Fixed'.",
"format": "double",
"nullable": true,
"example": 0.6
},
"taxInclusive": {
"type": "boolean",
"description": "If true, the amount is tax inclusive, otherwise tax exclusive. Only applicable in AU and UK regions.\r\n\r\nTax inclusive means: Amount exc. tax = Amount - Tax, Amount inc. tax = Amount.\r\n\r\nTax exclusive means: Amount exc. tax = Amount, Amount inc. tax = Amount + Tax.",
"example": false
},
"taxExempt": {
"type": "boolean",
"description": "True if the activity is exempt from tax.\r\n\r\nThis field is mutually exclusive with TaxZeroRated and TaxOutOfScope.",
"example": false
},
"taxZeroRated": {
"type": "boolean",
"description": "True if the activity is zero-rated for tax purposes. Only supported in UK regions.\r\n\r\nThis field is mutually exclusive with TaxOutOfScope and TaxExempt.",
"example": false
},
"taxOutOfScope": {
"type": "boolean",
"description": "True if the activity is out of scope for tax purposes. Only supported in UK regions.\r\n\r\nThis field is mutually exclusive with TaxZeroRated and TaxExempt.",
"example": false
},
"inputTaxRate": {
"type": "number",
"description": "Input tax rate of the activity in a percentage accurate to two decimal places.\r\ne.g: 45.63",
"format": "double",
"nullable": true
},
"outputTaxRate": {
"type": "number",
"description": "Output tax rate of the activity percentage accurate to two decimal places.\r\ne.g: 45.63",
"format": "double",
"nullable": true
}
},
"additionalProperties": false
},
"ActivityPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Activity"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"ActivityRateType": {
"enum": [
0,
1,
2
],
"type": "integer",
"description": "The activity rate type.\r\n\r\nPossible values: UseDefaultStaffRate = '0', OverrideRateForAllStaff = '1', OverrideRatePerStaff = '2'",
"format": "int32"
},
"EntryType": {
"enum": [
0,
1,
2
],
"type": "integer",
"description": "Type of the activity.\r\n\r\nPossible values: Fixed = '0', Time = '1', Expense = '2'",
"format": "int32"
},
"Archive": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Matter Id.",
"nullable": true,
"example": "f489b750-544e-4aa7-962e-f388b775bc14"
},
"archivedDate": {
"type": "string",
"description": "Date the matter was archived.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"archiveBoxNumber": {
"type": "string",
"description": "Archive box number.",
"nullable": true,
"example": "24"
},
"archiveComments": {
"type": "string",
"description": "Archive comments.",
"nullable": true,
"example": "Lot 1"
},
"archivedLocation": {
"type": "string",
"description": "Archived location.",
"nullable": true,
"example": "Box"
},
"destroyDate": {
"type": "string",
"description": "Date the files of the matter were destroyed.",
"format": "date-time",
"example": "2022-04-29T14:00:00Z"
},
"isArchived": {
"type": "boolean",
"description": "Flag indicating if the matter is archived.",
"example": true
}
},
"additionalProperties": false
},
"ArchiveDto": {
"required": [
"isArchived"
],
"type": "object",
"properties": {
"archivedDate": {
"type": "string",
"description": "Date the matter was archived.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"archiveBoxNumber": {
"type": "string",
"description": "Archive box number.",
"nullable": true,
"example": "24"
},
"archiveComments": {
"type": "string",
"description": "Archive comments.",
"nullable": true,
"example": "Lot 1"
},
"archivedLocation": {
"type": "string",
"description": "Archived location.",
"nullable": true,
"example": "Box"
},
"destroyDate": {
"type": "string",
"description": "Date the files of the matter were destroyed.",
"format": "date-time",
"example": "2022-04-29T14:00:00Z"
},
"isArchived": {
"type": "boolean",
"description": "Flag indicating if the matter is archived.",
"example": true
}
},
"additionalProperties": false
},
"BillingConfiguration": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"versionId": {
"type": "string",
"description": "Version id of the billing configuration.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"billingType": {
"allOf": [
{
"$ref": "#/components/schemas/BillingTypeEnum"
}
],
"description": "The billing type.\r\n\r\nPossible values: None = 0, Fixed Fee = 1, Fixed Fee per Appearance = 2, Time Based = 3, Contingency Dollars = 4, Contingency Percent = 5, Not Billable = 6",
"example": 1
},
"amount": {
"type": "number",
"description": "The amount (currency).\r\n\r\nOnly applicable when BillingType is 'Fixed Fee', 'Fixed Fee per Apperance' or 'Time Based'.",
"format": "double",
"example": 142.31
},
"disbursementAmount": {
"type": "number",
"description": "The disbursement amount (currency). \r\n\r\nOnly applicable when BillingType is 'Fixed Fee', 'Fixed Fee per Apperance' or 'Time Based'.\r\n\r\nOnly supported in AU and the UK.",
"format": "double",
"example": 160
},
"contingencyAmount": {
"type": "number",
"description": "The contingency amount (percentage). \r\n\r\nOnly applicable when BillingType is 'Contingency Percent'.",
"format": "double",
"example": 32
},
"debtors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "The matter debtors.",
"nullable": true
},
"rateSetId": {
"type": "string",
"description": "The rate set id.\r\n\r\nOnly supported in AU and the UK.",
"nullable": true,
"example": "100558"
},
"isUtbmsEnabled": {
"type": "boolean",
"description": "True if Uniform Task Based Management (UTBMS) is enabled for this matter.\r\n\r\nOnly supported in the US.",
"example": true
},
"ledesFirmId": {
"type": "string",
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) firm.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "100558"
},
"ledesMatterId": {
"type": "string",
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) matter.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "100558"
},
"ledesClientMatterId": {
"type": "string",
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) client matter.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "100558"
},
"ledesTimekeeperClassificationType": {
"allOf": [
{
"$ref": "#/components/schemas/TimekeeperClassificationType"
}
],
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) classification type.\r\n \r\nPossible values: Length6 = 0, Length2 = 1, UseFirmDefault = 2.\r\n \r\nOnly supported in the US.",
"example": 0
}
},
"additionalProperties": false
},
"BillingConfigurationDto": {
"type": "object",
"properties": {
"billingType": {
"allOf": [
{
"$ref": "#/components/schemas/BillingTypeEnum"
}
],
"description": "The billing type.\r\n\r\nPossible values: \r\nNone = 0, \r\nFixed Fee = 1, \r\nFixed Fee per Appearance = 2, \r\nTime Based = 3, \r\nContingency Dollars = 4, \r\nContingency Percent = 5, \r\nNot Billable = 6,\r\nConditionalFeeAgreement = 7",
"example": 1
},
"amount": {
"type": "number",
"description": "The amount (currency).\r\n\r\nOnly applicable when BillingType is 'Fixed Fee', 'Fixed Fee per Apperance', 'Contingency ($)' or 'Time Based'.",
"format": "double",
"example": 142.31
},
"contingencyAmount": {
"type": "number",
"description": "The contingency amount (percentage). \r\n\r\nOnly applicable when BillingType is 'Contingency Percent'.",
"format": "double",
"example": 32
},
"disbursementAmount": {
"type": "number",
"description": "The disbursement amount (currency).\r\n\r\nOnly applicable when BillingType is 'Fixed Fee', 'Fixed Fee per Apperance', 'Contingency ($)' or 'Time Based'.\r\n\r\nOnly supported in the UK.",
"format": "double",
"example": 520.67
},
"debtorIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "The matter debtors. Must be valid contact id(s) and a maximum of 3 debtors can be set.",
"nullable": true
},
"isUtbmsEnabled": {
"type": "boolean",
"description": "True if Uniform Task Based Management (UTBMS) is enabled for this matter.\r\n\r\nOnly supported in the US.",
"example": true
},
"ledesFirmId": {
"type": "string",
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) firm.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "100558"
},
"ledesMatterId": {
"type": "string",
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) matter.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "100558"
},
"ledesClientMatterId": {
"type": "string",
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) client matter.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "100558"
},
"ledesTimekeeperClassificationType": {
"allOf": [
{
"$ref": "#/components/schemas/TimekeeperClassificationType"
}
],
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) classification type.\r\n \r\nPossible values: Length6 = 0, Length2 = 1, UseFirmDefault = 2.\r\n \r\nOnly supported in the US.",
"example": 0
},
"rateSetId": {
"type": "string",
"description": "The RateSet Id.\r\n\r\nOnly supported in the UK.",
"nullable": true,
"example": "100558"
}
},
"additionalProperties": false
},
"BillingTypeEnum": {
"enum": [
0,
1,
2,
3,
4,
5,
6,
7
],
"type": "integer",
"description": "The billing type.\r\n\r\nPossible values: \r\nNone = 0, \r\nFixed Fee = 1, \r\nFixed Fee per Appearance = 2, \r\nTime Based = 3, \r\nContingency Dollars = 4, \r\nContingency Percent = 5, \r\nNot Billable = 6,\r\nConditionalFeeAgreement = 7",
"format": "int32"
},
"TimekeeperClassificationType": {
"enum": [
0,
1,
2
],
"type": "integer",
"description": "The associated Legal Electronic Data Exchange Standard (LEDES) classification type.\r\n \r\nPossible values: Length6 = 0, Length2 = 1, UseFirmDefault = 2.\r\n \r\nOnly supported in the US.",
"format": "int32"
},
"Address": {
"type": "object",
"properties": {
"careOf": {
"type": "string",
"description": "Care of the addressee (if applicable).",
"nullable": true,
"example": "John Smith"
},
"buildingLevel": {
"type": "string",
"description": "Building level in address (if applicable).",
"nullable": true,
"example": "Level 1"
},
"unitNumber": {
"type": "string",
"description": "Unit number in address (if applicable).",
"nullable": true,
"example": "10"
},
"unitType": {
"type": "string",
"description": "Unit type in address (if applicable). Accepts custom values.\r\n\r\ne.g. Apartment, Unit, Flat, Villa, Suite.",
"nullable": true,
"example": "Suite"
},
"streetNumber": {
"type": "string",
"description": "Street number in address.",
"nullable": true,
"example": "100"
},
"streetName": {
"type": "string",
"description": "Street name in address.",
"nullable": true,
"example": "Broad"
},
"streetType": {
"type": "string",
"description": "Street type. Accepts custom values.\r\n\r\ne.g. Street, Road, Avenue, Lane.",
"nullable": true,
"example": "Street"
},
"addressLine1": {
"type": "string",
"description": "First line of address.",
"nullable": true,
"example": "Level 1/10"
},
"addressLine2": {
"type": "string",
"description": "Second line of address (if applicable).",
"nullable": true,
"example": "100 Broad Street"
},
"city": {
"type": "string",
"description": "City, district, suburb, town, or village.",
"nullable": true,
"example": "Chicago"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "IL"
},
"zipCode": {
"type": "string",
"description": "Zip or post code.",
"nullable": true,
"example": "60606"
},
"locality": {
"type": "string",
"description": "Locality.\r\n\r\nOnly supported in the UK.",
"nullable": true,
"example": "Dunkirk"
},
"county": {
"type": "string",
"description": "County.\r\n\r\nOnly supported in the US and UK.",
"nullable": true,
"example": "New York"
},
"country": {
"type": "string",
"description": "Country.",
"nullable": true,
"example": "United States"
},
"poBox": {
"allOf": [
{
"$ref": "#/components/schemas/PoBoxAddress"
}
],
"description": "PO Box details (if applicable).",
"nullable": true
}
},
"additionalProperties": false
},
"AddressDto": {
"type": "object",
"properties": {
"careOf": {
"type": "string",
"description": "Care of the addressee (if applicable).",
"nullable": true,
"example": "John Smith"
},
"buildingLevel": {
"type": "string",
"description": "Building level in address (if applicable).",
"nullable": true,
"example": "Level 1"
},
"unitNumber": {
"type": "string",
"description": "Unit number in address (if applicable).",
"nullable": true,
"example": "10"
},
"unitType": {
"type": "string",
"description": "Unit type in address (if applicable). Accepts custom values.\r\n\r\ne.g. Apartment, Unit, Flat, Villa, Suite.",
"nullable": true,
"example": "Suite"
},
"streetNumber": {
"type": "string",
"description": "Street number in address.",
"nullable": true,
"example": "100"
},
"streetName": {
"type": "string",
"description": "Street name in address.",
"nullable": true,
"example": "Broad"
},
"streetType": {
"type": "string",
"description": "Street type. Accepts custom values.\r\n\r\ne.g. Street, Road, Avenue, Lane.",
"nullable": true,
"example": "Street"
},
"addressLine1": {
"type": "string",
"description": "First line of address.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "Level 1/10"
},
"addressLine2": {
"type": "string",
"description": "Second line of address (if applicable).\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "100 Broad Street"
},
"city": {
"type": "string",
"description": "City, district, suburb, town, or village.",
"nullable": true,
"example": "Chicago"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "IL"
},
"zipCode": {
"type": "string",
"description": "Zip or post code.",
"nullable": true,
"example": "60606"
},
"locality": {
"type": "string",
"description": "Locality.\r\n\r\nOnly supported in the UK.",
"nullable": true,
"example": "Dunkirk"
},
"county": {
"type": "string",
"description": "County.\r\n\r\nOnly supported in the US and UK.",
"nullable": true,
"example": "New York"
},
"country": {
"type": "string",
"description": "Country.",
"nullable": true,
"example": "United States"
},
"poBox": {
"allOf": [
{
"$ref": "#/components/schemas/PoBoxAddressDto"
}
],
"description": "PO Box details.\r\n\r\nOnly supported in AU.",
"nullable": true
}
},
"additionalProperties": false
},
"AddressWithDxAddress": {
"type": "object",
"properties": {
"careOf": {
"type": "string",
"description": "Care of the addressee (if applicable).",
"nullable": true,
"example": "John Smith"
},
"buildingLevel": {
"type": "string",
"description": "Building level in address (if applicable).",
"nullable": true,
"example": "Level 1"
},
"unitNumber": {
"type": "string",
"description": "Unit number in address (if applicable).",
"nullable": true,
"example": "10"
},
"unitType": {
"type": "string",
"description": "Unit type in address (if applicable). Accepts custom values.\r\n\r\ne.g. Apartment, Unit, Flat, Villa, Suite.",
"nullable": true,
"example": "Suite"
},
"streetNumber": {
"type": "string",
"description": "Street number in address.",
"nullable": true,
"example": "100"
},
"streetName": {
"type": "string",
"description": "Street name in address.",
"nullable": true,
"example": "Broad"
},
"streetType": {
"type": "string",
"description": "Street type. Accepts custom values.\r\n\r\ne.g. Street, Road, Avenue, Lane.",
"nullable": true,
"example": "Street"
},
"addressLine1": {
"type": "string",
"description": "First line of address.",
"nullable": true,
"example": "Level 1/10"
},
"addressLine2": {
"type": "string",
"description": "Second line of address (if applicable).",
"nullable": true,
"example": "100 Broad Street"
},
"city": {
"type": "string",
"description": "City, district, suburb, town, or village.",
"nullable": true,
"example": "Chicago"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "IL"
},
"zipCode": {
"type": "string",
"description": "Zip or post code.",
"nullable": true,
"example": "60606"
},
"locality": {
"type": "string",
"description": "Locality.\r\n\r\nOnly supported in the UK.",
"nullable": true,
"example": "Dunkirk"
},
"county": {
"type": "string",
"description": "County.\r\n\r\nOnly supported in the US and UK.",
"nullable": true,
"example": "New York"
},
"country": {
"type": "string",
"description": "Country.",
"nullable": true,
"example": "United States"
},
"poBox": {
"allOf": [
{
"$ref": "#/components/schemas/PoBoxAddress"
}
],
"description": "PO Box details (if applicable).",
"nullable": true
},
"dxAddress": {
"allOf": [
{
"$ref": "#/components/schemas/DxAddress"
}
],
"description": "DX address details (only applicable for AUS).",
"nullable": true
}
},
"additionalProperties": false
},
"AddressWithDxAddressDto": {
"type": "object",
"properties": {
"careOf": {
"type": "string",
"description": "Care of the addressee (if applicable).",
"nullable": true,
"example": "John Smith"
},
"buildingLevel": {
"type": "string",
"description": "Building level in address (if applicable).",
"nullable": true,
"example": "Level 1"
},
"unitNumber": {
"type": "string",
"description": "Unit number in address (if applicable).",
"nullable": true,
"example": "10"
},
"unitType": {
"type": "string",
"description": "Unit type in address (if applicable). Accepts custom values.\r\n\r\ne.g. Apartment, Unit, Flat, Villa, Suite.",
"nullable": true,
"example": "Suite"
},
"streetNumber": {
"type": "string",
"description": "Street number in address.",
"nullable": true,
"example": "100"
},
"streetName": {
"type": "string",
"description": "Street name in address.",
"nullable": true,
"example": "Broad"
},
"streetType": {
"type": "string",
"description": "Street type. Accepts custom values.\r\n\r\ne.g. Street, Road, Avenue, Lane.",
"nullable": true,
"example": "Street"
},
"addressLine1": {
"type": "string",
"description": "First line of address.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "Level 1/10"
},
"addressLine2": {
"type": "string",
"description": "Second line of address (if applicable).\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "100 Broad Street"
},
"city": {
"type": "string",
"description": "City, district, suburb, town, or village.",
"nullable": true,
"example": "Chicago"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "IL"
},
"zipCode": {
"type": "string",
"description": "Zip or post code.",
"nullable": true,
"example": "60606"
},
"locality": {
"type": "string",
"description": "Locality.\r\n\r\nOnly supported in the UK.",
"nullable": true,
"example": "Dunkirk"
},
"county": {
"type": "string",
"description": "County.\r\n\r\nOnly supported in the US and UK.",
"nullable": true,
"example": "New York"
},
"country": {
"type": "string",
"description": "Country.",
"nullable": true,
"example": "United States"
},
"poBox": {
"allOf": [
{
"$ref": "#/components/schemas/PoBoxAddressDto"
}
],
"description": "PO Box details.\r\n\r\nOnly supported in AU.",
"nullable": true
},
"dxAddress": {
"allOf": [
{
"$ref": "#/components/schemas/DxAddressDto"
}
],
"description": "DX address of the company (only applicable for AUS).",
"nullable": true
}
},
"additionalProperties": false
},
"CitizenshipDetails": {
"type": "object",
"properties": {
"countryOfCitizenship": {
"type": "string",
"description": "Country of citizenship",
"nullable": true,
"example": "USA"
},
"nationality": {
"type": "string",
"description": "Nationality",
"nullable": true,
"example": "American"
},
"languageOfInterpreter": {
"type": "string",
"description": "Language of interpreter",
"nullable": true,
"example": "French"
}
},
"additionalProperties": false
},
"CitizenshipDetailsDto": {
"type": "object",
"properties": {
"countryOfCitizenship": {
"type": "string",
"description": "Country of citizenship",
"nullable": true,
"example": "USA"
},
"nationality": {
"type": "string",
"description": "Nationality",
"nullable": true,
"example": "American"
},
"languageOfInterpreter": {
"type": "string",
"description": "Language of interpreter",
"nullable": true,
"example": "French"
}
},
"additionalProperties": false
},
"Company": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Company's name.",
"nullable": true,
"example": "Brown LLC"
},
"type": {
"type": "string",
"description": "Company's type.\r\n\r\nPossible values for US: 'Corporation', 'Government Agency', 'Limited Liability Company', 'Sole Proprietor', 'Partnership', 'Not-for-Profit'\r\n\r\nPossible values for AU: 'Company', 'Sole Proprietor', 'Partnership', 'Government Department'\r\n\r\nPossible values for UK: 'Company', 'Sole Trader', 'Partnership', 'Limited Liability Partnership', 'Government Department'",
"nullable": true,
"example": "Corporation"
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Company's phone details.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Company's fax details.",
"nullable": true
},
"email": {
"type": "string",
"description": "Company's email address.",
"nullable": true,
"example": "contact@brown.com"
},
"website": {
"type": "string",
"description": "Company's website URL.",
"nullable": true,
"example": "https://www.brownllc.com"
},
"notes": {
"type": "string",
"description": "Additional notes for company (if applicable).",
"nullable": true,
"example": "Construction company"
},
"abn": {
"type": "string",
"description": "For AU: Australian Company Number (ABN) of the firm.\r\n\r\nFor UK: Company Registration Number (CRN) of the firm.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "1234567890"
},
"companyNumberType": {
"type": "string",
"description": "Company's Australian company number type.\r\n\r\nAccepted values - ACN, ARBN\r\n\r\nOnly supported in AU.",
"nullable": true,
"example": "ACN"
},
"companyNumber": {
"type": "string",
"description": "Company's Australian Company Number.\r\n \r\nOnly supported in AU.",
"nullable": true,
"example": "234567890"
},
"doingBusinessAsName": {
"type": "string",
"description": "Doing Business As (DBA) name.\r\n \r\nOnly supported in US.",
"nullable": true,
"example": "Brown Holdings"
},
"tradingAs": {
"type": "string",
"description": "Trading As type (e.g. 'Trading As', 'Doing Business As').\r\n \r\nOnly supported in AU.",
"nullable": true,
"example": "Trading As"
},
"tradingName": {
"type": "string",
"description": "Trading name of the organisation.\r\n \r\nOnly supported in AU and UK.",
"nullable": true,
"example": "Brown Trading Co"
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
],
"description": "Company's mailing address details.",
"nullable": true
},
"businessAddress": {
"allOf": [
{
"$ref": "#/components/schemas/AddressWithDxAddress"
}
],
"description": "Company's business address details.",
"nullable": true
},
"staff": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "Company's staff hypermedia links.",
"nullable": true,
"readOnly": true
},
"directors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "Company's directors hypermedia links.",
"nullable": true,
"readOnly": true
},
"staffIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Deprecated - use Staff instead. This field may not be supported in future.",
"nullable": true,
"readOnly": true
},
"executionOptions": {
"allOf": [
{
"$ref": "#/components/schemas/ExecutionOptions"
}
],
"description": "Company's execution options for document signing and VOI details.\r\n\r\nOnly supported in AU.",
"nullable": true
}
},
"additionalProperties": false
},
"CompanyDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Company's name.",
"nullable": true,
"example": "Brown LLC"
},
"type": {
"type": "string",
"description": "Company's type.\r\n\r\nPossible values for US: 'Corporation', 'Government Agency', 'Limited Liability Company', 'Sole Proprietor', 'Partnership', 'Not-for-Profit'\r\n\r\nPossible values for AU: 'Company', 'Sole Proprietor', 'Partnership', 'Government Department'\r\n\r\nPossible values for UK: 'Company', 'Sole Trader', 'Partnership', 'Limited Liability Partnership', 'Government Department'",
"nullable": true,
"example": "Corporation"
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Company's phone details.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Company's fax details.",
"nullable": true
},
"email": {
"type": "string",
"description": "Company's email address.",
"nullable": true,
"example": "contact@brown.com"
},
"website": {
"type": "string",
"description": "Company's website URL.",
"nullable": true,
"example": "https://www.brownllc.com"
},
"notes": {
"type": "string",
"description": "Additional notes for company (if applicable).",
"nullable": true,
"example": "Recently merged with Cyberdyne Inc."
},
"businessAddress": {
"allOf": [
{
"$ref": "#/components/schemas/AddressWithDxAddressDto"
}
],
"nullable": true
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/AddressDto"
}
],
"description": "Only applicable for USA.",
"nullable": true
},
"abn": {
"type": "string",
"description": "For AU: Australian Company Number (ABN) of the company.\r\n\r\nFor UK: Company Registration Number (CRN) of the company.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "1234567890"
},
"companyNumberType": {
"type": "string",
"description": "Company's Australian company number type.\r\n\r\nPossible values: 'ACN', 'ARBN'\r\n\r\nOnly supported in AU.",
"nullable": true,
"example": "ACN"
},
"companyNumber": {
"type": "string",
"description": "Company's Australian Company Number.\r\n\r\nOnly supported in AU.",
"nullable": true,
"example": "234567890"
},
"doingBusinessAsName": {
"type": "string",
"description": "Doing Business As (DBA) name.\r\n \r\nOnly supported in US.",
"nullable": true,
"example": "Brown Holdings"
},
"tradingAs": {
"type": "string",
"description": "Trading As type (e.g. 'Trading As', 'Doing Business As').\r\n \r\nOnly supported in AU.",
"nullable": true,
"example": "Trading As"
},
"tradingName": {
"type": "string",
"description": "Trading name of the organisation.\r\n \r\nOnly supported in AU and UK.",
"nullable": true,
"example": "Brown Trading Co"
},
"staffIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of Staff IDs for this company.",
"nullable": true,
"example": [
"73481c13-b7f8-4610-b221-aaccbf7aaade",
"18cd6029-4a9e-4b99-bae5-710a7d79a19b"
]
},
"directorIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of Director IDs for this company.",
"nullable": true,
"example": [
"73481c13-b7f8-4610-b221-aaccbf7aaade",
"18cd6029-4a9e-4b99-bae5-710a7d79a19b"
]
},
"executionOptions": {
"allOf": [
{
"$ref": "#/components/schemas/ExecutionOptionsDto"
}
],
"description": "Company's execution options for document signing and VOI details.\r\n\r\nOnly supported in AU.",
"nullable": true
}
},
"additionalProperties": false
},
"Contact": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the contact.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"externalSystemId": {
"type": "string",
"description": "External system id for the contact.",
"nullable": true,
"example": "EXT01"
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"person": {
"allOf": [
{
"$ref": "#/components/schemas/Person"
}
],
"description": "Contact person details (if applicable).",
"nullable": true
},
"company": {
"allOf": [
{
"$ref": "#/components/schemas/Company"
}
],
"description": "Contact company details (if applicable).",
"nullable": true
},
"trust": {
"allOf": [
{
"$ref": "#/components/schemas/Trust"
}
],
"description": "Contact trust details (if applicable).\r\n\r\nNote that Trust is only supported in the US. It is not available in other regions.",
"nullable": true
},
"groupOfPeople": {
"allOf": [
{
"$ref": "#/components/schemas/GroupOfPeople"
}
],
"description": "Contact group details (if applicable).",
"nullable": true
},
"isDeleted": {
"type": "boolean",
"description": "Returns true if the contact is deleted.",
"example": true
},
"lastUpdated": {
"type": "integer",
"description": "Last updated timestamp.",
"format": "int64",
"example": 637847425252027400
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Tag"
},
"description": "Set of contact's tags.",
"nullable": true
}
},
"additionalProperties": false
},
"ContactDto": {
"type": "object",
"properties": {
"externalSystemId": {
"type": "string",
"description": "External system id for the contact.",
"nullable": true,
"example": "EXT01"
},
"person": {
"allOf": [
{
"$ref": "#/components/schemas/PersonDto"
}
],
"description": "Contact person details (if applicable).",
"nullable": true
},
"company": {
"allOf": [
{
"$ref": "#/components/schemas/CompanyDto"
}
],
"description": "Contact company details (if applicable).",
"nullable": true
},
"trust": {
"allOf": [
{
"$ref": "#/components/schemas/TrustDto"
}
],
"description": "Contact trust details (if applicable).\r\n\r\nOnly supported in US.",
"nullable": true
},
"groupOfPeople": {
"allOf": [
{
"$ref": "#/components/schemas/GroupOfPeopleDto"
}
],
"description": "Contact group details (if applicable).\r\n\r\nOnly supported in US and AU.",
"nullable": true
},
"isDeleted": {
"type": "boolean",
"description": "Contact can be restored by setting this to false.",
"example": false
}
},
"additionalProperties": false
},
"ContactPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Contact"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"ContactRelationDto": {
"type": "object",
"properties": {
"relatedContactId": {
"type": "string",
"description": "Unique identifier of the related contact.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"businessRole": {
"type": "string",
"description": "Business role of related contact.\r\n\r\nOnly applicable for companies (not trusts).",
"nullable": true,
"example": "Bookkeeper"
}
},
"additionalProperties": false
},
"DeathDetails": {
"type": "object",
"properties": {
"deathDate": {
"type": "string",
"description": "Contact person's date of death.",
"format": "date-time",
"nullable": true,
"example": "2020-08-01"
},
"isDeathDateUnknown": {
"type": "boolean",
"description": "Whether the person's exact date of death is known.",
"example": false
},
"deathDateFrom": {
"type": "string",
"description": "Starting range for person's possible date of death.",
"format": "date-time",
"nullable": true,
"example": "2020-08-01"
},
"deathDateTo": {
"type": "string",
"description": "Ending range for person's possible date of death.",
"format": "date-time",
"nullable": true,
"example": "2020-08-01"
},
"deathPlace": {
"type": "string",
"description": "Contact person's place of death.",
"nullable": true,
"example": "Chicago"
},
"deathState": {
"type": "string",
"description": "Contact person's death state.\r\n \r\nOnly supported in AU and US.",
"nullable": true,
"example": "IL"
},
"deathCountry": {
"type": "string",
"description": "Contact person's death country.",
"nullable": true,
"example": "USA"
},
"deathCounty": {
"type": "string",
"description": "Contact person's death county.\r\n \r\nOnly supported in US.",
"nullable": true,
"example": "San Bernardino County"
}
},
"additionalProperties": false
},
"DeathDetailsDto": {
"type": "object",
"properties": {
"deathDate": {
"type": "string",
"description": "Contact person's date of death.",
"format": "date-time",
"nullable": true,
"example": "2020-08-01"
},
"isDeathDateUnknown": {
"type": "boolean",
"description": "Whether the person's exact date of death is known.",
"example": false
},
"deathDateFrom": {
"type": "string",
"description": "Starting range for person's possible date of death.",
"format": "date-time",
"nullable": true,
"example": "2020-08-01"
},
"deathDateTo": {
"type": "string",
"description": "Ending range for person's possible date of death.",
"format": "date-time",
"nullable": true,
"example": "2020-08-01"
},
"deathPlace": {
"type": "string",
"description": "Contact person's place of death.",
"nullable": true,
"example": "Chicago"
},
"deathState": {
"type": "string",
"description": "Contact person's death state.\r\n \r\nOnly supported in AU and US.",
"nullable": true,
"example": "IL"
},
"deathCountry": {
"type": "string",
"description": "Contact person's death country.",
"nullable": true,
"example": "USA"
},
"deathCounty": {
"type": "string",
"description": "Contact person's death county.\r\n \r\nOnly supported in US.",
"nullable": true,
"example": "San Bernardino County"
}
},
"additionalProperties": false
},
"DxAddress": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Direct Exchange number (if applicable).",
"nullable": true,
"example": "376"
},
"exchange": {
"type": "string",
"description": "Direct Exchange name.",
"nullable": true,
"example": "DX"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "NSW"
}
},
"additionalProperties": false
},
"DxAddressDto": {
"type": "object",
"properties": {
"number": {
"type": "string",
"nullable": true
},
"exchange": {
"type": "string",
"nullable": true
},
"state": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ExecutionOptions": {
"type": "object",
"properties": {
"person1": {
"allOf": [
{
"$ref": "#/components/schemas/ExecutionPerson"
}
],
"description": "First authorized person for execution",
"nullable": true
},
"person2": {
"allOf": [
{
"$ref": "#/components/schemas/ExecutionPerson"
}
],
"description": "Second authorized person for execution",
"nullable": true
},
"executingUnder127": {
"type": "boolean",
"description": "Indicates if executing under section 127",
"nullable": true
},
"executingAuthority": {
"type": "string",
"description": "Executing authority details",
"nullable": true
},
"sealType": {
"type": "string",
"description": "Seal type for execution.",
"nullable": true,
"example": "WithSeal"
},
"authorisedDepositTakingInstitution": {
"type": "boolean",
"description": "Indicates if organization is an Authorised Deposit Taking Institution",
"nullable": true
},
"poaRegistrationNumber": {
"type": "string",
"description": "Power of Attorney registration number",
"nullable": true
},
"attorneyNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of attorney names",
"nullable": true
},
"executionType": {
"type": "string",
"description": "Execution type.",
"nullable": true,
"example": "JointDirectors"
}
},
"additionalProperties": false,
"description": "Execution options for organizations\r\n\r\nOnly supported in AU."
},
"ExecutionOptionsDto": {
"type": "object",
"properties": {
"person1": {
"allOf": [
{
"$ref": "#/components/schemas/ExecutionPersonDto"
}
],
"description": "First authorized person for execution",
"nullable": true
},
"person2": {
"allOf": [
{
"$ref": "#/components/schemas/ExecutionPersonDto"
}
],
"description": "Second authorized person for execution",
"nullable": true
},
"executingUnder127": {
"type": "boolean",
"description": "Indicates if executing under section 127",
"nullable": true
},
"executingAuthority": {
"type": "string",
"description": "Executing authority details",
"nullable": true
},
"sealType": {
"type": "string",
"description": "Seal type for execution.\r\n\r\nPossible values: 'WithSeal', 'WithoutSeal', 'Unset'",
"nullable": true,
"example": "WithSeal"
},
"authorisedDepositTakingInstitution": {
"type": "boolean",
"description": "Indicates if organization is an Authorised Deposit Taking Institution",
"nullable": true
},
"poaRegistrationNumber": {
"type": "string",
"description": "Power of Attorney registration number",
"nullable": true
},
"attorneyNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of attorney names",
"nullable": true,
"example": [
"John Smith",
"Jane Doe"
]
},
"executionType": {
"type": "string",
"description": "Execution type.\r\n\r\nPossible values: 'Individual', 'SoleDirector', 'JointDirectors', 'Director', 'Secretary', 'Authorised', 'Other', 'Unset', 'None'",
"nullable": true,
"example": "JointDirectors"
}
},
"additionalProperties": false,
"description": "Execution options for organizations (Company, Partnership, Sole Proprietor)\r\n\r\nOnly supported in AU."
},
"ExecutionPerson": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Person's full name",
"nullable": true,
"example": "John Smith"
},
"address": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
],
"description": "Person's address",
"nullable": true
},
"personType": {
"type": "string",
"description": "Person type for execution.\r\n\r\nOnly supported in AU.",
"nullable": true,
"example": "Director"
},
"selectedOfficeHeld": {
"type": "string",
"description": "Office held by the person.",
"nullable": true,
"example": "Director"
},
"voiDetails": {
"allOf": [
{
"$ref": "#/components/schemas/VoiDetails"
}
],
"description": "Verification of identity details for this person",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents an authorized person for organization execution\r\n\r\nOnly supported in AU."
},
"ExecutionPersonDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Person's full name",
"nullable": true,
"example": "John Smith"
},
"address": {
"allOf": [
{
"$ref": "#/components/schemas/AddressDto"
}
],
"description": "Person's address",
"nullable": true
},
"personType": {
"type": "string",
"description": "Person type for execution.\r\n\r\nPossible values: 'Director', 'Secretary', 'SoleDirectorAndSecretary', 'AuthorisedSignatory', 'Other', 'Unset'",
"nullable": true,
"example": "Director"
},
"selectedOfficeHeld": {
"type": "string",
"description": "Office held by the person.\r\n\r\nPossible values: 'Director', 'Secretary', 'SoleDirectorAndSecretary', 'Partner', 'AuthorisedRepresentative', 'Other', 'Unset'",
"nullable": true,
"example": "Director"
}
},
"additionalProperties": false,
"description": "Represents an authorized person for organization execution\r\n\r\nOnly supported in AU."
},
"GroupOfPeople": {
"type": "object",
"properties": {
"people": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "List of contact person hypermedia links.",
"nullable": true
},
"residentialAddress": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
],
"description": "Contact group's residential address details.",
"nullable": true
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
],
"description": "Contact group's mailing address details.\r\n \r\nOnly supported in the US.",
"nullable": true
},
"name": {
"type": "string",
"description": "Names of the people in the group. Limited to the first 5 names.",
"nullable": true,
"example": "John Smith & Jane Citizen"
}
},
"additionalProperties": false
},
"GroupOfPeopleDto": {
"type": "object",
"properties": {
"peopleIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of contact person Ids.",
"nullable": true,
"example": [
"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2",
"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
]
},
"residentialAddress": {
"allOf": [
{
"$ref": "#/components/schemas/AddressDto"
}
],
"description": "Contact group's residential address details.",
"nullable": true
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/AddressDto"
}
],
"description": "Contact group's mailing address details.\r\n \r\nOnly supported in the US.",
"nullable": true
}
},
"additionalProperties": false
},
"IdentificationDetailsDto": {
"type": "object",
"properties": {
"alienNumber": {
"type": "string",
"description": "Alien number\r\nOnly supported in the US.",
"nullable": true
},
"registrationAuthority": {
"type": "string",
"description": "Registration authority\r\nOnly supported in the US.",
"nullable": true
},
"registrationNumber": {
"type": "string",
"description": "Registration number\r\nOnly supported in the US.",
"nullable": true
},
"driversLicenseNumber": {
"type": "string",
"description": "Driver's license number",
"nullable": true
},
"driversLicenseState": {
"type": "string",
"description": "Driver's licence state\r\nILNSW",
"nullable": true
},
"medicareNumber": {
"type": "string",
"description": "Medicare number",
"nullable": true
},
"nhsNumber": {
"type": "string",
"description": "NHS (National Health Service) number\r\nOnly supported in UK.",
"nullable": true
}
},
"additionalProperties": false
},
"LinkPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"PassportDetails": {
"type": "object",
"properties": {
"passportNumber": {
"type": "string",
"description": "Contact person's passport number.",
"nullable": true,
"example": "AB123456"
},
"passportIssueDate": {
"type": "string",
"description": "Contact person's passport issue date.",
"format": "date-time",
"nullable": true,
"example": "2010-08-01"
},
"passportExpireDate": {
"type": "string",
"description": "Contact person's passport expiry date.",
"format": "date-time",
"nullable": true,
"example": "2030-08-01"
},
"passportIssueCountry": {
"type": "string",
"description": "Contact person's passport country of issue.",
"nullable": true,
"example": "USA"
},
"passportIssueAuthority": {
"type": "string",
"description": "Contact person's passport issuing authority.\r\n \r\nOnly supported in the UK.",
"nullable": true,
"example": "HM Passport Office"
}
},
"additionalProperties": false
},
"PassportDetailsDto": {
"type": "object",
"properties": {
"passportNumber": {
"type": "string",
"description": "Contact person's passport number.",
"nullable": true,
"example": "AB123456"
},
"passportIssueDate": {
"type": "string",
"description": "Contact person's passport issue date.",
"format": "date-time",
"nullable": true,
"example": "2010-08-01"
},
"passportExpireDate": {
"type": "string",
"description": "Contact person's passport expiry date.",
"format": "date-time",
"nullable": true,
"example": "2030-08-01"
},
"passportIssueCountry": {
"type": "string",
"description": "Contact person's passport country of issue.",
"nullable": true,
"example": "USA"
},
"passportIssueAuthority": {
"type": "string",
"description": "Contact person's passport issuing authority.\r\n \r\nOnly supported in the UK.",
"nullable": true,
"example": "HM Passport Office"
}
},
"additionalProperties": false
},
"Person": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Contact person's title. Accepts custom values.\r\n\r\ne.g. Mr, Mrs, Miss, Honourable, Judge.",
"nullable": true,
"example": "Mr"
},
"firstName": {
"type": "string",
"description": "Contact person's first name.",
"nullable": true,
"example": "John"
},
"middleName": {
"type": "string",
"description": "Contact person's middle name (if applicable).",
"nullable": true,
"example": "Michael"
},
"lastName": {
"type": "string",
"description": "Contact person's last name.",
"nullable": true,
"example": "Smith"
},
"nameSuffix": {
"type": "string",
"description": "Contact person's name suffix (if applicable).",
"nullable": true,
"example": "PhD"
},
"customName": {
"type": "string",
"description": "Contact person's custom name to be used in letters (if applicable).",
"nullable": true,
"example": "Johnny"
},
"residentialAddress": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
],
"description": "Contact person's residential address details.",
"nullable": true
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
],
"description": "Contact person's mailing address details.\r\n\r\nOnly supported in the US.",
"nullable": true
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Contact person's phone details.",
"nullable": true
},
"phone2": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberWithExtension"
}
],
"description": "Contact person's alternate phone details.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Contact person's fax details. \r\n\r\nOnly supported in the US.",
"nullable": true
},
"cell": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Contact person's mobile details.",
"nullable": true
},
"email": {
"type": "string",
"description": "Contact person's email address.",
"nullable": true,
"example": "john.smith@brown.com"
},
"notes": {
"type": "string",
"description": "Additional notes about contact (if applicable).",
"nullable": true,
"example": "Prefers to answer work phone."
},
"occupation": {
"type": "string",
"description": "Contact person's occupation.",
"nullable": true,
"example": "Bookkeeper"
},
"gender": {
"type": "string",
"description": "Contact person's gender.\r\n\r\nAccepted values - Male, Female, Other as well as any free text.",
"nullable": true,
"example": "Male"
},
"maritalStatus": {
"type": "string",
"description": "Contact person's marital status. Accepts custom values.\r\n\r\ne.g. Single, Married, Separated, Divorced, Widowed, De facto.",
"nullable": true,
"example": "Single"
},
"specialNeeds": {
"type": "string",
"description": "Brief description of any special needs (if applicable).\r\n\r\nOnly supported in Australia.",
"nullable": true,
"example": "Wheelchair access"
},
"birthDate": {
"type": "string",
"description": "Contact person's date of birth.",
"format": "date-time",
"nullable": true,
"example": "1980-07-01"
},
"birthPlace": {
"type": "string",
"description": "Contact person's place of birth.",
"nullable": true,
"example": "Chicago"
},
"birthState": {
"type": "string",
"description": "Contact person's birth state.",
"nullable": true,
"example": "Illinois"
},
"birthCountry": {
"type": "string",
"description": "Contact person's birth country.",
"nullable": true,
"example": "USA"
},
"identificationNumberType": {
"type": "string",
"description": "Contact person's type of identification.",
"nullable": true,
"example": "Passport"
},
"identificationNumber": {
"type": "string",
"description": "Contact person's identification number.",
"nullable": true,
"example": "PP123456789"
},
"birthFirstName": {
"type": "string",
"description": "Contact person's first name at birth.",
"nullable": true,
"example": "James"
},
"birthMiddleName": {
"type": "string",
"description": "Contact person's middle name at birth.",
"nullable": true,
"example": "Thomas"
},
"birthLastName": {
"type": "string",
"description": "Contact person's last name at birth.",
"nullable": true,
"example": "Jones"
},
"previousNames": {
"type": "string",
"description": "Contact person's previous names.",
"nullable": true,
"example": "Jane Smith"
},
"passportDetails": {
"allOf": [
{
"$ref": "#/components/schemas/PassportDetails"
}
],
"description": "Contact person's passport details.",
"nullable": true
},
"deathDetails": {
"allOf": [
{
"$ref": "#/components/schemas/DeathDetails"
}
],
"description": "Contact person's death details.",
"nullable": true
},
"correctionsReferenceNumber": {
"type": "string",
"description": "Contact person's corrections reference number.\r\n\r\nOnly supported in Australia.",
"nullable": true
},
"centrelinkReferenceNumber": {
"type": "string",
"description": "Contact person's centrelink reference number.\r\n\r\nOnly supported in Australia.",
"nullable": true
},
"citizenshipDetails": {
"allOf": [
{
"$ref": "#/components/schemas/CitizenshipDetails"
}
],
"description": "Contact person's citizenship details.",
"nullable": true
},
"utbmsDetails": {
"allOf": [
{
"$ref": "#/components/schemas/UtbmsDetails"
}
],
"description": "Contact's UTBMS Details.\r\n\r\nOnly supported in the US.",
"nullable": true
},
"executionOptions": {
"allOf": [
{
"$ref": "#/components/schemas/PersonExecutionOptions"
}
],
"description": "Person's execution options including Power of Attorney and VOI details.\r\n\r\nOnly supported in AU.",
"nullable": true
},
"voiDetails": {
"allOf": [
{
"$ref": "#/components/schemas/VoiDetails"
}
],
"description": "Person's verification of identity details.\r\n\r\nOnly supported in AU.",
"nullable": true
}
},
"additionalProperties": false
},
"PersonDto": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Contact person's title. Accepts custom values.\r\n\r\ne.g. Mr, Mrs, Miss, Honourable, Judge.",
"nullable": true,
"example": "Mr"
},
"firstName": {
"type": "string",
"description": "Contact person's first name.",
"nullable": true,
"example": "John"
},
"middleName": {
"type": "string",
"description": "Contact person's middle name (if applicable).",
"nullable": true,
"example": "Michael"
},
"lastName": {
"type": "string",
"description": "Contact person's last name.",
"nullable": true,
"example": "Smith"
},
"nameSuffix": {
"type": "string",
"description": "Contact person's name suffix (if applicable).",
"nullable": true,
"example": "PhD"
},
"customName": {
"type": "string",
"description": "Contact person's custom name to be used in letters (if applicable).",
"nullable": true,
"example": "Johnny"
},
"residentialAddress": {
"allOf": [
{
"$ref": "#/components/schemas/AddressDto"
}
],
"description": "Contact person's residential address details.",
"nullable": true
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/AddressDto"
}
],
"description": "Contact person's mailing address details.\r\n\r\nOnly supported in the US.",
"nullable": true
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Contact person's phone details.",
"nullable": true
},
"phone2": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberWithExtensionDto"
}
],
"description": "Contact person's alternate phone details.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Contact person's fax details.\r\n\r\nOnly supported in the US.",
"nullable": true
},
"cell": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Contact person's mobile details.",
"nullable": true
},
"email": {
"type": "string",
"description": "Contact person's email address.",
"nullable": true,
"example": "john.smith@brown.com"
},
"notes": {
"type": "string",
"description": "Additional notes about contact (if applicable).",
"nullable": true,
"example": "Prefers to answer work phone."
},
"occupation": {
"type": "string",
"description": "Contact person's occupation.",
"nullable": true,
"example": "Bookkeeper"
},
"birthDate": {
"type": "string",
"description": "Contact person's date of birth.",
"format": "date-time",
"nullable": true,
"example": "1980-07-01"
},
"birthPlace": {
"type": "string",
"description": "Contact person's place of birth.",
"nullable": true,
"example": "Chicago"
},
"birthState": {
"type": "string",
"description": "Contact person's birth state.",
"nullable": true,
"example": "Illinois"
},
"birthCountry": {
"type": "string",
"description": "Contact person's birth country.",
"nullable": true,
"example": "Australia"
},
"identificationNumberType": {
"type": "string",
"description": "Contact person's type of identification.\r\n\r\ne.g. SSN, ITIN\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "SSN"
},
"identificationNumber": {
"type": "string",
"description": "Contact person's identification number.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "PP123456789"
},
"passportDetails": {
"allOf": [
{
"$ref": "#/components/schemas/PassportDetailsDto"
}
],
"description": "Contact person's passport details.",
"nullable": true
},
"deathDetails": {
"allOf": [
{
"$ref": "#/components/schemas/DeathDetailsDto"
}
],
"description": "Contact person's death details.",
"nullable": true
},
"gender": {
"type": "string",
"description": "Contact person's gender.\r\n\r\nAccepted values - Male, Female, Other as well as any free text.",
"nullable": true,
"example": "Male"
},
"maritalStatus": {
"type": "string",
"description": "Contact person's marital status. Accepts custom values.\r\n\r\ne.g. Single, Married, Separated, Divorced, Widowed, De facto.",
"nullable": true,
"example": "Single"
},
"specialNeeds": {
"type": "string",
"description": "Brief description of an special needs (if applicable).",
"nullable": true,
"example": "Wheelchair access"
},
"birthFirstName": {
"type": "string",
"description": "Contact person's first name at birth.",
"nullable": true,
"example": "James"
},
"birthMiddleName": {
"type": "string",
"description": "Contact person's middle name at birth.",
"nullable": true,
"example": "Thomas"
},
"birthLastName": {
"type": "string",
"description": "Contact person's last name at birth.",
"nullable": true,
"example": "Jones"
},
"previousNames": {
"type": "string",
"description": "Contact person's previous names.",
"nullable": true,
"example": "Jane Smith"
},
"correctionsReferenceNumber": {
"type": "string",
"description": "Contact person's corrections reference number.\r\n\r\nOnly supported in Australia.",
"nullable": true
},
"centrelinkReferenceNumber": {
"type": "string",
"description": "Contact person's centrelink reference number.\r\n\r\nOnly supported in Australia.",
"nullable": true
},
"identificationDetails": {
"allOf": [
{
"$ref": "#/components/schemas/IdentificationDetailsDto"
}
],
"description": "Contact person's identification details.",
"nullable": true
},
"citizenshipDetails": {
"allOf": [
{
"$ref": "#/components/schemas/CitizenshipDetailsDto"
}
],
"description": "Contact person's citizenship details.",
"nullable": true
},
"utbmsDetails": {
"allOf": [
{
"$ref": "#/components/schemas/UtbmsDetailsDto"
}
],
"description": "Contact's UTBMS Details\r\n\r\nOnly supported in the US.",
"nullable": true
},
"executionOptions": {
"allOf": [
{
"$ref": "#/components/schemas/PersonExecutionOptionsDto"
}
],
"description": "Person's execution options including Power of Attorney and VOI details.\r\n\r\nOnly supported in AU.",
"nullable": true
}
},
"additionalProperties": false
},
"PersonExecutionOptions": {
"type": "object",
"properties": {
"poaType": {
"type": "string",
"description": "Power of Attorney type.",
"nullable": true,
"example": "Enduring"
},
"poaDate": {
"type": "string",
"description": "Date the Power of Attorney was executed",
"format": "date-time",
"nullable": true,
"example": "2023-05-15"
},
"attorneyName": {
"type": "string",
"description": "Name of the attorney",
"nullable": true,
"example": "Jane Doe"
},
"address": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
],
"description": "Attorney's address",
"nullable": true
},
"poaRegisteredBook": {
"type": "string",
"description": "Power of Attorney registration book reference",
"nullable": true
},
"poaRegisteredNumber": {
"type": "string",
"description": "Power of Attorney registration number",
"nullable": true
},
"executionType": {
"type": "string",
"description": "Person execution type.",
"nullable": true,
"example": "PowerOfAttorney"
},
"poaVoiDetails": {
"allOf": [
{
"$ref": "#/components/schemas/VoiDetails"
}
],
"description": "Verification of identity details for the attorney (Power of Attorney)",
"nullable": true
}
},
"additionalProperties": false,
"description": "Execution options for individual persons (Power of Attorney)\r\n\r\nOnly supported in AU."
},
"PersonExecutionOptionsDto": {
"type": "object",
"properties": {
"poaType": {
"type": "string",
"description": "Power of Attorney type.\r\n\r\nPossible values: 'None', 'General', 'Enduring', 'Medical', 'Financial', 'Other', 'Unset'",
"nullable": true,
"example": "Enduring"
},
"poaDate": {
"type": "string",
"description": "Date the Power of Attorney was executed",
"format": "date-time",
"nullable": true,
"example": "2023-05-15"
},
"attorneyName": {
"type": "string",
"description": "Name of the attorney",
"nullable": true,
"example": "Jane Doe"
},
"address": {
"allOf": [
{
"$ref": "#/components/schemas/AddressDto"
}
],
"description": "Attorney's address",
"nullable": true
},
"poaRegisteredBook": {
"type": "string",
"description": "Power of Attorney registration book reference",
"nullable": true
},
"poaRegisteredNumber": {
"type": "string",
"description": "Power of Attorney registration number",
"nullable": true
},
"executionType": {
"type": "string",
"description": "Person execution type.\r\n\r\nPossible values: 'Individual', 'PowerOfAttorney', 'Other', 'Unset', 'None'",
"nullable": true,
"example": "PowerOfAttorney"
}
},
"additionalProperties": false,
"description": "Execution options for individual persons (Power of Attorney)\r\n\r\nOnly supported in AU."
},
"PhoneNumber": {
"type": "object",
"properties": {
"areaCode": {
"type": "string",
"description": "Phone area code.",
"nullable": true,
"example": "555"
},
"number": {
"type": "string",
"description": "Phone number (excluding area code).",
"nullable": true,
"example": "1234567"
}
},
"additionalProperties": false
},
"PhoneNumberDto": {
"type": "object",
"properties": {
"areaCode": {
"type": "string",
"description": "Phone area code.",
"nullable": true,
"example": "555"
},
"number": {
"type": "string",
"description": "Phone number (excluding area code).",
"nullable": true,
"example": "1234567"
}
},
"additionalProperties": false
},
"PhoneNumberWithExtension": {
"type": "object",
"properties": {
"areaCode": {
"type": "string",
"description": "Phone area code.\r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "555"
},
"number": {
"type": "string",
"description": "Phone number (excluding area code).",
"nullable": true,
"example": "1234567"
},
"extension": {
"type": "string",
"description": "Phone number extension.",
"nullable": true,
"example": "103"
}
},
"additionalProperties": false
},
"PhoneNumberWithExtensionDto": {
"type": "object",
"properties": {
"areaCode": {
"type": "string",
"description": "Phone area code. \r\n\r\nOnly supported in the US.",
"nullable": true,
"example": "555"
},
"number": {
"type": "string",
"description": "Phone number (excluding area code).",
"nullable": true,
"example": "1234567"
},
"extension": {
"type": "string",
"description": "Phone number extension. Accepts numeric characters only.",
"nullable": true,
"example": "103"
}
},
"additionalProperties": false
},
"PoBoxAddress": {
"type": "object",
"properties": {
"careOf": {
"type": "string",
"description": "Care of the addressee (if applicable).",
"nullable": true,
"example": "John Smith"
},
"poBoxType": {
"type": "string",
"description": "PO Box type. Accepts custom values.\r\n \r\ne.g. Care PO, PO Box, Locked Bag, RMS.",
"nullable": true,
"example": "Locked Bag"
},
"poBoxNumber": {
"type": "string",
"description": "PO Box number.",
"nullable": true,
"example": "12345"
},
"city": {
"type": "string",
"description": "City, district, suburb, town, or village.",
"nullable": true,
"example": "Chicago"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "IL"
},
"zipCode": {
"type": "string",
"description": "Zip or post code.",
"nullable": true,
"example": "60606"
}
},
"additionalProperties": false
},
"PoBoxAddressDto": {
"type": "object",
"properties": {
"careOf": {
"type": "string",
"description": "Care of the addressee (if applicable).",
"nullable": true,
"example": "John Smith"
},
"poBoxType": {
"type": "string",
"description": "PO Box type. Accepts custom values.\r\n \r\ne.g. Care PO, PO Box, Locked Bag, RMS.",
"nullable": true,
"example": "Locked Bag"
},
"poBoxNumber": {
"type": "string",
"description": "PO Box number.",
"nullable": true,
"example": "12345"
},
"city": {
"type": "string",
"description": "City, district, suburb, town, or village.",
"nullable": true,
"example": "Chicago"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "IL"
},
"zipCode": {
"type": "string",
"description": "Zip or post code.",
"nullable": true,
"example": "60606"
}
},
"additionalProperties": false,
"description": "PO Box address."
},
"Tag": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Identifier of the tag. Role tags do not have an identifier.",
"nullable": true
},
"name": {
"type": "string",
"description": "Name of tag.",
"nullable": true
},
"type": {
"type": "string",
"description": "Type of tag. Accepted values are 'Role' or 'Custom'",
"example": "Custom"
}
},
"additionalProperties": false,
"description": "Represents a tag with an identifier, name, and type."
},
"TagCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Tag"
},
"nullable": true
}
},
"additionalProperties": false
},
"Trust": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Trust's name.",
"nullable": true,
"example": "Trinity Trust"
},
"status": {
"type": "string",
"description": "Trust's status.\r\n\r\nStandard values are: as Trustee of, as Trustees of, as Co-Trustees of, as an Individual and as Trustee of, as Successor Trustee of.\r\nA custom value can be supplied instead.",
"nullable": true,
"example": "as Trustee of"
},
"trustNumber": {
"type": "string",
"description": "Trust's number.",
"nullable": true,
"example": "12345678"
},
"executedDate": {
"type": "string",
"description": "Date trust was executed.",
"format": "date-time",
"nullable": true,
"example": "1980-07-01"
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Trust's phone details.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Trust's fax details.",
"nullable": true
},
"address": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
],
"description": "Trust's address.",
"nullable": true
},
"trustees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Trustee"
},
"description": "List of trustees.",
"nullable": true,
"example": [
{
"Name": "John Smith",
"Type": "Individual"
},
{
"Name": "Smithfield Steel",
"Type": "Company"
}
]
},
"contacts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "Trust's contacts hypermedia links.",
"nullable": true,
"readOnly": true
}
},
"additionalProperties": false
},
"TrustDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Trust's name.",
"nullable": true,
"example": "Trinity Trust"
},
"status": {
"type": "string",
"description": "Trust's status.\r\n\r\nStandard values are: as Trustee of, as Trustees of, as Co-Trustees of, as an Individual and as Trustee of, as Successor Trustee of.\r\n\r\nA custom value can be supplied instead.",
"nullable": true,
"example": "as Trustee of"
},
"trustNumber": {
"type": "string",
"description": "Trust's number.",
"nullable": true,
"example": "12345678"
},
"executedDate": {
"type": "string",
"description": "Date trust was executed.",
"format": "date-time",
"nullable": true,
"example": "1980-07-01"
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Trust's phone details.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Trust's fax details.",
"nullable": true
},
"address": {
"allOf": [
{
"$ref": "#/components/schemas/AddressDto"
}
],
"description": "Trust's address.",
"nullable": true
},
"trustees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TrusteeDto"
},
"description": "List of trustees.",
"nullable": true,
"example": [
{
"Name": "John Smith",
"Type": "Individual"
},
{
"Name": "Smithfield Steel",
"Type": "Company"
}
]
}
},
"additionalProperties": false
},
"Trustee": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Trustee's name.",
"nullable": true,
"example": "John Smith"
},
"type": {
"type": "string",
"description": "Type of trustee.\r\n\r\nStandard values are: Company, Individual.\r\nA custom value can be supplied instead.",
"nullable": true,
"example": "Individual"
}
},
"additionalProperties": false
},
"TrusteeDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Trustee's name.",
"nullable": true,
"example": "John Smith"
},
"type": {
"type": "string",
"description": "Type of trustee.\r\n\r\nStandard values are: Company, Individual.\r\n\r\nA custom value can be supplied instead.",
"nullable": true,
"example": "Individual"
}
},
"additionalProperties": false
},
"UtbmsDetails": {
"type": "object",
"properties": {
"ledesClientId": {
"type": "string",
"description": "LEDES client Id",
"nullable": true
}
},
"additionalProperties": false,
"description": "Utbms Details"
},
"UtbmsDetailsDto": {
"type": "object",
"properties": {
"ledesClientId": {
"type": "string",
"description": "LEDES client Id",
"nullable": true
}
},
"additionalProperties": false,
"description": "Utbms Details"
},
"VoiDetails": {
"type": "object",
"properties": {
"isCompleted": {
"type": "boolean",
"description": "Indicates if VOI has been completed",
"example": true
},
"completedDateTime": {
"type": "string",
"description": "Date and time when VOI was completed",
"format": "date-time",
"nullable": true,
"example": "2024-01-15T10:30:00Z"
},
"reference": {
"type": "string",
"description": "Reference number or order ID from the VOI service",
"nullable": true,
"example": "12345678"
},
"source": {
"type": "string",
"description": "Source/provider of the VOI service",
"nullable": true,
"example": "InfoTrackID"
},
"status": {
"type": "string",
"description": "Current status of the VOI check",
"nullable": true,
"example": "Complete"
}
},
"additionalProperties": false,
"description": "Verification of Identity (VOI) details\r\n\r\nOnly supported in AU."
},
"AddFileDto": {
"required": [
"fileName"
],
"type": "object",
"properties": {
"fileName": {
"maxLength": 256,
"minLength": 0,
"type": "string",
"description": "Full name of the file including the file extension",
"example": "court filing.pdf"
},
"folderId": {
"type": "string",
"description": "Unique identifier of the folder to add the file to. If null it will be placed in the root folder",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"userId": {
"type": "string",
"description": "Unique identifier of the file owner. If null it will fallback to the authenticated user",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"folderPath": {
"type": "string",
"description": "Path of the folder to add the file to. If null then the FolderId will be used",
"nullable": true,
"example": "Court Filings/2023/January"
},
"fileAdditionalData": {
"type": "object",
"additionalProperties": {
"nullable": true
},
"description": "Collection of KeyValuePair(string, string) to update File meta data.",
"nullable": true
},
"dateCreated": {
"type": "string",
"description": "The original datetime that the file was created. If null the current datetime will be used",
"format": "date-time",
"nullable": true,
"example": "2023-04-23T14:00:00Z"
},
"dateModified": {
"type": "string",
"description": "The initial datetime that the file was last modified. If null the current datetime will be used",
"format": "date-time",
"nullable": true,
"example": "2023-04-24T14:00:00Z"
}
},
"additionalProperties": false
},
"DownloadFileInfo": {
"type": "object",
"properties": {
"fileId": {
"type": "string",
"description": "Unique identifier of the requested file",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"name": {
"type": "string",
"description": "Name of the file, excluding file extension.",
"nullable": true,
"example": "court filing"
},
"fileExtension": {
"type": "string",
"description": "Extension of the file.",
"nullable": true,
"example": ".pdf"
},
"downloadUrl": {
"type": "string",
"description": "Temporary Link to download file",
"nullable": true,
"example": ""
},
"expiry": {
"type": "string",
"description": "Expiry date/time when the download link is no longer accessible",
"format": "date-time",
"example": "2022-04-23T14:30:00Z"
},
"sizeBytes": {
"type": "integer",
"description": "Size of the requested file (in bytes)",
"format": "int64",
"example": 19104768
}
},
"additionalProperties": false
},
"EditFileDto": {
"required": [
"fileName"
],
"type": "object",
"properties": {
"fileName": {
"maxLength": 256,
"minLength": 0,
"type": "string",
"description": "Full name of the file including the file extension",
"example": "court filing.pdf"
},
"folderId": {
"type": "string",
"description": "Unique identifier of the folder to add the file to. If null it will be placed in the root folder",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"userId": {
"type": "string",
"description": "Unique identifier of the user modifying the file. If null it will fallback to the authenticated user",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"fileAdditionalData": {
"type": "object",
"additionalProperties": {
"nullable": true
},
"description": "Collection of KeyValuePair(string, string) to update File meta data.",
"nullable": true
},
"isFavorite": {
"type": "boolean",
"description": "Flag indicating whether this file is a favorite. If null it will be ignored",
"nullable": true
}
},
"additionalProperties": false
},
"File": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the file.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"versionId": {
"type": "string",
"description": "Unique identifier of the file's current version.",
"nullable": true
},
"folder": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the folder to which the file belongs.",
"nullable": true
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the matter to which the file belongs.",
"nullable": true
},
"name": {
"type": "string",
"description": "Name of the file, excluding file extension.",
"nullable": true,
"example": "court filing"
},
"fileExtension": {
"type": "string",
"description": "Extension of the file.",
"nullable": true,
"example": ".pdf"
},
"ownerId": {
"type": "string",
"description": "Unique identifier of the user who created/uploaded this file.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"to": {
"type": "string",
"description": "The 'To' or recipients' email address (only applicable for email files).",
"nullable": true,
"example": "recipient@email.com"
},
"from": {
"type": "string",
"description": "The 'From' or sender's email address (only applicable for email files).",
"nullable": true,
"example": "sender@email.com"
},
"dateCreated": {
"type": "string",
"description": "The original datetime that the file was created.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"dateModified": {
"type": "string",
"description": "The datetime that the file was last modified.",
"format": "date-time",
"example": "2022-04-25T17:00:00Z"
},
"sizeBytes": {
"type": "integer",
"description": "Size of the file (in bytes).",
"format": "int64",
"example": 19104768
},
"downloadInfo": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link to the download details of the file.",
"nullable": true
},
"additionalData": {
"type": "object",
"additionalProperties": {
"nullable": true
},
"description": "Collection of file meta data as KeyValuePair(string, object).",
"nullable": true
},
"isFavorite": {
"type": "boolean",
"description": "Flag indicating whether this file is a favorite",
"example": false
},
"isUploaded": {
"type": "boolean",
"description": "Flag indicating whether the file contents are uploaded to the server.",
"example": false
},
"isCancelled": {
"type": "boolean",
"description": "Flag indicating whether the file upload has been cancelled.",
"example": false
},
"isDuplicate": {
"type": "boolean",
"description": "Flag indicating whether the file data is duplicated. Applies to emails only for now."
},
"isDeleted": {
"type": "boolean",
"description": "Flag indicating whether the file has been deleted.",
"example": false
}
},
"additionalProperties": false
},
"FileFolderLogEntry": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of this log entry.",
"nullable": true,
"example": "3f2b1f2a-1d5f-48a4-8f3c-7a7a3c2b5e1a"
},
"type": {
"type": "string",
"description": "The type of entity this log entry refers to.",
"example": "File"
},
"changeType": {
"type": "string",
"description": "The type of change that occurred.",
"example": "Move"
},
"timestamp": {
"type": "string",
"description": "When the client recorded the action (UTC).",
"format": "date-time",
"example": "2025-08-27T04:12:45Z"
},
"file": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Link to the file affected by this entry (only populated when Type is File).",
"nullable": true
},
"folder": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Link to the folder affected by this entry (only populated when Type is Folder).",
"nullable": true
},
"oldName": {
"type": "string",
"description": "Old name prior to a rename operation (when applicable).",
"nullable": true,
"example": "Draft Response"
},
"newName": {
"type": "string",
"description": "New name after a rename operation (when applicable).",
"nullable": true,
"example": "Final Response"
},
"oldMatterId": {
"type": "string",
"description": "Previous matter identifier (for move/copy across matters).",
"nullable": true,
"example": "f9e1a9d5-1d2b-4bd2-9a72-6a6e7b5c2f01"
},
"newMatterId": {
"type": "string",
"description": "New matter identifier (for move/copy across matters).",
"nullable": true,
"example": "1c0b8a31-0a05-4601-8b87-2d7b1d0caa9a"
},
"oldFolderId": {
"type": "string",
"description": "Previous folder identifier (for move within/between matters).",
"nullable": true,
"example": "6a5c3b2e-0f1e-4c7e-90e2-2ad3c3e8b0b9"
},
"newFolderId": {
"type": "string",
"description": "New folder identifier (for move within/between matters).",
"nullable": true,
"example": "9b7a2c4d-2e1f-4b6a-8e01-1f2a3b4c5d6e"
},
"copySourceFileId": {
"type": "string",
"description": "For copy operations, the source file's identifier when copying a file.",
"nullable": true,
"example": "bb3a6c1d-1e2f-4a7b-9c01-0d9a8c7b6e5f"
},
"copySourceFolderId": {
"type": "string",
"description": "For copy operations, the source folder's identifier when copying a folder.",
"nullable": true,
"example": "aa2b5c1e-7f8a-4d9e-8c01-1a2b3c4d5e6f"
},
"documentVersionId": {
"type": "string",
"description": "Identifier of the document version involved (only for version replace/revert scenarios).\r\nCan be used to download particular file versions.",
"nullable": true,
"example": "2d97e267-0618-4822-a515-281cd4f31ae8-72324ca30d263b32bb38a481cc5f7a0b"
},
"userId": {
"type": "string",
"description": "The user who is responsible for this change.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a single file/folder activity (rename, move, delete, etc.)."
},
"FileFolderLogEntryCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileFolderLogEntry"
},
"nullable": true
}
},
"additionalProperties": false
},
"FilePagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/File"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"Folder": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the folder",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"parentId": {
"type": "string",
"description": "Unique identifier of the parent folder",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"name": {
"type": "string",
"description": "Name of the folder",
"nullable": true,
"example": "Property Documents"
}
},
"additionalProperties": false
},
"FolderDto": {
"required": [
"name"
],
"type": "object",
"properties": {
"name": {
"maxLength": 256,
"minLength": 1,
"type": "string",
"description": "Name of the folder",
"example": "Property Documents"
},
"parentFolderId": {
"type": "string",
"description": "Unique identifier of the parent folder",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"userId": {
"type": "string",
"description": "Unique identifier of the user modifying the folder. If null it will fallback to the authenticated user",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
}
},
"additionalProperties": false
},
"FolderListing": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"folders": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Folder"
},
"description": "List of folders",
"nullable": true,
"readOnly": true
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/File"
},
"description": "List of files",
"nullable": true,
"readOnly": true
}
},
"additionalProperties": false
},
"FolderListingPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FolderListing"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"parentId": {
"type": "string",
"description": "Unique identifier of the parent folder",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"name": {
"type": "string",
"description": "Name of the folder",
"nullable": true,
"example": "Property Documents"
}
},
"additionalProperties": false
},
"FolderPathSegment": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the folder",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"name": {
"type": "string",
"description": "Name of the folder",
"nullable": true,
"example": "Property Documents"
},
"parentId": {
"type": "string",
"description": "Unique identifier of the parent folder",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"depth": {
"type": "integer",
"description": "The depth of the folder in the folder path hierarchy.\r\n\r\n0 indicates the root folder, 1 indicates a direct child of that folder, and so on.",
"format": "int32",
"example": 2
}
},
"additionalProperties": false
},
"FolderPathSegmentCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FolderPathSegment"
},
"nullable": true
}
},
"additionalProperties": false
},
"PreviewFileInfo": {
"type": "object",
"properties": {
"fileId": {
"type": "string",
"description": "Unique identifier of the requested file",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"documentVersionId": {
"type": "string",
"nullable": true
},
"downloadUrl": {
"type": "string",
"description": "Temporary Link to download file",
"nullable": true,
"example": ""
},
"expiry": {
"type": "string",
"description": "Expiry date/time when the download link is no longer accessible",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:30:00Z"
}
},
"additionalProperties": false
},
"UploadFileInfo": {
"type": "object",
"properties": {
"fileId": {
"type": "string",
"description": "Unique identifier of the file.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"uploadUrl": {
"type": "string",
"description": "Temporary Link to upload file.\r\n\r\nImportant note: When uploading to this URL, set the 'Content-Type' header to an empty value.\r\n\r\nExample cURL: curl --location --request PUT 'URL_GOES_HERE' \\ --header 'Content-Type: \"\"' \\ --data '@/C:/dir/test.pdf'",
"nullable": true,
"example": ""
},
"expiry": {
"type": "string",
"description": "Expiry date/time when the upload link is no longer accessible.",
"format": "date-time",
"example": "2022-04-23T14:30:00Z"
}
},
"additionalProperties": false
},
"Event": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the event.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the associated matter.",
"nullable": true
},
"attendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "Hypermedia link of all the attendees.",
"nullable": true
},
"externalAttendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "Hypermedia link of all the contacts of the external or third party attendees.",
"nullable": true
},
"eventType": {
"allOf": [
{
"$ref": "#/components/schemas/EventType"
}
],
"description": "**Deprecated.** Use `type` instead.\n\nThe type of the event.\r\n\r\nPossible values: Non Recurring Event = 0, Recurring Pattern Series = 1, Single Recurring Occurrence = 2, Modified Recurring Occurrence = 3, Deleted Recurring Occurrence = 4",
"example": "0",
"deprecated": true
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/EventType"
}
],
"description": "The type of the event.\r\n\r\nPossible values: Normal, Pattern, Occurrence, ChangedOccurrence, DeletedOccurrence",
"example": "Normal"
},
"subject": {
"type": "string",
"description": "Subject of event.",
"nullable": true,
"example": "Subject"
},
"description": {
"type": "string",
"description": "Description of event.",
"nullable": true,
"example": "Description"
},
"location": {
"type": "string",
"description": "Location of event.",
"nullable": true,
"example": "Location"
},
"allDay": {
"type": "boolean",
"description": "Whether or not the event is all day.",
"example": false
},
"nonBillable": {
"type": "boolean",
"description": "Whether or not the event is billable.\r\nNote events with a duration greater than 12 hours automatically become non-billable.",
"example": false
},
"startTime": {
"type": "string",
"description": "Start date and time of the event.\r\nSupported date format is ISO YYYY-MM-DDThh:mm:ss.\r\nNote: date and time will correlate with the time zone provided.",
"format": "date-time",
"example": "2000-01-01T20:00:00"
},
"endTime": {
"type": "string",
"description": "End date and time of the event.\r\nSupported date format is ISO YYYY-MM-DDThh:mm:ss.\r\nNote: date and time will correlate with the time zone provided.",
"format": "date-time",
"example": "2000-01-01T20:00:00"
},
"timeZone": {
"type": "string",
"description": "Time zone of the event for determining the start time and end time.\r\nTime zones will be in the IANA time zone format.",
"nullable": true,
"example": "Australia/Sydney"
},
"lastUpdated": {
"type": "string",
"description": "The last date and time the event was updated.\r\nSupported date format is ISO YYYY-MM-DDThh:mm:ss.",
"format": "date-time",
"example": "2000-01-01T20:00:00"
},
"additionalData": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
},
"description": "Any additional data provided for the event.",
"nullable": true
},
"isDeleted": {
"type": "boolean",
"description": "Whether the event has been deleted.",
"example": false
}
},
"additionalProperties": false
},
"EventDto": {
"type": "object",
"properties": {
"matterId": {
"type": "string",
"description": "Matter Id.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"subject": {
"type": "string",
"description": "Subject of event.",
"nullable": true,
"example": "Subject"
},
"description": {
"type": "string",
"description": "Description of event.",
"nullable": true,
"example": "Description"
},
"location": {
"type": "string",
"description": "Location of event.",
"nullable": true,
"example": "Location"
},
"allDay": {
"type": "boolean",
"description": "Whether or not the event is all day.",
"example": false
},
"nonBillable": {
"type": "boolean",
"description": "Whether or not the event is billable.\r\nNote events with a duration greater than 12 hours automatically become non-billable.",
"example": false
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/EventType"
}
],
"description": "The type of the event.\r\n\r\nWe currently support create and updates requests for non recurring events (type = Normal).",
"nullable": true,
"example": "Normal"
},
"eventType": {
"allOf": [
{
"$ref": "#/components/schemas/EventType"
}
],
"description": "**Deprecated.** Use `type` instead.\n\nThe type of the event.\r\n\r\nWe currently support create and updates requests for non recurring events (EventType = 0).",
"nullable": true,
"example": "0",
"deprecated": true
},
"attendees": {
"type": "array",
"items": {
"type": "string"
},
"description": "The staff Ids of the attendees of the event.",
"nullable": true
},
"externalAttendees": {
"type": "array",
"items": {
"type": "string"
},
"description": "The contact Ids of the external or third party attendees of the event.\r\n\r\nThe contacts must be of Person type and must be part of the matter.",
"nullable": true
},
"startTime": {
"type": "string",
"description": "Start date and time of the event.\r\nSupported date format is ISO YYYY-MM-DDThh:mm:ss.\r\nNote: date and time will correlate with the time zone provided.",
"format": "date-time",
"example": "2000-01-01T20:00:00"
},
"endTime": {
"type": "string",
"description": "End date and time of the event.\r\nSupported date format is ISO YYYY-MM-DDThh:mm:ss.\r\nNote: date and time will correlate with the time zone provided.",
"format": "date-time",
"example": "2000-01-01T20:00:00"
},
"timeZone": {
"type": "string",
"description": "Time zone of the event for determining the start time and end time.\r\nTime zones are expected in the IANA time zone format.\r\nFor a list of valid time zones, see https://nodatime.org/TimeZones.",
"nullable": true,
"example": "Australia/Sydney"
},
"additionalData": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
},
"description": "Collection of key value pairs to update file meta data.",
"nullable": true
}
},
"additionalProperties": false
},
"EventPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Event"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"EventType": {
"enum": [
"Normal",
"Pattern",
"Occurrence",
"ChangedOccurrence",
"DeletedOccurrence"
],
"type": "string",
"description": "The type of the event.\r\n\r\nPossible values: Non Recurring Event = 0, Recurring Pattern Series = 1, Single Recurring Occurrence = 2, Modified Recurring Occurrence = 3, Deleted Recurring Occurrence = 4"
},
"ReminderDto": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"format": "int32"
},
"offsetTypeId": {
"type": "integer",
"format": "int32"
},
"isAllDayReminder": {
"type": "boolean"
},
"userIds": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
}
},
"additionalProperties": false
},
"Expense": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"versionId": {
"type": "string",
"description": "Unique version identifier of the expense.",
"nullable": true,
"example": "23d2a4bc-8529-462e-8560-dfbf4fa24e49"
},
"createdByUserId": {
"type": "string",
"description": "Unique identifier of the user that created the expense.",
"nullable": true,
"example": "8a7f40ea-4123-4ebe-bb05-e9b4b666e706"
},
"staff": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The staff member associated to the expense.",
"nullable": true
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The matter associated to the expense.",
"nullable": true
},
"invoice": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The invoice associated to the expense.",
"nullable": true
},
"staffId": {
"type": "string",
"description": "Deprecated, use Staff.",
"nullable": true
},
"matterId": {
"type": "string",
"description": "Deprecated, use Matter.",
"nullable": true
},
"invoiceId": {
"type": "string",
"description": "Unique identifier of the associated invoice.",
"nullable": true,
"example": "fdb766bc-eb20-4bc1-9417-08b51a7b2286"
},
"origin": {
"type": "string",
"description": "Where the expense originated from.",
"nullable": true
},
"activityCode": {
"type": "string",
"description": "The activity code associated to the expense.",
"nullable": true,
"example": "PRT"
},
"utbmsTaskCode": {
"type": "string",
"description": "The UTBMS task code associated to the expense, where UTBMS is enabled. Only applicable in US.",
"nullable": true,
"example": "E101"
},
"subject": {
"type": "string",
"description": "The subject - this should be a short description of the expense.",
"nullable": true,
"example": "Review contract"
},
"description": {
"type": "string",
"description": "Optional detailed description of the expense.",
"nullable": true,
"example": "Print documents"
},
"expenseDate": {
"type": "string",
"description": "The date of the expense.",
"format": "date-time",
"example": "2022-07-01"
},
"costType": {
"type": "string",
"description": "The cost type of the expense.\r\n\r\n* Hard - Direct cost such as travel, accommodation, or materials.\r\n\r\n* Soft - Indirect cost such as administrative fees or overhead.",
"example": "Hard"
},
"quantity": {
"type": "number",
"description": "The quantity of the expense in units (if not applicable, use 1).\r\n\r\nThe expense amount will be calculated as Quantity * Price.",
"format": "double",
"example": 3
},
"price": {
"type": "number",
"description": "The price of the expense in dollars. Limited to 2 decimal places (cents).\r\n\r\nThe expense amount will be calculated as Quantity * Price.",
"format": "double",
"example": 350.32
},
"amount": {
"type": "number",
"description": "Total amount of the expense. Calculated as Price * Quantity.\r\n\r\nThis amount ignores GST (if applicable). See AmountExcTax and AmountIncTax.",
"format": "double",
"example": 900.21
},
"amountExcTax": {
"type": "number",
"description": "Amount excluding tax. Calculated from Amount and Tax depending on the TaxInclusive property.\r\n\r\nIf tax is not applicable (outside AU), this will be the same as Amount.",
"format": "double",
"example": 810.01
},
"amountIncTax": {
"type": "number",
"description": "Amount including tax. Calculated from Amount and Tax depending on the TaxInclusive property.\r\n\r\nIf tax is not applicable (outside AU), this will be the same as Amount.",
"format": "double",
"example": 900.21
},
"tax": {
"type": "number",
"description": "GST amount of the expense in dollars. Only applicable in AU.",
"format": "double",
"example": 90
},
"outputTax": {
"type": "number",
"description": "Output tax amount of the expense in dollars. Only applicable in AU and UK regions.\r\n\r\nWhen TaxOutOfScope or TaxZeroRated is true, this value must be 0.\r\nWhen TaxExempt is true, this value can be greater than 0.",
"format": "double",
"example": 85
},
"taxInclusive": {
"type": "boolean",
"description": "If true, the amount is GST inclusive, otherwise GST exclusive. Only applicable in AU.\r\n\r\nGST inclusive means: Amount exc. GST = Amount - GST, Amount inc. GST = Amount.\r\n\r\nGST exclusive means: Amount exc. GST = Amount, Amount inc. GST = Amount + GST.\r\n(Amount = Price * Quantity, GST = value of the Tax field)",
"example": false
},
"taxZeroRated": {
"type": "boolean",
"description": "True if the expense is zero-rated for tax purposes.",
"example": false
},
"taxOutOfScope": {
"type": "boolean",
"description": "True if the expense is out of scope for tax purposes.",
"example": false
},
"taxExempt": {
"type": "boolean",
"description": "True if the expense is exempt from tax.",
"example": false
},
"finalized": {
"type": "boolean",
"description": "True if the expense has been finalized.",
"example": false
},
"isWrittenOff": {
"type": "boolean",
"description": "True if the expense is written off. True only allowed if IsBillable is true. \r\n\r\nWritten off expenses will show on an invoice with their amount, but will not be counted in the invoice total.",
"example": false
},
"isBillable": {
"type": "boolean",
"description": "True if the expense is billable. Non-billable expense will, by default, not be shown on invoices (and, if shown, the amount will be 0).",
"example": false
},
"isInvoicedExternally": {
"type": "boolean",
"description": "True if the expense is invoiced externally.",
"example": false
},
"isDeleted": {
"type": "boolean",
"description": "True if the expense is deleted.",
"example": false
}
},
"additionalProperties": false
},
"ExpenseDto": {
"type": "object",
"properties": {
"updatedByUserId": {
"type": "string",
"description": "Unique identifier of the user updating the expense.\r\n\r\nThis field is reserved for server-to-server operations.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"staffId": {
"type": "string",
"description": "Unique identifier of the associated staff member.\r\n\r\nWhen StaffId is not provided, the API will attempt to match your User Id to a Staff Id automatically.",
"nullable": true,
"example": "47efff74-3e4b-45b3-bddf-affc6649db0b"
},
"invoiceId": {
"type": "string",
"description": "Unique identifier of the associated invoice.",
"nullable": true,
"example": "fdb766bc-eb20-4bc1-9417-08b51a7b2286"
},
"expenseDate": {
"type": "string",
"description": "The date of the expense.",
"format": "date-time",
"example": "2022-07-01"
},
"activityCode": {
"type": "string",
"description": "The activity code associated to the expense.",
"nullable": true,
"example": "PRT"
},
"subject": {
"type": "string",
"description": "The subject - this should be a short description of the expense.",
"nullable": true,
"example": "Review contract"
},
"description": {
"type": "string",
"description": "Optional detailed description of the expense.",
"nullable": true,
"example": "Print documents"
},
"costType": {
"type": "string",
"description": "The cost type of the expense.\r\n\r\n* Hard - Direct cost such as travel, accommodation, or materials.\r\n\r\n* Soft - Indirect cost such as administrative fees or overhead.",
"example": "Hard"
},
"quantity": {
"type": "number",
"description": "The quantity of the expense in units (if not applicable, use 1).\r\n\r\nThe expense amount will be calculated as Quantity * Price.",
"format": "double",
"example": 3
},
"price": {
"type": "number",
"description": "The price of the expense in dollars. Limited to 2 decimal places (cents).\r\n\r\nThe expense amount will be calculated as Quantity * Price.",
"format": "double",
"example": 350.32
},
"tax": {
"type": "number",
"description": "Tax amount of the expense in dollars. Only applicable in AU and UK regions.\r\n\r\nWhen TaxOutOfScope or TaxExempt is true, this value must be 0.\r\nWhen TaxZeroRated is true, this value can be greater than 0.",
"format": "double",
"nullable": true,
"example": 90
},
"outputTax": {
"type": "number",
"description": "Output tax amount of the expense in dollars. Only applicable in AU and UK regions.\r\n\r\nWhen TaxOutOfScope or TaxZeroRated is true, this value must be 0.\r\nWhen TaxExempt is true, this value can be greater than 0.",
"format": "double",
"nullable": true,
"example": 85
},
"taxInclusive": {
"type": "boolean",
"description": "If true, the amount is tax inclusive, otherwise tax exclusive. Only applicable in AU and UK regions.\r\n\r\nTax inclusive means: Amount exc. tax = Amount - Tax, Amount inc. tax = Amount.\r\n\r\nTax exclusive means: Amount exc. tax = Amount, Amount inc. tax = Amount + Tax.\r\n(Amount = Price * Quantity, Tax = value of the Tax field)\r\n\r\nThis field is mutually exclusive with TaxZeroRated, TaxOutOfScope and TaxExempt.",
"example": false
},
"taxZeroRated": {
"type": "boolean",
"description": "True if the expense is zero-rated for tax purposes. Only supported in UK regions.\r\n\r\nThis field is mutually exclusive with TaxInclusive, TaxOutOfScope and TaxExempt.\r\nWhen true, OutputTax must be 0.",
"example": false
},
"taxOutOfScope": {
"type": "boolean",
"description": "True if the expense is out of scope for tax purposes. Only supported in UK regions.\r\n\r\nThis field is mutually exclusive with TaxInclusive, TaxZeroRated and TaxExempt.\r\nWhen true, both Tax and OutputTax must be 0.",
"example": false
},
"taxExempt": {
"type": "boolean",
"description": "True if the expense is exempt from tax.\r\n\r\nThis field is mutually exclusive with TaxInclusive, TaxZeroRated and TaxOutOfScope.\r\nWhen true, Tax must be 0 but OutputTax can be greater than 0.",
"example": false
},
"finalized": {
"type": "boolean",
"description": "True if the expense has been finalized.",
"example": false
},
"isWrittenOff": {
"type": "boolean",
"description": "True if the expense is written off. True only allowed if IsBillable is true. \r\n\r\nWritten off expenses will show on an invoice with their amount, but will not be counted in the invoice total.",
"example": false
},
"isBillable": {
"type": "boolean",
"description": "True if the expense is billable. Non-billable expense will, by default, not be shown on invoices (and, if shown, the amount will be 0).",
"example": false
},
"isInvoicedExternally": {
"type": "boolean",
"description": "True if the expense is invoiced externally.",
"example": false
},
"assignToFirmOwner": {
"type": "boolean",
"description": "Assigns expense to a firm owner if true. Ignored if a StaffId is provided.\r\n\r\nNote: If there are multiple firm owners, it is not guaranteed that the same firm owner will be assigned everytime."
}
},
"additionalProperties": false
},
"ExpensePagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Expense"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"Fee": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the fee.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"versionId": {
"type": "string",
"description": "Unique version identifier of the fee.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The matter associated to the fee.",
"nullable": true
},
"staff": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The staff member associated to the fee.",
"nullable": true
},
"matterId": {
"type": "string",
"description": "Deprecated, use Matter.",
"nullable": true
},
"staffId": {
"type": "string",
"description": "Deprecated, use Staff.",
"nullable": true
},
"createdByUserId": {
"type": "string",
"description": "Unique identifier of the user that created the fee.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"createdDate": {
"type": "string",
"description": "Date the fee was created.",
"format": "date-time",
"example": "2026-04-13T11:00:00Z"
},
"lastUpdatedByUserId": {
"type": "string",
"description": "Unique identifier of the user that updated the fee.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"invoiceId": {
"type": "string",
"description": "Unique identifier of the associated invoice.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"activityCode": {
"type": "string",
"description": "The activity code associated to the fee.",
"nullable": true,
"example": "PRT"
},
"utbmsTaskCode": {
"type": "string",
"description": "The UTBMS task code associated to the fee, where UTBMS is enabled. Only applicable in US.",
"nullable": true,
"example": "L110"
},
"subject": {
"type": "string",
"description": "The subject - this should be a short description of the fee.",
"nullable": true,
"example": "Review contract"
},
"description": {
"type": "string",
"description": "Optional detailed description of the fee.",
"nullable": true,
"example": "Print documents"
},
"feeDate": {
"type": "string",
"description": "The date of the fee.",
"format": "date-time",
"example": "2022-07-01"
},
"feeType": {
"allOf": [
{
"$ref": "#/components/schemas/FeeType"
}
],
"description": "The type of the fee (Fixed = 0, Time = 1).",
"example": 0
},
"finalized": {
"type": "boolean",
"description": "True if the fee has been finalized.",
"example": false
},
"isInvoicedExternally": {
"type": "boolean",
"description": "True if the fee is invoiced externally.",
"example": false
},
"isWrittenOff": {
"type": "boolean",
"description": "True if the fee is written off. True only allowed if IsBillable is true.\r\n\r\nWritten off fee will show on an invoice with their amount, but will not be counted in the invoice total.",
"example": false
},
"isBillable": {
"type": "boolean",
"description": "True if the fee is billable. Non-billable fee will, by default, not be shown on invoices (and, if shown, the amount will be 0).",
"nullable": true,
"example": false
},
"tax": {
"type": "number",
"description": "GST amount of the fee in dollars. Only applicable in AU.",
"format": "double",
"example": 35
},
"taxInclusive": {
"type": "boolean",
"description": "If true, the amount is GST inclusive, otherwise GST exclusive. Only applicable in AU.\r\n\r\nGST inclusive means: Amount exc. GST = Amount - GST, Amount inc. GST = Amount.\r\n\r\nGST exclusive means: Amount exc. GST = Amount, Amount inc. GST = Amount + GST.",
"example": false
},
"taxExempt": {
"type": "boolean",
"description": "True if the fee is tax exempt. In that case, Tax will always be 0.",
"example": false
},
"taxOutOfScope": {
"type": "boolean",
"description": "True if the fee is out of scope for tax. In that case, Tax will always be 0.",
"example": false
},
"duration": {
"type": "integer",
"description": "The duration billed - in minutes.",
"format": "int64",
"example": 60
},
"durationWorked": {
"type": "integer",
"description": "The duration worked - in minutes.",
"format": "int64",
"nullable": true,
"example": 50
},
"rate": {
"type": "number",
"description": "The rate of the fee in dollars.",
"format": "double",
"example": 350
},
"amount": {
"type": "number",
"description": "Total amount of the fee in dollars. Calculated using Rate and Duration depending on the fee type.\r\n\r\nThis amount includes tax depending on the TaxInclusive property. See AmountExcTax and AmountIncTax.",
"format": "double",
"example": 350
},
"amountExcTax": {
"type": "number",
"description": "Amount excluding tax in dollars. Calculated from Amount and Tax depending on the TaxInclusive property.\r\n\r\nIf tax is not applicable (outside AU), this will be the same as Amount.",
"format": "double",
"example": 315
},
"amountIncTax": {
"type": "number",
"description": "Amount including tax in dollars. Calculated from Amount and Tax depending on the TaxInclusive property.\r\n\r\nIf tax is not applicable (outside AU), this will be the same as Amount.",
"format": "double",
"example": 350
},
"billableAmountExcTax": {
"type": "number",
"description": "Billable amount excluding tax in dollars. If fee is billable, value will be the same as AmountExcTax. If it's non-billable,\r\nvalue will be 0.\r\n\r\nIf the fee is partially billable (i.e. has source items, some of which are billable and some not),\r\nthis value will contain the amount calculated from billable items only.",
"format": "double",
"example": 315
},
"billableTax": {
"type": "number",
"description": "Billable tax in dollars. If fee is billable, value will be the same as Tax. If it's non-billable,\r\nvalue will be 0.\r\n\r\nIf the fee is partially billable (i.e. has source items, some of which are billable\r\nand some not), this value will contain the tax calculated from billable items only.\r\nIn all other cases, the value will be the same as Tax.",
"format": "double",
"example": 35
},
"isDeleted": {
"type": "boolean",
"description": "True if the fee is deleted.",
"example": false
},
"sourceItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeeSourceItem"
},
"description": "The source items on the fee.",
"nullable": true
},
"createdFromActivityId": {
"type": "string",
"description": "Unique identifier of the Activity used to create the fee, if applicable.",
"nullable": true,
"example": "504b9f77-20c7-4dee-8227-d3007c8f6cea"
}
},
"additionalProperties": false
},
"FeeDto": {
"required": [
"feeDate",
"subject"
],
"type": "object",
"properties": {
"updatedByUserId": {
"type": "string",
"description": "Unique identifier of the user updating the fee.\r\n\r\nThis field is reserved for server-to-server operations.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"staffId": {
"type": "string",
"description": "Unique identifier of the associated staff member.\r\n\r\nWhen StaffId is not provided, the API will attempt to match your User Id to a Staff Id automatically.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"invoiceId": {
"type": "string",
"description": "Unique identifier of the associated invoice.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"activityCode": {
"type": "string",
"description": "The activity code associated to the fee.",
"nullable": true,
"example": "PRT"
},
"feeType": {
"allOf": [
{
"$ref": "#/components/schemas/FeeType"
}
],
"description": "The type of the fee (Fixed = 0, Time = 1).",
"example": 0
},
"feeDate": {
"type": "string",
"description": "The date of the fee.",
"format": "date-time",
"example": "2022-07-01"
},
"subject": {
"minLength": 1,
"type": "string",
"description": "The subject - this should be a short description of the fee.",
"example": "Review contract"
},
"description": {
"type": "string",
"description": "Optional detailed description of the fee.",
"nullable": true,
"example": "Print documents"
},
"duration": {
"type": "integer",
"description": "The duration billed - in minutes. This duration is used if there are no sub activities.",
"format": "int64",
"example": 60
},
"durationWorked": {
"type": "integer",
"description": "The duration worked - in minutes. This duration is used if there are no sub activities.",
"format": "int64",
"nullable": true,
"example": 50
},
"rate": {
"type": "number",
"description": "The rate of the fee in dollars.",
"format": "double",
"example": 350
},
"tax": {
"type": "number",
"description": "Tax amount of the fee in dollars. Only applicable in AU and UK regions.\r\n\r\nWhen TaxOutOfScope or TaxExempt is true, this value must be 0.",
"format": "double",
"nullable": true,
"example": 35
},
"taxInclusive": {
"type": "boolean",
"description": "If true, the amount is tax inclusive, otherwise tax exclusive. Only applicable in AU and UK regions.\r\n\r\nTax inclusive means: Amount exc. tax = Amount - Tax, Amount inc. tax = Amount.\r\n\r\nTax exclusive means: Amount exc. tax = Amount, Amount inc. tax = Amount + Tax.\r\n\r\n(Amount = Rate for fixed fees, or Rate * Duration for time fees, Tax = value of the Tax field)",
"example": false
},
"taxExempt": {
"type": "boolean",
"description": "True if the fee is exempt from tax.\r\n\r\nThis field is mutually exclusive with TaxOutOfScope.\r\nWhen true, Tax must be 0.",
"example": false
},
"taxOutOfScope": {
"type": "boolean",
"description": "True if the fee is out of scope for tax purposes. Only supported in UK regions.\r\n\r\nThis field is mutually exclusive with TaxExempt.\r\nWhen true, Tax must be 0.",
"example": false
},
"finalized": {
"type": "boolean",
"description": "True if the fee has been finalized.",
"example": false
},
"isWrittenOff": {
"type": "boolean",
"description": "True if the fee is written off. True only allowed if IsBillable is true.\r\n\r\nWritten off fee will show on an invoice with their amount, but will not be counted in the invoice total.",
"example": false
},
"isBillable": {
"type": "boolean",
"description": "True if the fee is billable. Non-billable fee will, by default, not be shown on invoices (and, if shown, the amount will be 0).",
"example": false
},
"isInvoicedExternally": {
"type": "boolean",
"description": "True if the fee is invoiced externally.",
"example": false
},
"sourceItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeeSourceItemDto"
},
"description": "The source items on the fee.",
"nullable": true
},
"createdFromActivityId": {
"type": "string",
"description": "Associates an existing activity id to a fee.\r\nOnly valid for Fee creation. \r\nValue is supplied by Smokeball for some partners.",
"nullable": true,
"example": "504b9f77-20c7-4dee-8227-d3007c8f6cea"
}
},
"additionalProperties": false
},
"FeePagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Fee"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"FeeSourceItem": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"description": {
"type": "string",
"description": "The description.",
"nullable": true
},
"duration": {
"type": "integer",
"description": "The duration in minutes.",
"format": "int64"
},
"isBillable": {
"type": "boolean",
"description": "True if the fee source item is billable."
}
},
"additionalProperties": false
},
"FeeSourceItemDto": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "The description.",
"nullable": true,
"example": "Print document"
},
"duration": {
"type": "integer",
"description": "The duration in minutes.",
"format": "int64",
"example": 5
},
"isBillable": {
"type": "boolean",
"description": "True if the fee source item is billable.",
"example": false
}
},
"additionalProperties": false
},
"FeeType": {
"enum": [
0,
1
],
"type": "integer",
"description": "The type of the fee (Fixed = 0, Time = 1).",
"format": "int32"
},
"CreateFirmDto": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"description": "The product/tier the firm is subscribed to. Must be set when creating the firm and is optional when updating the firm.\r\n\r\nThe supported products are listed in order below, the identifier (in brackets) must be used.\r\n\r\n* Bill (SMK001)\r\n\r\n* Boost (SMK004)\r\n\r\n* Grow (SMK002)\r\n\r\n* Prosper + (SMK003)\r\n\r\nPossible values: SMK001, SMK004, SMK002, SMK003",
"nullable": true,
"example": "SMK001"
},
"addOnIds": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
},
"description": "The optional add-ons the firm is subscribed to. Must be specified with an accompanying productId.\r\n\r\nThe supported add-ons are listed below, the identifier (listed in brackets) must be used.\r\n\r\n* Intake (ADD001)\r\n\r\n* AutoTime (ADD003)\r\n\r\n* FamilyPro (ADD004)\r\n\r\n* Api (ADD005)\r\n\r\n* Workflows (ADD006)\r\n\r\n* PowerBI (ADD007)\r\n\r\n* Archie (ADD008)\r\n\r\n* SSO (ADD010)\r\n\r\nPossible values: ADD01, ADD003, ADD004, ADD005, ADD006, ADD007, ADD008, ADD010",
"nullable": true,
"example": [
"ADD01",
"ADD003"
]
},
"name": {
"type": "string",
"description": "The name of the firm.",
"nullable": true,
"example": "Brown LLC"
},
"email": {
"type": "string",
"description": "The email of the firm.\r\n\r\nOnly supported in AU.",
"nullable": true,
"example": "john.smith@law.com"
},
"abn": {
"type": "string",
"description": "Represents a different field depending on the region.\r\n\r\n* For AU: Australian Business Number (ABN) of the firm.\r\n\r\n* For UK: Value-added Tax Number (VAT) of the firm.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "1234567890"
},
"acn": {
"type": "string",
"description": "Represents a different field depending on the region.\r\n\r\n* For AU: Australian Company Number (ACN) of the firm.\r\n\r\n* For UK: Company Registration Number (CRN) of the firm.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "1234567890"
},
"streetAddress": {
"allOf": [
{
"$ref": "#/components/schemas/FirmAddressDto"
}
],
"description": "Street address of the firm.",
"nullable": true
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/FirmAddressDto"
}
],
"description": "Mailing address of the firm.",
"nullable": true
},
"dxAddress": {
"allOf": [
{
"$ref": "#/components/schemas/FirmDxAddressDto"
}
],
"description": "DX address of the firm.\r\n\r\nOnly supported in AU.",
"nullable": true
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Phone number of the firm.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Fax number of the firm.",
"nullable": true
},
"isInternal": {
"type": "boolean",
"description": "Whether firm is being created for internal use. Internal firms will not be subscribed for payment processing and will not be charged.",
"example": false
},
"staff": {
"allOf": [
{
"$ref": "#/components/schemas/StaffDto"
}
],
"description": "The staff member that will be created with the firm. This staff member will become the firm owner.",
"nullable": true
},
"subscription": {
"allOf": [
{
"$ref": "#/components/schemas/FirmSubscriptionDto"
}
],
"description": "Optional subscription details that will be used when creating the firm.",
"nullable": true
}
},
"additionalProperties": false
},
"Firm": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the firm.",
"nullable": true,
"example": "f4ff1eff-b7fe-4d46-4e46-01d985838d76"
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"owner": {
"type": "string",
"description": "The owner/white-label partner used by the firm.\r\n\r\nPossible values: Smokeball, PracticeEvolve, TriConvey.",
"nullable": true,
"example": "Smokeball"
},
"name": {
"type": "string",
"description": "The name of the firm.",
"nullable": true,
"example": "Brown LLC"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/FirmStatus"
}
],
"description": "The status of the firm.",
"nullable": true
},
"productId": {
"type": "string",
"description": "The product/tier the firm is subscribed to. Must be set when creating the firm and is optional when updating the firm.\r\n\r\nThe supported products are listed in order below, the identifier (in brackets) must be used.\r\n\r\n* Bill (SMK001)\r\n\r\n* Boost (SMK004)\r\n\r\n* Grow (SMK002)\r\n\r\n* Prosper + (SMK003)\r\n\r\nPossible values: SMK001, SMK004, SMK002, SMK003",
"nullable": true,
"example": "SMK001"
},
"addOnIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "The optional add-ons the firm is subscribed to. Must be specified with an accompanying productId.\r\n\r\nThe supported add-ons are listed below, the identifier (listed in brackets) must be used.\r\n\r\n* Intake (ADD001)\r\n\r\n* AutoTime (ADD003)\r\n\r\n* FamilyPro (ADD004)\r\n\r\n* Api (ADD005)\r\n\r\n* Workflows (ADD006)\r\n\r\n* PowerBI (ADD007)\r\n\r\n* Archie (ADD008)\r\n\r\n* SSO (ADD010)\r\n\r\n* PracticeEvolve (ADD011)\r\n\r\n* CustomReporting (ADD012)\r\n\r\nPossible values: ADD001, ADD003, ADD004, ADD005, ADD006, ADD007, ADD008, ADD010, ADD011, ADD012",
"nullable": true,
"example": [
"ADD001",
"ADD003"
]
},
"email": {
"type": "string",
"description": "The email of the firm.\r\n\r\nOnly supported in AUS.",
"nullable": true,
"example": "john.smith@law.com"
},
"abn": {
"type": "string",
"description": "For AU: Australian Business Number (ABN) of the firm.\r\n\r\nFor UK: Value-added Tax Number (VAT) of the firm.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "1234567890"
},
"acn": {
"type": "string",
"description": "For AU: Australian Company Number (ACN) of the firm.\r\n\r\nFor UK: Company Registration Number (CRN) of the firm.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "1234567890"
},
"streetAddress": {
"allOf": [
{
"$ref": "#/components/schemas/FirmAddress"
}
],
"description": "Street address of the firm.",
"nullable": true
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/FirmAddress"
}
],
"description": "Mailing address of the firm.",
"nullable": true
},
"dxAddress": {
"allOf": [
{
"$ref": "#/components/schemas/DxAddress"
}
],
"description": "DX address of the firm.\r\n\r\nOnly supported in AUS.",
"nullable": true
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Phone number of the firm.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Fax number of the firm.",
"nullable": true
},
"logo": {
"type": "string",
"description": "Logo of the firm.",
"nullable": true,
"example": "https://example-logo-url.com/image"
},
"stylingDetails": {
"allOf": [
{
"$ref": "#/components/schemas/StylingDetails"
}
],
"description": "Styling details of the firm.",
"nullable": true
},
"licenceNumbers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LicenceNumber"
},
"description": "Licence numbers of the firm.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "The date when the firm was created in UTC.",
"format": "date-time",
"nullable": true,
"example": "2024-01-15T10:30:00Z"
}
},
"additionalProperties": false
},
"FirmAccountStatus": {
"enum": [
"Active",
"Warning",
"Suspended"
],
"type": "string"
},
"FirmAddress": {
"type": "object",
"properties": {
"buildingLevel": {
"type": "string",
"description": "Building level in address (if applicable).",
"nullable": true,
"example": "Level 1"
},
"unitNumber": {
"type": "string",
"description": "Unit number in address (if applicable).",
"nullable": true,
"example": "10"
},
"unitType": {
"type": "string",
"description": "Unit type (e.g. Unit,Flat,Villa,Suite,etc.) in address (if applicable).",
"nullable": true,
"example": "Suite"
},
"streetNumber": {
"type": "string",
"description": "Street number in address.",
"nullable": true,
"example": "100"
},
"streetName": {
"type": "string",
"description": "Street name in address.",
"nullable": true,
"example": "Broad"
},
"streetType": {
"type": "string",
"description": "Street type (e.g. Street,Road,Avenue,Lane,etc.) in address.",
"nullable": true,
"example": "Street"
},
"addressLine1": {
"type": "string",
"description": "First line of address.",
"nullable": true,
"example": "Level 1/10"
},
"addressLine2": {
"type": "string",
"description": "Second line of address (if applicable).",
"nullable": true,
"example": "100 Broad Street"
},
"city": {
"type": "string",
"description": "City, district, suburb, town, or village.",
"nullable": true,
"example": "Chicago"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "IL"
},
"zipCode": {
"type": "string",
"description": "Zip or post code.",
"nullable": true,
"example": "60606"
},
"county": {
"type": "string",
"description": "County (if applicable)",
"nullable": true,
"example": "Berkshire"
},
"locality": {
"type": "string",
"description": "Locality (if applicable)",
"nullable": true,
"example": "Windsor"
},
"country": {
"type": "string",
"description": "Country.",
"nullable": true,
"example": "United States"
},
"careOf": {
"type": "string",
"description": "Care of the addressee (if applicable).",
"nullable": true,
"readOnly": true,
"example": ""
},
"poBoxType": {
"type": "string",
"description": "PO box type in address (if applicable).",
"nullable": true,
"readOnly": true,
"example": ""
},
"poBoxNumber": {
"type": "string",
"description": "PO box Number in address (if applicable).",
"nullable": true,
"readOnly": true,
"example": ""
}
},
"additionalProperties": false
},
"FirmAddressDto": {
"type": "object",
"properties": {
"buildingLevel": {
"type": "string",
"description": "Building level in address (if applicable).",
"nullable": true,
"example": "Level 1"
},
"unitNumber": {
"type": "string",
"description": "Unit number in address (if applicable).",
"nullable": true,
"example": "10"
},
"unitType": {
"type": "string",
"description": "Unit type (e.g. Unit,Flat,Villa,Suite,etc.) in address (if applicable).",
"nullable": true,
"example": "Suite"
},
"streetNumber": {
"type": "string",
"description": "Street number in address.",
"nullable": true,
"example": "100"
},
"streetName": {
"type": "string",
"description": "Street name in address.",
"nullable": true,
"example": "Broad"
},
"streetType": {
"type": "string",
"description": "Street type (e.g. Street,Road,Avenue,Lane,etc.) in address.",
"nullable": true,
"example": "Street"
},
"addressLine1": {
"type": "string",
"description": "First line of address.",
"nullable": true,
"example": "Level 1/10"
},
"addressLine2": {
"type": "string",
"description": "Second line of address (if applicable).",
"nullable": true,
"example": "100 Broad Street"
},
"city": {
"type": "string",
"description": "City, district, suburb, town, or village.",
"nullable": true,
"example": "Chicago"
},
"state": {
"type": "string",
"description": "State, province, or region (if applicable).",
"nullable": true,
"example": "IL"
},
"zipCode": {
"type": "string",
"description": "Zip or post code.",
"nullable": true,
"example": "60606"
},
"county": {
"type": "string",
"description": "County (if applicable).",
"nullable": true,
"example": ""
},
"locality": {
"type": "string",
"description": "Locality (if applicable).",
"nullable": true,
"example": ""
},
"country": {
"type": "string",
"description": "Country.",
"nullable": true,
"example": "United States"
},
"careOf": {
"type": "string",
"description": "Care of the addressee (if applicable).",
"nullable": true,
"example": ""
},
"poBoxType": {
"type": "string",
"description": "PO box type in address (if applicable).",
"nullable": true,
"example": ""
},
"poBoxNumber": {
"type": "string",
"description": "PO box Number in address (if applicable).",
"nullable": true,
"example": ""
}
},
"additionalProperties": false
},
"FirmDxAddressDto": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Direct Exchange number (if applicable).",
"nullable": true,
"example": "376"
},
"exchange": {
"type": "string",
"description": "Direct Exchange name.",
"nullable": true,
"example": "DX"
},
"state": {
"type": "string",
"description": "State, province, or region.",
"nullable": true,
"example": "NSW"
}
},
"additionalProperties": false
},
"FirmStatus": {
"type": "object",
"properties": {
"status": {
"allOf": [
{
"$ref": "#/components/schemas/FirmAccountStatus"
}
],
"description": "The status of the firm.",
"example": "Active"
},
"statusMessage": {
"type": "string",
"description": "The status message of the firm.",
"nullable": true
}
},
"additionalProperties": false,
"description": "The status of the firm."
},
"FirmStatusDto": {
"type": "object",
"properties": {
"status": {
"allOf": [
{
"$ref": "#/components/schemas/FirmAccountStatus"
}
],
"description": "The status of the firm account.",
"example": "Active"
},
"statusMessage": {
"type": "string",
"description": "The status message of the firm. If left blank, an appropriate message is set depending on the status.",
"nullable": true
}
},
"additionalProperties": false,
"description": "The status of the firm."
},
"FirmSubscriptionDto": {
"type": "object",
"properties": {
"productSuite": {
"type": "string",
"description": "Optional product suite to use when creating the firm.\r\n\r\nUse 'SMOKEBALL' to use the new product suite.",
"nullable": true
},
"promotionId": {
"type": "string",
"description": "Optional promotion ID that will be used when the firm is subscribed.",
"nullable": true
},
"interval": {
"type": "string",
"description": "Optional interval to register the account subscription with.\r\n\r\nPossible values: Monthly, Yearly",
"nullable": true
}
},
"additionalProperties": false,
"description": "The subscription details for the firm."
},
"FirmUser": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"staffId": {
"type": "string",
"description": "Unique identifier of the staff member.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"userId": {
"type": "string",
"description": "Unique identifier of the user.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"isFormerUser": {
"type": "boolean",
"description": "Returns true if this user is a former user.",
"example": false
}
},
"additionalProperties": false
},
"FirmUserDto": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "Unique identifier of the associated user.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"staffId": {
"type": "string",
"description": "Unique identifier of the associated staff member..",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
}
},
"additionalProperties": false,
"description": "Represents a mapping between a user and a staff member in a firm."
},
"LicenceNumber": {
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "State associated to the licence.",
"nullable": true,
"example": "IL"
},
"type": {
"type": "string",
"description": "Type of the licence.",
"nullable": true,
"example": ""
},
"number": {
"type": "string",
"description": "Licence number.",
"nullable": true
}
},
"additionalProperties": false
},
"OutOfOffice": {
"type": "object",
"properties": {
"startDate": {
"type": "string",
"description": "Out-of-office start date.",
"format": "date-time"
},
"endDate": {
"type": "string",
"description": "Out-of-office end date.",
"format": "date-time"
}
},
"additionalProperties": false
},
"Staff": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the staff member.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"title": {
"type": "string",
"description": "Staff member's title.",
"nullable": true,
"example": "Mr"
},
"firstName": {
"type": "string",
"description": "Staff member's first name.",
"nullable": true,
"example": "John"
},
"middleName": {
"type": "string",
"description": "Staff member's middle name (if applicable).",
"nullable": true,
"example": ""
},
"lastName": {
"type": "string",
"description": "Staff member's last name.",
"nullable": true,
"example": "Smith"
},
"initials": {
"type": "string",
"description": "Staff member's initials.",
"nullable": true,
"example": "JS"
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Staff member's phone details.",
"nullable": true
},
"cell": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumber"
}
],
"description": "Staff member's mobile details.",
"nullable": true
},
"email": {
"type": "string",
"description": "Staff member's email address.",
"nullable": true,
"example": "john.smith@brown.com"
},
"role": {
"type": "string",
"description": "Staff member's role.",
"nullable": true,
"example": "Bookkeeper"
},
"rate": {
"type": "number",
"description": "Staff member's hourly rate in dollars.",
"format": "double",
"nullable": true,
"example": 150
},
"avatar": {
"type": "string",
"description": "Staff member's avatar.",
"nullable": true,
"example": "https://example-avatar-url.com/image"
},
"former": {
"type": "boolean",
"description": "Whether he/she is a former member.",
"example": false
},
"enabled": {
"type": "boolean",
"description": "Whether staff member is enabled.",
"example": true
},
"userId": {
"type": "string",
"description": "Staff member's User Id, if enabled.",
"nullable": true,
"example": "14b5dd57-3681-420e-a483-4823424eef45"
},
"colorFill": {
"type": "string",
"description": "Staff member's fill color hex code.",
"nullable": true,
"example": "#797d85"
},
"colorStroke": {
"type": "string",
"description": "Staff member's stroke color hex code.",
"nullable": true,
"example": "#64666a"
},
"licenceNumbers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LicenceNumber"
},
"description": "Licence numbers of the staff member.",
"nullable": true
},
"outOfOffice": {
"allOf": [
{
"$ref": "#/components/schemas/OutOfOffice"
}
],
"description": "Staff member's Out-of-office period, if enabled.",
"nullable": true
}
},
"additionalProperties": false
},
"StaffDto": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "Unique identifier of the associated user. Used to map staff member to the specified user id and ignored if left blank.\r\nUse the FirmUsers API to remove a staff/user mapping.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"title": {
"type": "string",
"description": "Staff member's title.",
"nullable": true,
"example": "Mr"
},
"firstName": {
"type": "string",
"description": "Staff member's first name.",
"nullable": true,
"example": "John"
},
"middleName": {
"type": "string",
"description": "Staff member's middle name (if applicable).",
"nullable": true,
"example": ""
},
"lastName": {
"type": "string",
"description": "Staff member's last name.",
"nullable": true,
"example": "Smith"
},
"initials": {
"type": "string",
"description": "Staff member's initials.",
"nullable": true,
"example": "JS"
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Staff member's phone number.",
"nullable": true
},
"cell": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Staff member's cell number.",
"nullable": true
},
"email": {
"type": "string",
"description": "Staff member's email address.",
"nullable": true,
"example": "john.smith@brown.com"
},
"role": {
"type": "string",
"description": "Staff member's role.",
"nullable": true,
"example": "Bookkeeper"
},
"avatar": {
"type": "string",
"description": "Staff member's avatar.",
"nullable": true,
"example": "https://example-avatar-url.com/image"
},
"former": {
"type": "boolean",
"description": "Whether he/she is a former member. \r\n\r\nCaution: Setting a staff member to former staff will also deregister them from the firm.",
"nullable": true,
"example": false
},
"colorFill": {
"type": "string",
"description": "Staff member's fill color hex code.",
"nullable": true,
"example": "#797d85"
},
"colorStroke": {
"type": "string",
"description": "Staff member's stroke color hex code.",
"nullable": true,
"example": "#64666a"
}
},
"additionalProperties": false
},
"StaffPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Staff"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"StylingDetails": {
"type": "object",
"properties": {
"primaryColorHexCode": {
"type": "string",
"description": "Firm's primary color hex code.",
"nullable": true,
"example": "#FF000000"
},
"secondaryColorHexCode": {
"type": "string",
"description": "Firm's secondary color hex code.",
"nullable": true,
"example": "#FF000000"
},
"fontFamilyName": {
"type": "string",
"description": "Firm's font family name.",
"nullable": true,
"example": "Open Sans"
}
},
"additionalProperties": false
},
"UpdateFirmDto": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"description": "The product/tier the firm is subscribed to. Must be set when creating the firm and is optional when updating the firm.\r\n\r\nThe supported products are listed in order below, the identifier (in brackets) must be used.\r\n\r\n* Bill (SMK001)\r\n\r\n* Boost (SMK004)\r\n\r\n* Grow (SMK002)\r\n\r\n* Prosper + (SMK003)\r\n\r\nPossible values: SMK001, SMK004, SMK002, SMK003",
"nullable": true,
"example": "SMK001"
},
"addOnIds": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
},
"description": "The optional add-ons the firm is subscribed to. Must be specified with an accompanying productId.\r\n\r\nThe supported add-ons are listed below, the identifier (listed in brackets) must be used.\r\n\r\n* Intake (ADD001)\r\n\r\n* AutoTime (ADD003)\r\n\r\n* FamilyPro (ADD004)\r\n\r\n* Api (ADD005)\r\n\r\n* Workflows (ADD006)\r\n\r\n* PowerBI (ADD007)\r\n\r\n* Archie (ADD008)\r\n\r\n* SSO (ADD010)\r\n\r\nPossible values: ADD01, ADD003, ADD004, ADD005, ADD006, ADD007, ADD008, ADD010",
"nullable": true,
"example": [
"ADD01",
"ADD003"
]
},
"name": {
"type": "string",
"description": "The name of the firm.",
"nullable": true,
"example": "Brown LLC"
},
"email": {
"type": "string",
"description": "The email of the firm.\r\n\r\nOnly supported in AU.",
"nullable": true,
"example": "john.smith@law.com"
},
"abn": {
"type": "string",
"description": "Represents a different field depending on the region.\r\n\r\n* For AU: Australian Business Number (ABN) of the firm.\r\n\r\n* For UK: Value-added Tax Number (VAT) of the firm.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "1234567890"
},
"acn": {
"type": "string",
"description": "Represents a different field depending on the region.\r\n\r\n* For AU: Australian Company Number (ACN) of the firm.\r\n\r\n* For UK: Company Registration Number (CRN) of the firm.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "1234567890"
},
"streetAddress": {
"allOf": [
{
"$ref": "#/components/schemas/FirmAddressDto"
}
],
"description": "Street address of the firm.",
"nullable": true
},
"mailingAddress": {
"allOf": [
{
"$ref": "#/components/schemas/FirmAddressDto"
}
],
"description": "Mailing address of the firm.",
"nullable": true
},
"dxAddress": {
"allOf": [
{
"$ref": "#/components/schemas/FirmDxAddressDto"
}
],
"description": "DX address of the firm.\r\n\r\nOnly supported in AU.",
"nullable": true
},
"phone": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Phone number of the firm.",
"nullable": true
},
"fax": {
"allOf": [
{
"$ref": "#/components/schemas/PhoneNumberDto"
}
],
"description": "Fax number of the firm.",
"nullable": true
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/FirmStatusDto"
}
],
"description": "The status of the firm.",
"nullable": true
}
},
"additionalProperties": false
},
"AuthorizationPolicyType": {
"enum": [
0,
1
],
"type": "integer",
"format": "int32"
},
"CreateGroupDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "s\r\n Name of the group.",
"nullable": true,
"example": "Administrators"
},
"principalIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Principals that are members of the group. This can be either user ids or other group ids.",
"nullable": true,
"example": [
"2595a645-94a2-46be-a60d-8410851a9671",
"2595a645-94a2-46be-a60d-8410851a9671"
]
}
},
"additionalProperties": false
},
"Group": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the group.",
"nullable": true,
"example": "ed028979-5b64-4f63-82ef-2deef728d852"
},
"name": {
"type": "string",
"description": "Name of the group.",
"nullable": true,
"example": "Administrators"
},
"principalIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Principals that are members of the group. This can be either user ids or other group ids.",
"nullable": true,
"example": [
"2595a645-94a2-46be-a60d-8410851a9671",
"2595a645-94a2-46be-a60d-8410851a9671"
]
},
"isDeleted": {
"type": "boolean",
"description": "True when the group is deleted.",
"example": false
}
},
"additionalProperties": false
},
"GroupPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Group"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"Policy": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique id of the policy.",
"nullable": true,
"example": "eb40ac02-383c-49bd-b956-c02cba814215"
},
"reference": {
"type": "string",
"description": "Unique reference of the policy.",
"nullable": true,
"example": "31a9caa9-4db7-4a0e-8233-d51254975099"
},
"principalId": {
"type": "string",
"description": "Principal id associated to this policy if it is a principal based policy. This can be either a user id or a group id.\r\n\r\nThis is null if the policy is a resource based policy.",
"nullable": true,
"example": "a7922e80-f833-48f0-8250-c00df1ebbc16"
},
"resourceId": {
"type": "string",
"description": "Resource id associated to this policy if it is a resource based policy.\r\n\r\nThis is null if the policy is a principal based policy.",
"nullable": true,
"example": "54171794-5ca3-472b-889a-c03538d8c89a"
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Rule"
},
"description": "The rules associated to this policy.",
"nullable": true
}
},
"additionalProperties": false
},
"PolicyDto": {
"type": "object",
"properties": {
"principalId": {
"type": "string",
"description": "Principal id associated to this policy if it is a principal based policy. This can be either a user id or a group id.\r\n\r\nThis is null if the policy is a resource based policy.",
"nullable": true,
"example": "a7922e80-f833-48f0-8250-c00df1ebbc16"
},
"resourceId": {
"type": "string",
"description": "Resource id associated to this policy if it is a resource based policy.\r\n\r\nThis is null if the policy is a principal based policy.",
"nullable": true,
"example": "matters/54171794-5ca3-472b-889a-c03538d8c89a"
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RuleDto"
},
"description": "The rules associated to this policy.",
"nullable": true
}
},
"additionalProperties": false
},
"Rule": {
"type": "object",
"properties": {
"principalId": {
"type": "string",
"description": "Principal id associated to this rule if the rule is associated to a resource based policy. This can be either a user id or a group id.\r\n\r\nThis is null if the policy is a principal based policy.",
"nullable": true,
"example": "a7922e80-f833-48f0-8250-c00df1ebbc16"
},
"resourceId": {
"type": "string",
"description": "Resource id associated to this rule if it is a principal based policy. \r\n\r\nFor matter based policies, use `matters/{matterId}` for a single matter or `matters` for all matters.\r\n\r\nThis is null if the associated policy is a resource based policy.",
"nullable": true,
"example": "matters/69406c65-309d-4e35-a636-ad145e64770a"
},
"operation": {
"type": "string",
"description": "The operation associated to this rule.\r\n\r\nPossible values: 'Access','Execute'.",
"example": "Access"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/AuthorizationPolicyType"
}
],
"description": "The type of the rule.\r\n \r\nPossible values: 'Deny','Allow'."
}
},
"additionalProperties": false
},
"RuleDto": {
"type": "object",
"properties": {
"principalId": {
"type": "string",
"description": "Principal id associated to this rule if the rule is associated to a resource based policy. This can be either a user id or a group id.\r\n\r\nThis is null if the policy is a principal based policy.",
"nullable": true,
"example": "a7922e80-f833-48f0-8250-c00df1ebbc16"
},
"resourceId": {
"type": "string",
"description": "Resource id associated to this rule if it is a principal based policy. \r\n\r\nFor matter based policies, use `matters/{matterId}` for a single matter or `matters` for all matters.\r\n\r\nThis is null if the associated policy is a resource based policy.",
"nullable": true,
"example": "matters/69406c65-309d-4e35-a636-ad145e64770a"
},
"operation": {
"type": "string",
"description": "The operation associated to this rule.\r\n\r\nPossible values: 'Access','Execute'.",
"example": "Access"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/AuthorizationPolicyType"
}
],
"description": "The type of the rule.\r\n \r\nPossible values: 'Deny','Allow'."
}
},
"additionalProperties": false
},
"UpdateGroupDto": {
"type": "object",
"properties": {
"principalIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Principals that are members of the group. This can be either user ids or other group ids.",
"nullable": true,
"example": [
"2595a645-94a2-46be-a60d-8410851a9671",
"2595a645-94a2-46be-a60d-8410851a9671"
]
}
},
"additionalProperties": false
},
"CreateIntakeSubmissionRequestDto": {
"type": "object",
"properties": {
"formId": {
"type": "string",
"description": "Id of the intake form to create a submission for.",
"nullable": true,
"example": "ae4bc84e-b601-4767-9d0f-5d078832418e"
},
"communicationMethod": {
"allOf": [
{
"$ref": "#/components/schemas/CreateSubmissionCommunicationMethod"
}
],
"description": "How the form will be delivered.",
"example": "email"
},
"recipient": {
"allOf": [
{
"$ref": "#/components/schemas/IntakeRecipientDto"
}
],
"description": "Recipient details for the submission.",
"nullable": true
}
},
"additionalProperties": false
},
"CreateSubmissionCommunicationMethod": {
"enum": [
"email",
"communicate"
],
"type": "string",
"description": "Specifies the communication method used when creating an intake submission"
},
"IntakeForm": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"isSmokeballForm": {
"type": "boolean",
"description": "Whether the form is a Smokeball form.\n\nThere are some forms that are created / can only be modified by Smokeball staff. The user can choose to use these \u201cpreset\u201d forms if they don\u2019t want to create their own ones.",
"example": true
},
"title": {
"type": "string",
"description": "Display title of the intake form.",
"nullable": true,
"example": "Client Intake Form"
},
"category": {
"allOf": [
{
"$ref": "#/components/schemas/IntakeFormCategory"
}
],
"description": "Category of the form.",
"example": "matter"
},
"matterTypes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "Links to matter types that this form is available for.",
"nullable": true
},
"active": {
"type": "boolean",
"description": "Whether the form is active.",
"nullable": true,
"example": true
},
"createdDate": {
"type": "string",
"description": "When the form was created.",
"format": "date-time",
"example": "2026-01-01T00:00:00.0000000+00:00"
},
"lastUpdated": {
"type": "string",
"description": "When the form was last updated.",
"format": "date-time",
"example": "2026-01-01T00:00:00.0000000+00:00"
}
},
"additionalProperties": false,
"description": "Intake form."
},
"IntakeFormCategory": {
"enum": [
"lead",
"matter"
],
"type": "string"
},
"IntakeFormPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntakeForm"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"IntakeRecipientDto": {
"type": "object",
"properties": {
"contactId": {
"type": "string",
"description": "Contact id that the submission is sent to.",
"nullable": true,
"example": "5d9b8697-8c6f-45dd-b22d-87045ed4df35"
},
"email": {
"type": "string",
"description": "Email address of the recipient.",
"nullable": true,
"example": "client@example.com"
},
"name": {
"type": "string",
"description": "Display name of the recipient.",
"nullable": true,
"example": "Sample Client"
}
},
"additionalProperties": false
},
"IntakeSubmission": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"formId": {
"type": "string",
"description": "Id of the form that the submission is for.",
"nullable": true,
"example": "ae4bc84e-b601-4767-9d0f-5d078832418e"
},
"formTitle": {
"type": "string",
"description": "Title of the form that the submission is for.",
"nullable": true,
"example": "Client Intake Form"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/IntakeSubmissionStatus"
}
],
"description": "Current status of the submission.",
"example": "draft"
},
"communicationMethod": {
"allOf": [
{
"$ref": "#/components/schemas/IntakeSubmissionCommunicationMethod"
}
],
"description": "How the form was sent.",
"example": "email"
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Link to matter that the submission is associated with.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "When the submission was created.",
"format": "date-time",
"example": "2026-01-01T00:00:00.0000000+00:00"
},
"lastUpdated": {
"type": "string",
"description": "When the submission was last updated.",
"format": "date-time",
"example": "2026-01-01T00:00:00.0000000+00:00"
},
"recipient": {
"allOf": [
{
"$ref": "#/components/schemas/IntakeRecipientDto"
}
],
"description": "Recipient that the submission is sent to.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Intake submission."
},
"IntakeSubmissionCommunicationMethod": {
"enum": [
"email",
"communicate",
"embed",
"internalUse",
"document"
],
"type": "string",
"description": "Intake submission communication method."
},
"IntakeSubmissionCreated": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"link": {
"type": "string",
"description": "URL to complete the intake submission.",
"nullable": true,
"example": "https://example.smokeball.com/intake/submissions/e8b673fe-5493-4b1f-986c-af82542fb6d8"
}
},
"additionalProperties": false,
"description": "Intake submission created response."
},
"IntakeSubmissionDetail": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"formId": {
"type": "string",
"description": "Id of the form that the submission is for.",
"nullable": true,
"example": "ae4bc84e-b601-4767-9d0f-5d078832418e"
},
"formTitle": {
"type": "string",
"description": "Title of the form that the submission is for.",
"nullable": true,
"example": "Client Intake Form"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/IntakeSubmissionStatus"
}
],
"description": "Current status of the submission.",
"example": "draft"
},
"communicationMethod": {
"allOf": [
{
"$ref": "#/components/schemas/IntakeSubmissionCommunicationMethod"
}
],
"description": "How the form was sent.",
"example": "email"
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Link to matter that the submission is associated with.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "When the submission was created.",
"format": "date-time",
"example": "2026-01-01T00:00:00.0000000+00:00"
},
"lastUpdated": {
"type": "string",
"description": "When the submission was last updated.",
"format": "date-time",
"example": "2026-01-01T00:00:00.0000000+00:00"
},
"recipient": {
"allOf": [
{
"$ref": "#/components/schemas/IntakeRecipientDto"
}
],
"description": "Recipient that the submission is sent to.",
"nullable": true
},
"responses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntakeSubmissionResponseSectionDto"
},
"description": "Ordered list of sections with submitted values.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Intake submission detail."
},
"IntakeSubmissionPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntakeSubmission"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"IntakeSubmissionResponseFieldDto": {
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/components/schemas/SubmissionResponseFieldType"
}
],
"description": "Field control type.",
"example": "text"
},
"label": {
"type": "string",
"description": "Display label for the field.",
"nullable": true,
"example": "Phone number"
},
"value": {
"type": "string",
"description": "Submitted value as a string.",
"nullable": true,
"example": "0400 000 000"
}
},
"additionalProperties": false
},
"IntakeSubmissionResponseGroupDto": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Display label for the group.",
"nullable": true,
"example": "Primary Contact"
},
"fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntakeSubmissionResponseFieldDto"
},
"description": "Fields within the group.",
"nullable": true
}
},
"additionalProperties": false
},
"IntakeSubmissionResponseSectionDto": {
"type": "object",
"properties": {
"sectionTitle": {
"type": "string",
"description": "Title of the section.",
"nullable": true,
"example": "Contact Details"
},
"groups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntakeSubmissionResponseGroupDto"
},
"description": "Groups within the section.",
"nullable": true
},
"fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntakeSubmissionResponseFieldDto"
},
"description": "Fields directly under the section.",
"nullable": true
}
},
"additionalProperties": false
},
"IntakeSubmissionStatus": {
"enum": [
"draft",
"active",
"completed",
"cancelled"
],
"type": "string",
"description": "Intake submission status."
},
"SubmissionResponseFieldType": {
"enum": [
"text",
"multilineText",
"number",
"currency",
"choice",
"info",
"date",
"checkbox",
"address",
"yesNo",
"phoneNumber",
"email",
"file",
"appointment",
"payment",
"signature"
],
"type": "string",
"description": "Submission response field type."
},
"Debtor": {
"type": "object",
"properties": {
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the associated contact.",
"nullable": true
}
},
"additionalProperties": false
},
"Discount": {
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/components/schemas/DiscountType"
}
],
"description": "The type of discount applied to the invoice.\r\n\r\nFixed for a fixed amount, or Percentage for a percentage-based discount.\r\n\r\nPossible values: Fixed = 0, Percentage = 1.",
"example": 0
},
"fixedDiscount": {
"type": "number",
"description": "The fixed discount amount to be subtracted from the invoice total.\r\n\r\nOnly applicable when Type is Fixed.",
"format": "double",
"example": 100
},
"percentage": {
"type": "number",
"description": "The percentage discount to be applied to the invoice total.\r\n\r\nOnly applicable when Type is Percentage.\r\n\r\nExpressed as a number between 0 and 100.",
"format": "double",
"example": 10
},
"description": {
"type": "string",
"description": "A description of the discount, such as the reason or category.",
"nullable": true,
"example": "Friend of the Firm"
}
},
"additionalProperties": false
},
"DiscountType": {
"enum": [
0,
1
],
"type": "integer",
"format": "int32"
},
"Invoice": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "The unique identifier of the invoice.",
"nullable": true,
"example": "16567e88-784c-470e-8952-e5a70fe2eb0c"
},
"versionId": {
"type": "string",
"description": "The unique identifier representing the current version of the invoice.",
"nullable": true,
"example": "39ffde97-eeeb-4747-bb8f-7c7c10b3c985"
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "A link to the matter associated with the invoice.",
"nullable": true
},
"matterId": {
"type": "string",
"description": "The unique identifier of the matter this invoice belongs to.",
"nullable": true,
"example": "6398a045-509e-49a2-9268-bb8231fa9340"
},
"lastUpdatedByUserId": {
"type": "string",
"description": "The unique identifier of the user who last updated the invoice.",
"nullable": true,
"example": "5fc5ee85-6643-4623-b019-a0dccceafe47"
},
"description": {
"type": "string",
"description": "A short description of the invoice contents or purpose.",
"nullable": true,
"example": "Services provided."
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/InvoiceStatus"
}
],
"description": "The status of the invoice.\r\n\r\nPossible values: Draft = 0, Final = 1, Paid = 2, Deleted = 3 or Void = 4.",
"example": 0
},
"invoiceNumber": {
"type": "integer",
"description": "The sequential number assigned to the invoice.",
"format": "int64",
"nullable": true,
"example": 10001
},
"invoiceTitle": {
"type": "string",
"description": "The main title of the invoice.",
"nullable": true,
"example": "My First Invoice"
},
"invoiceTitleLine2": {
"type": "string",
"description": "The optional second line of the invoice title.",
"nullable": true,
"example": "Subtitle"
},
"issuedDate": {
"type": "string",
"description": "The date the invoice was issued.",
"format": "date-time",
"example": "2022-09-16T00:00:00+00:00"
},
"dueDate": {
"type": "string",
"description": "The date by which payment for the invoice is due.",
"format": "date-time",
"example": "2022-09-25T00:00:00+00:00"
},
"paidDate": {
"type": "string",
"description": "The date the invoice was fully paid.\r\n\r\nOnly populated if the invoice has been paid in full.",
"format": "date-time",
"example": "2022-09-20T00:00:00+00:00"
},
"discount": {
"allOf": [
{
"$ref": "#/components/schemas/Discount"
}
],
"description": "The discount configuration for the invoice (e.g., fixed or percentage).\r\n\r\nSee InvoiceTotals.Discount for the actual amount discounted.",
"nullable": true
},
"surcharge": {
"allOf": [
{
"$ref": "#/components/schemas/Surcharge"
}
],
"description": "The surcharge configuration for the invoice (e.g., fixed or percentage).",
"nullable": true
},
"debtors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Debtor"
},
"description": "The list of debtors associated with this invoice.",
"nullable": true
},
"entries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InvoicedMatterEntryItem"
},
"description": "The individual entries (fees or expenses) included in the invoice.",
"nullable": true
},
"waived": {
"type": "boolean",
"description": "Indicates whether the invoice has been waived.",
"example": false
},
"invoiceTotals": {
"allOf": [
{
"$ref": "#/components/schemas/InvoiceTotals"
}
],
"description": "The calculated totals for the invoice, including billed, paid, unpaid, tax, interest, discounts, etc.",
"nullable": true
}
},
"additionalProperties": false
},
"InvoiceFileInfo": {
"type": "object",
"properties": {
"invoiceId": {
"type": "string",
"description": "Unique identifier of the requested invoice",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"versionId": {
"type": "string",
"description": "Unique identifier of the invoice version",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"downloadUrl": {
"type": "string",
"description": "Link to download file",
"nullable": true,
"example": ""
},
"expiry": {
"type": "string",
"description": "Expiry date/time when the download link is no longer accessible",
"format": "date-time",
"example": "2022-04-23T14:30:00Z"
},
"status": {
"type": "string",
"description": "Current status of the invoice",
"nullable": true,
"example": "Draft"
}
},
"additionalProperties": false
},
"InvoicePagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Invoice"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"InvoiceStatus": {
"enum": [
0,
1,
2,
3,
4
],
"type": "integer",
"description": "The status of the invoice.\r\n\r\nPossible values: Draft = 0, Final = 1, Paid = 2, Deleted = 3 or Void = 4.",
"format": "int32"
},
"InvoiceTotals": {
"type": "object",
"properties": {
"paid": {
"type": "number",
"description": "The total amount that has been paid towards the invoice.",
"format": "double",
"example": 100
},
"billed": {
"type": "number",
"description": "The total amount billed on the invoice, excluding tax and interest.\r\n\r\nThis includes all fees and expenses before discounts or write-offs.",
"format": "double",
"example": 200
},
"unpaid": {
"type": "number",
"description": "The remaining amount due on the invoice, including any unpaid tax or interest.",
"format": "double",
"example": 100
},
"unpaidExcInterest": {
"type": "number",
"description": "The total unpaid amount excluding interest.\r\n\r\nIf this value is zero on an interest-bearing invoice, it indicates the principal has been fully paid,\r\nalthough interest may still be outstanding.",
"format": "double",
"example": 100
},
"writtenOff": {
"type": "number",
"description": "The total amount that has been written off from the invoice and is no longer expected to be paid.",
"format": "double",
"example": 0
},
"waived": {
"type": "number",
"description": "The total amount that has been waived on the invoice.\r\n\r\nWaived amounts are not charged but are also not written off.",
"format": "double",
"example": 0
},
"discount": {
"type": "number",
"description": "The total amount discounted on the invoice.\r\n\r\nThis includes all applied discounts reducing the billed amount.",
"format": "double",
"example": 0
},
"total": {
"type": "number",
"description": "The grand total for the invoice, including tax and interest, before any payments, discounts, or write-offs.",
"format": "double",
"example": 100
},
"tax": {
"type": "number",
"description": "The total tax amount applied to the invoice.",
"format": "double",
"example": 10
},
"interest": {
"type": "number",
"description": "The total interest charged on the invoice, regardless of what has been paid so far.",
"format": "double",
"example": 0
},
"feeTotal": {
"type": "number",
"description": "The total amount of all fees on the invoice, including both written off and non-written off fees.",
"format": "double",
"example": 100
},
"writtenOffFeeTotal": {
"type": "number",
"description": "The total amount of fees that have been written off.",
"format": "double",
"example": 100
},
"expenseTotal": {
"type": "number",
"description": "The total amount of all expenses on the invoice, including both written off and non-written off expenses.",
"format": "double",
"example": 100
},
"writtenOffExpenseTotal": {
"type": "number",
"description": "The total amount of expenses that have been written off.",
"format": "double",
"example": 180
}
},
"additionalProperties": false
},
"InvoicedMatterEntryItem": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"versionId": {
"type": "string",
"nullable": true
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/EntryType"
}
],
"description": "Type of the activity.\r\n\r\nPossible values: Fixed = '0', Time = '1', Expense = '2'"
}
},
"additionalProperties": false
},
"Surcharge": {
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/components/schemas/SurchargeType"
}
],
"description": "The type of surcharge applied to the invoice.\r\n\r\nPossible values: None = 0, Fixed = 1, Percentage = 2.",
"example": 1
},
"fixedSurcharge": {
"type": "number",
"description": "The fixed surcharge amount applied to the invoice total.\r\n\r\nOnly applicable when Type is Fixed.",
"format": "double",
"nullable": true,
"example": 100
},
"percentage": {
"type": "number",
"format": "double",
"nullable": true
},
"description": {
"type": "string",
"description": "A description of the surcharge, such as the reason or category.",
"nullable": true,
"example": "Late Payment Fee"
},
"applyTo": {
"allOf": [
{
"$ref": "#/components/schemas/SurchargeApplyType"
}
],
"description": "The surcharge application type, indicating what the surcharge applies to.\r\n\r\nPossible values: None = 0, Fees = 1, Expenses = 2, FeesAndExpenses = 3.",
"example": 1
}
},
"additionalProperties": false
},
"SurchargeApplyType": {
"enum": [
0,
1,
2,
3
],
"type": "integer",
"format": "int32"
},
"SurchargeType": {
"enum": [
0,
1,
2
],
"type": "integer",
"format": "int32"
},
"MatterItem": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier for the item on a matter.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"name": {
"type": "string",
"description": "Name of the item.",
"nullable": true,
"example": "Client"
},
"index": {
"type": "integer",
"description": "Zero based number of this item in the list.",
"format": "int32",
"example": 0
},
"visible": {
"type": "boolean",
"description": "Boolean flag indicating if the item is visible.",
"example": false
},
"subItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterItem"
},
"description": "List of child items associated with the item.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterItems": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "832e778f-83df-454a-b344-768a862a7e67"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterItem"
},
"description": "List of items on a matter.",
"nullable": true
}
},
"additionalProperties": false
},
"LayoutContact": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"key": {
"type": "string",
"description": "Unique key name for the layout contact.",
"nullable": true,
"example": ""
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the layout contact.",
"nullable": true
}
},
"additionalProperties": false
},
"LayoutContactData": {
"required": [
"contactId",
"key"
],
"type": "object",
"properties": {
"key": {
"minLength": 1,
"type": "string",
"description": "Name (mapping) of the layout field that contains ContactId."
},
"contactId": {
"type": "string",
"description": "Unique identifier for the layout contact.",
"format": "uuid"
}
},
"additionalProperties": false
},
"LayoutDesign": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"versionId": {
"type": "string",
"description": "Version id of the layout design.",
"nullable": true,
"example": "763c3857-2ed9-4c5d-bee0-c48d48a7543e"
},
"name": {
"type": "string",
"description": "Name of the layout design.",
"nullable": true,
"example": "Case Details"
},
"lastUpdated": {
"type": "integer",
"description": "Last updated timestamp.",
"format": "int64",
"example": 637847425252027400
},
"description": {
"type": "string",
"description": "Brief description of the layout design.",
"nullable": true,
"example": "Property and title details"
},
"fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutDesignField"
},
"description": "Collection of layout design fields.",
"nullable": true
}
},
"additionalProperties": false
},
"LayoutDesignField": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name (mapping) of the layout design field.",
"nullable": true,
"example": "PinAndLotSizes[]/AccountNumber"
},
"type": {
"type": "string",
"description": "Type of the layout design field.\r\n \r\nPossible values: 'Text','Combobox','Checkbox','Date','Role','Number'.\r\n \r\n'Role' type can represent a matter role (for a top-level layout item) or a matter relationship (for a sublayout item).",
"example": "Combobox"
},
"possibleValues": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of possible values (e.g. for Combobox field).",
"nullable": true,
"example": [
"Residence",
"Commercial",
"Factory",
"Office"
]
}
},
"additionalProperties": false
},
"LayoutDesignInfo": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"versionId": {
"type": "string",
"description": "Version id of the layout design.",
"nullable": true,
"example": "763c3857-2ed9-4c5d-bee0-c48d48a7543e"
},
"name": {
"type": "string",
"description": "Name of the layout design.",
"nullable": true,
"example": "Case Details"
},
"lastUpdated": {
"type": "integer",
"description": "Last updated timestamp.",
"format": "int64",
"example": 637847425252027400
}
},
"additionalProperties": false
},
"LayoutDesignInfoPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutDesignInfo"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"LayoutEvent": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"appointmentId": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"LayoutMatter": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Layout matter id.",
"nullable": true
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutMatterItem"
},
"description": "Layout matter item data.",
"nullable": true
}
},
"additionalProperties": false
},
"LayoutMatterItem": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"name": {
"type": "string",
"description": "Name of the layout item.",
"nullable": true,
"example": "Item"
},
"description": {
"type": "string",
"description": "Brief description of the layout item.",
"nullable": true,
"example": "Text describing item"
},
"itemId": {
"type": "string",
"description": "Unique identifier for the layout item.",
"format": "uuid",
"example": "59791902-6280-471b-bd18-f8439ba3042f"
},
"parentId": {
"type": "string",
"description": "Unique identifier for the parent layout design.",
"nullable": true,
"example": "Client"
},
"index": {
"type": "integer",
"description": "Zero-based index of the layout item.",
"format": "int32",
"example": 0
},
"parentIndex": {
"type": "integer",
"description": "Zero-based index of the parent layout matter item, if one exists.",
"format": "int32",
"nullable": true,
"example": 0
},
"layoutDesign": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the layout design.",
"nullable": true
},
"values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutValue"
},
"description": "List of layout values.",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutEvent"
},
"description": "List of layout events.",
"nullable": true
}
},
"additionalProperties": false
},
"LayoutMatterItemApiPatch": {
"type": "object",
"properties": {
"itemId": {
"type": "string",
"description": "Unique identifier for the matter list item.",
"nullable": true,
"example": "59791902-6280-471b-bd18-f8439ba3042f"
},
"layoutDesignId": {
"type": "string",
"description": "Identifier of the layout design.",
"nullable": true,
"example": "414ab774-adce-4659-b18c-82d1b0e826a0"
},
"index": {
"type": "integer",
"description": "Zero-based index of the layout item.",
"format": "int32",
"example": 0
},
"parentItemId": {
"type": "string",
"description": "Unique identifier for the parent matter list item.",
"nullable": true,
"example": "59791902-6280-471b-bd18-f8439ba3042f"
},
"parentId": {
"type": "string",
"description": "Identifier of the parent matter list item specific to the provider.",
"nullable": true,
"example": "Client"
},
"parentIndex": {
"type": "integer",
"description": "Zero-based index of the parent matter list item.",
"format": "int32",
"example": 0
},
"name": {
"type": "string",
"description": "Name of the layout item.",
"nullable": true,
"example": "Item"
},
"description": {
"type": "string",
"description": "Brief description of the layout item.",
"nullable": true,
"example": "Text describing item"
},
"isRemoved": {
"type": "boolean",
"description": "Boolean flag indicating if the layout item is to be removed.",
"example": false
},
"values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutValue"
},
"description": "List of layout values.",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutEvent"
},
"description": "List of layout events.",
"nullable": true
}
},
"additionalProperties": false
},
"LayoutMatterItemData": {
"type": "object",
"properties": {
"itemId": {
"type": "string",
"description": "Unique identifier for the matter list item.",
"nullable": true,
"example": "59791902-6280-471b-bd18-f8439ba3042f"
},
"layoutDesignId": {
"type": "string",
"description": "Identifier of the layout design.",
"nullable": true,
"example": "414ab774-adce-4659-b18c-82d1b0e826a0"
},
"index": {
"type": "integer",
"description": "Zero-based index of the layout item.",
"format": "int32",
"example": 0
},
"parentItemId": {
"type": "string",
"description": "Unique identifier for the parent matter list item.",
"nullable": true,
"example": "59791902-6280-471b-bd18-f8439ba3042f"
},
"parentId": {
"type": "string",
"description": "Identifier of the parent matter list item specific to the provider.",
"nullable": true,
"example": "Client"
},
"parentIndex": {
"type": "integer",
"description": "Zero-based index of the parent matter list item.",
"format": "int32",
"example": 0
},
"name": {
"type": "string",
"description": "Name of the layout item.",
"nullable": true,
"example": "Item"
},
"description": {
"type": "string",
"description": "Brief description of the layout item.",
"nullable": true,
"example": "Text describing item"
},
"values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutValue"
},
"description": "List of layout values.",
"nullable": true
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutEvent"
},
"description": "List of layout events.",
"nullable": true
},
"isRemoved": {
"type": "boolean",
"description": "Boolean flag indicating if the layout item is to be removed.",
"example": false
}
},
"additionalProperties": false
},
"LayoutMatterItemDataCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LayoutMatterItem"
},
"nullable": true
}
},
"additionalProperties": false
},
"LayoutValue": {
"type": "object",
"properties": {
"key": {
"type": "string",
"nullable": true
},
"value": {
"type": "string",
"nullable": true
},
"state": {
"description": "Gets or sets the object that contains supplemental data about the key/value pair.\n\nThis property was introduced in NV-2643, and is usage-specific. It contains data which is used together with Value.\nFor example, if a layout contains a textbox control with an override checkbox, their Text and IsChecked properties\ncan be persisted in Value and State respectively. In this case, the type of State would be bool or bool?.",
"nullable": true
}
},
"additionalProperties": false
},
"IMatterItem": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Type of the matter item.",
"nullable": true,
"readOnly": true,
"example": "role or layout"
},
"id": {
"type": "string",
"description": "Unique identifier of the matter item.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"name": {
"type": "string",
"description": "Name of the matter item as it appears on the matter.",
"nullable": true,
"example": "Vendor"
},
"subItems": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IMatterItem"
},
"nullable": true
},
"description": "Subitems associated to the matter item. These items vary depending on the matter.",
"nullable": true
}
},
"additionalProperties": false
},
"Matter": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the matter.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"externalSystemId": {
"type": "string",
"description": "External system id for the matter.",
"nullable": true,
"example": "EXT01"
},
"versionId": {
"type": "string",
"description": "Version id of the record. This can be used in the UpdatedSince query parameter.",
"nullable": true,
"example": "637771038395217729"
},
"number": {
"type": "string",
"description": "Human-friendly number assigned to matter.",
"nullable": true,
"example": "FUS-124"
},
"title": {
"type": "string",
"description": "Title of the matter.",
"nullable": true,
"example": "AM-0323-0005 - Smith - Sale - Jones"
},
"matterType": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the associated matter type.",
"nullable": true
},
"clients": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "List of hypermedia links of 'Client' contacts associated with the matter.",
"nullable": true
},
"otherSides": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "List of hypermedia links of 'OtherSide' contacts associated with the matter.",
"nullable": true
},
"description": {
"type": "string",
"description": "Brief description of the matter.",
"nullable": true,
"example": "This is a brief description for the matter"
},
"status": {
"type": "string",
"description": "Current status of the matter.\r\n\r\nPossible values: Open, Pending, Closed, Deleted or Cancelled.",
"nullable": true,
"example": "Open"
},
"personResponsible": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the person responsible for the matter (if applicable).",
"nullable": true
},
"personAssisting": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the person assisting in the matter (if applicable).",
"nullable": true
},
"personAssistingStaffs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "List of hypermedia links of additional person assisting staff members associated with the matter.",
"nullable": true
},
"originatingStaff": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the originating attorney (if in US) or introducer (if in AU) of the matter.",
"nullable": true
},
"originatingStaffs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "List of hypermedia links of additional originating (if in US) or introducer (if in AU) staff members associated with the matter.",
"nullable": true
},
"splitOriginatingStaffSettings": {
"allOf": [
{
"$ref": "#/components/schemas/SplitMatterStaffSettings"
}
],
"description": "Settings for splitting originating staff members on a matter.",
"nullable": true
},
"supervisor": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the supervisor of the matter.\r\n\r\nOnly supported in the UK.",
"nullable": true
},
"clientCode": {
"type": "string",
"description": "Associates an external client code to this matter.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "Client A"
},
"openedDate": {
"type": "string",
"description": "Date the matter was opened.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"closedDate": {
"type": "string",
"description": "Date the matter was closed.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadOpenedDate": {
"type": "string",
"description": "Date the lead was opened.\r\n\r\nOnly applies if isLead is true.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadClosedDate": {
"type": "string",
"description": "Date the lead was closed.\r\n\r\nOnly applies if isLead is true.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadClosedReason": {
"type": "string",
"description": "Reason the lead was closed.\r\n\r\nOnly applies if isLead is true.",
"nullable": true,
"example": "No longer interested"
},
"isLead": {
"type": "boolean",
"description": "Boolean flag indicating if the matter is a lead.",
"example": false
},
"branch": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the associated branch.",
"nullable": true
},
"branchProviderId": {
"type": "string",
"description": "Unique identifier of the associated branch provider.",
"nullable": true,
"example": "Smokeball"
},
"referralType": {
"type": "string",
"description": "The referral type of the matter.",
"nullable": true
},
"referrer": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The referrer contact of the matter.",
"nullable": true
},
"referralAgreementFeeType": {
"type": "string",
"description": "The referral agreement fee type.",
"nullable": true
},
"referralAgreementFee": {
"type": "number",
"description": "The referral agreement fee value.",
"format": "double",
"nullable": true
},
"referralAgreementFeeComment": {
"type": "string",
"description": "The referral agreement fee comment.",
"nullable": true
},
"items": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IMatterItem"
},
"nullable": true
},
"description": "Items associated with the matter.",
"nullable": true
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterTag"
},
"description": "Tags associated with the matter.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterDto": {
"type": "object",
"properties": {
"externalSystemId": {
"type": "string",
"description": "External system id for the matter.",
"nullable": true,
"example": "EXT01"
},
"number": {
"type": "string",
"description": "Human-friendly number assigned to matter.",
"nullable": true,
"example": "FUS-124"
},
"matterTypeId": {
"type": "string",
"description": "Unique identifier of the matter type associated with the matter.\r\n \r\nMatter types define what information can be saved to the matter, relevant to that area of law and state / location.\r\n \r\nA pre-configured list of matter types can be obtained via the 'GET /mattertypes' API.\r\n \r\n'Lead' matter types are different from the standard matter types used when creating a 'Matter'.\r\n \r\nUse the 'Type' query parameter in the 'GET /mattertypes' API call to get 'Lead' specific matter types.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"clientIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of 'Client' contact id's associated with the matter.",
"nullable": true,
"example": [
"832e778f-83df-454a-b344-768a862a7e67"
]
},
"otherSideIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of 'OtherSide' contact id's associated with the matter.",
"nullable": true,
"example": [
"776e778f-83df-454a-b344-768a862a6e58"
]
},
"branchId": {
"type": "string",
"description": "Unique identifier of the associated branch.",
"nullable": true,
"example": "dd4e4381-b6a0-4c64-8feb-e8ea8016ea42"
},
"branchProviderId": {
"type": "string",
"description": "Unique identifier of the associated branch provider.",
"nullable": true,
"example": "Smokeball"
},
"clientRole": {
"type": "string",
"description": "'Client' matter type representative option for the matter.\r\n\r\nIf unsure, this can be left empty and the default Client role will be used.",
"nullable": true,
"example": "Buyer"
},
"otherSideRole": {
"type": "string",
"description": "'OtherSide' matter type representative option for the matter.\r\n\r\nIf unsure, this can be left empty and the default OtherSide role will be used.",
"nullable": true,
"example": "Seller"
},
"description": {
"type": "string",
"description": "Brief description of the matter.",
"nullable": true,
"example": "This is a brief description for the matter"
},
"status": {
"type": "string",
"description": "Current status of matter.\r\n\r\nPossible values: Open, Pending, Closed, Deleted or Cancelled.",
"nullable": true,
"example": "Open"
},
"openedDate": {
"type": "string",
"description": "Date the matter was opened. This can be backdated if required.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"closedDate": {
"type": "string",
"description": "Date the matter was closed. This can be backdated if required.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadOpenedDate": {
"type": "string",
"description": "Date the lead was opened. This can be backdated if required.\r\n\r\nOnly applies if isLead is true.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadClosedDate": {
"type": "string",
"description": "Date the lead was closed. This can be backdated if required.\r\n\r\nOnly applies if isLead is true.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadClosedReason": {
"type": "string",
"description": "Reason the lead was closed.\r\n\r\nOnly applies if isLead is true.",
"nullable": true,
"example": "No longer interested"
},
"referralType": {
"type": "string",
"description": "Referral Type of the matter.\r\n\r\nCustom Referral Types are also supported, the name or id of the Custom Referral Type can be used. If the name is used, it is looked up and stored as the id.\r\n\r\nSee the Referral Types API for retrieval of all valid Referral Types.\r\n\r\nPossible values may also differ per region.",
"nullable": true,
"example": "Google"
},
"referrerId": {
"type": "string",
"description": "Contact id of the person that referred the matter.",
"nullable": true,
"example": "97bbe49f-6460-4bfc-b287-34ddfdbb81ef"
},
"referralAgreementFeeType": {
"type": "string",
"description": "The referral agreement fee type.\r\n\r\nPossible values: %, Flat fee, Other",
"nullable": true
},
"referralAgreementFee": {
"type": "number",
"description": "The referral agreement fee value.",
"format": "double",
"nullable": true
},
"referralAgreementFeeComment": {
"type": "string",
"description": "The referral agreement fee comment.",
"nullable": true
},
"personResponsibleStaffId": {
"type": "string",
"description": "Staff id of the person responsible for the matter (if applicable).",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"personAssistingStaffId": {
"type": "string",
"description": "Staff id of the person assisting in the matter (if applicable).",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"personAssistingStaffIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Staff ids of the other persons assisting in the matter (if applicable).",
"nullable": true,
"example": [
"c85d28cb-a760-4627-aa59-0a853c2e65ed"
]
},
"originatingStaffId": {
"type": "string",
"description": "Staff id of the originating attorney (if in US) or an Introducer (if in AU)",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"originatingStaffIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Staff ids of the other originating attorneys (if in US) or an Introducer (if in AU)\r\n\r\nRequired when SplitOriginatingStaffSettings is provided and enabled.",
"nullable": true,
"example": [
"c85d28cb-a760-4627-aa59-0a853c2e65ed"
]
},
"splitOriginatingStaffSettings": {
"allOf": [
{
"$ref": "#/components/schemas/SplitMatterStaffSettingsDto"
}
],
"description": "Settings for splitting originating staff members on a matter.\n\nWhen enabled, this allows distribution of originating staff responsibilities across multiple staff members\nusing either equal splits or custom ratios. The staff IDs specified in SplitMatterStaffs must exactly\nmatch the OriginatingStaffIds provided.\n\nValidation rules:\n- OriginatingStaffIds must be provided when this setting is enabled\n- Staff ratios must sum to 10000 (100%) when using UseRatio split method\n- RemainderStaffId must be one of the staff members in the SplitMatterStaffs collection\n- No duplicate staff members allowed",
"nullable": true
},
"supervisorStaffId": {
"type": "string",
"description": "Staff id of the supervisor of the matter.\r\n\r\nOnly supported in the UK.",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"clientCode": {
"type": "string",
"description": "Associates an external client code to this matter.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "Client A"
},
"isLead": {
"type": "boolean",
"description": "Optional boolean flag indicating if a 'Lead' is being created. This must be set to 'true' when creating a 'Lead'.",
"example": false
}
},
"additionalProperties": false
},
"MatterDto2": {
"type": "object",
"properties": {
"externalSystemId": {
"type": "string",
"description": "External system id for the matter.",
"nullable": true,
"example": "EXT01"
},
"number": {
"type": "string",
"description": "Human-friendly number assigned to matter.",
"nullable": true,
"example": "FUS-124"
},
"matterTypeId": {
"type": "string",
"description": "Unique identifier of the matter type associated with the matter.\r\n \r\nMatter types define what information can be saved to the matter, relevant to that area of law and state / location.\r\n \r\nA pre-configured list of matter types can be obtained via the 'GET /mattertypes' API.\r\n \r\n'Lead' matter types are different from the standard matter types used when creating a 'Matter'.\r\n \r\nUse the 'Type' query parameter in the 'GET /mattertypes' API call to get 'Lead' specific matter types.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"description": {
"type": "string",
"description": "Brief description of the matter.",
"nullable": true,
"example": "This is a brief description for the matter"
},
"status": {
"type": "string",
"description": "Current status of matter.\r\n\r\nPossible values: Open, Pending, Closed, Deleted or Cancelled.",
"nullable": true,
"example": "Open"
},
"dateOpened": {
"type": "string",
"description": "Date when the matter was opened. This can be backdated if required.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"openedDate": {
"type": "string",
"description": "Date the matter was opened. This can be backdated if required.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"closedDate": {
"type": "string",
"description": "Date the matter was closed. This can be backdated if required.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadOpenedDate": {
"type": "string",
"description": "Date the lead was opened. This can be backdated if required.\r\n\r\nOnly applies if isLead is true.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadClosedDate": {
"type": "string",
"description": "Date the lead was closed. This can be backdated if required.\r\n\r\nOnly applies if isLead is true.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"leadClosedReason": {
"type": "string",
"description": "Reason the lead was closed.\r\n\r\nOnly applies if isLead is true.",
"nullable": true,
"example": "No longer interested"
},
"referralType": {
"type": "string",
"description": "Referral Type of the matter.\r\n\r\nPossible values are different per region.",
"nullable": true,
"example": "Google"
},
"referrerId": {
"type": "string",
"description": "Contact id of the person that referred the matter.",
"nullable": true,
"example": "97bbe49f-6460-4bfc-b287-34ddfdbb81ef"
},
"referralAgreementFeeType": {
"type": "string",
"description": "The referral agreement fee type.\r\n\r\nPossible values: %, Flat fee, Other",
"nullable": true
},
"referralAgreementFee": {
"type": "number",
"description": "The referral agreement fee value.",
"format": "double",
"nullable": true
},
"referralAgreementFeeComment": {
"type": "string",
"description": "The referral agreement fee comment.",
"nullable": true
},
"personResponsibleStaffId": {
"type": "string",
"description": "Staff id of the person responsible for the matter (if applicable).",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"personAssistingStaffId": {
"type": "string",
"description": "Staff id of the person assisting in the matter (if applicable).",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"personAssistingStaffIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Staff ids of the other persons assisting in the matter (if applicable).",
"nullable": true,
"example": [
"c85d28cb-a760-4627-aa59-0a853c2e65ed"
]
},
"originatingStaffId": {
"type": "string",
"description": "Staff id of the originating attorney (if in US) or an Introducer (if in AU)",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"originatingStaffIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Staff ids of the other originating attorneys (if in US) or an Introducer (if in AU)\r\n\r\nRequired when SplitOriginatingStaffSettings is provided and enabled.\r\nThis field must be included when updating SplitOriginatingStaffSettings.",
"nullable": true,
"example": [
"c85d28cb-a760-4627-aa59-0a853c2e65ed"
]
},
"splitOriginatingStaffSettings": {
"allOf": [
{
"$ref": "#/components/schemas/SplitMatterStaffSettingsDto"
}
],
"description": "Settings for splitting originating staff members on a matter.\n\nWhen enabled, this allows distribution of originating staff responsibilities across multiple staff members\nusing either equal splits or custom ratios. The staff IDs specified in SplitMatterStaffs must exactly\nmatch the OriginatingStaffIds provided.\n\nOriginatingStaffIds must be included in the same request when updating these settings.\n\nValidation rules:\n- OriginatingStaffIds must be provided when this setting is enabled\n- Staff ratios must sum to 10000 (100%) when using UseRatio split method\n- RemainderStaffId must be one of the staff members in the SplitMatterStaffs collection\n- No duplicate staff members allowed",
"nullable": true
},
"supervisorStaffId": {
"type": "string",
"description": "Staff id of the supervisor of the matter.\r\n\r\nOnly supported in the UK.",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"clientCode": {
"type": "string",
"description": "Associates an external client code to this matter.\r\n\r\nOnly supported in AU and UK.",
"nullable": true,
"example": "Client A"
},
"branchId": {
"type": "string",
"description": "Unique identifier of the associated branch.",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"branchProviderId": {
"type": "string",
"description": "Unique identifier of the associated branch provider.",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"clientRole": {
"type": "string",
"description": "'Client' matter type representative option for the matter.\r\n\r\nRequired and only supported when converting a 'Lead' to 'Matter'.",
"nullable": true,
"example": "Buyer"
},
"isLead": {
"type": "boolean",
"description": "Optional boolean flag indicating if matter is a 'Lead'.\r\n \r\nThis must be set to 'false' when converting a 'Lead' to 'Matter'.",
"example": false
},
"clientIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of unique identifiers of 'Client' contacts associated with the matter.",
"nullable": true
},
"otherSideIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of unique identifiers of 'OtherSide' contacts associated with the matter.",
"nullable": true
},
"items": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterItemDto"
},
"nullable": true
},
"description": "Items associated with the matter.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterItemContactDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the contact.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
}
},
"additionalProperties": false
},
"MatterItemDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the matter item.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"contactId": {
"type": "string",
"description": "Unique identifier of the associated contact.\r\n\r\nOnly applicable for 'role' matter items.",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/MatterItemContactDto"
}
],
"description": "Associated contact.\r\n\r\nOnly applicable for 'role' matter items.",
"nullable": true
},
"roleDescription": {
"type": "string",
"description": "Displayed name for the matter item.\r\n \r\nOnly applicable for 'role' matter items.",
"nullable": true
},
"description": {
"type": "string",
"description": "Description for the matter item.\r\n \r\nOnly applicable for 'role' matter items.",
"nullable": true
},
"subItems": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterItemDto"
},
"nullable": true
},
"description": "SubItems associated with the matter item.\r\n\r\nNot applicable for matter sub items.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Matter"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"MatterRelationships": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "832e778f-83df-454a-b344-768a862a7e67"
},
"relationships": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Relationship"
},
"description": "List of associated relationships.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterRoles": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "832e778f-83df-454a-b344-768a862a7e67"
},
"matterId": {
"type": "string",
"description": "Matter id.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"roles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Role"
},
"description": "List of associated roles.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterTag": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the tag.",
"nullable": true,
"example": "a15086f5-4da7-4271-8fea-b24d479ced2b"
},
"type": {
"type": "string",
"description": "Tag type.",
"example": "Staff"
},
"name": {
"type": "string",
"description": "Name of the tag.",
"nullable": true,
"example": ""
},
"color": {
"type": "string",
"description": "Color associated with the tag.\n\nDefaults to 'Brown' if not specified.",
"nullable": true,
"example": "Light Blue"
},
"staff": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Link to staff.\n\nAvailable when `P:MatterManagement.Api.Shared.Resources.MatterTag.Type` is `F:MatterManagement.Api.Shared.Resources.MatterTagType.Staff`.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterTagCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterTag"
},
"nullable": true
}
},
"additionalProperties": false
},
"MatterTagDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the tag.\n\nWhen the tag Type is Staff, this value represents the staff member's ID.\n\nWhen GET tags, this value represents the tag's unique identifier after creation.\n\nNot required when posting standard custom tags.",
"nullable": true
},
"name": {
"type": "string",
"description": "Human-readable display name of the tag.\n\nAPI would know you are adding the same tag to multiple matters as long as they have the same Name.\n\nYou can put any string you like and you can re-use strings as they are stored and re-used per account.\n\nTheoretically an Id would be the same across matters for a custom tag.",
"nullable": true
},
"color": {
"type": "string",
"description": "Visual color associated with the tag.\n\nMust be one of the supported color values (the valid list is documented separately).\n\nIf not provided, the color will default to Brown.\n\nIf the tag already exists, this field will be ignored and the existing color will be retained.",
"nullable": true
},
"type": {
"type": "string",
"description": "Defines what kind of tag this is.\n\nAccepted values:\n\nStaff \u2013 The tag represents a firm staff member.\n\nCustom \u2013 The tag is a user-defined custom label.",
"example": "Staff"
}
},
"additionalProperties": false
},
"ReferralType": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Id of the referral type.",
"nullable": true
},
"name": {
"type": "string",
"description": "Name of the referral type.",
"nullable": true
},
"isDeleted": {
"type": "boolean",
"description": "Flag indicating whether the referral type has been deleted."
}
},
"additionalProperties": false
},
"ReferralTypeCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReferralType"
},
"nullable": true
}
},
"additionalProperties": false
},
"Relationship": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the relationship.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"name": {
"type": "string",
"description": "Name of the relationship.",
"nullable": true,
"example": "Solicitor"
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the associated contact.",
"nullable": true
},
"representatives": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "List of hypermedia links of the associated representatives.",
"nullable": true
}
},
"additionalProperties": false
},
"RelationshipDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the relationship.",
"nullable": true,
"example": "Provider"
},
"displayName": {
"type": "string",
"description": "Display Name of the relationship.",
"nullable": true,
"example": "Medical Provider"
},
"contactId": {
"type": "string",
"description": "Unique identifier of the contact.",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"representativeIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of associated representative contact ids.",
"nullable": true,
"example": [
"776e778f-83df-454a-b344-768a862a7e67"
]
},
"isMatterItemRequired": {
"type": "boolean",
"description": "Boolean flag indicating if a matter item is required."
}
},
"additionalProperties": false
},
"Role": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the role.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"name": {
"type": "string",
"description": "Name of the role.",
"nullable": true,
"example": "Client"
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Hypermedia link of the associated contact.",
"nullable": true
},
"roleDescription": {
"type": "string",
"description": "Name of the role (user editable).",
"nullable": true,
"example": "Head Honcho"
},
"description": {
"type": "string",
"description": "Description of the role.",
"nullable": true,
"example": "The person for whom I am working"
},
"representatives": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "List of hypermedia links of the associated representatives.",
"nullable": true
},
"relationships": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Relationship"
},
"description": "List of associated relationships.",
"nullable": true
},
"isClient": {
"type": "boolean",
"description": "Boolean flag indicating if role belongs to a 'Client'.",
"example": false
},
"isOtherSide": {
"type": "boolean",
"description": "Boolean flag indicating if role belongs to an 'OtherSide'.",
"example": false
}
},
"additionalProperties": false
},
"RoleDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the role.",
"nullable": true,
"example": "Provider"
},
"displayName": {
"type": "string",
"description": "Display Name of the role.",
"nullable": true,
"example": "Medical Provider"
},
"description": {
"type": "string",
"description": "Description of the role.",
"nullable": true,
"example": "Client"
},
"contactId": {
"type": "string",
"description": "Unique identifier of the contact.",
"nullable": true,
"example": "c85d28cb-a760-4627-aa59-0a853c2e65ed"
},
"representativeIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of associated representative contact ids.",
"nullable": true,
"example": [
"776e778f-83df-454a-b344-768a862a7e67"
]
},
"isMatterItemRequired": {
"type": "boolean",
"description": "Boolean flag indicating if matter item is required."
},
"relationships": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RelationshipDto"
},
"description": "List if relationships associated with the role.",
"nullable": true
}
},
"additionalProperties": false
},
"SplitMatterStaff": {
"type": "object",
"properties": {
"matterStaffId": {
"type": "string",
"description": "The unique identifier for the split matter staff.",
"nullable": true
},
"matterStaffRatio": {
"type": "integer",
"description": "The split ratio for the matter staff.",
"format": "int64"
}
},
"additionalProperties": false
},
"SplitMatterStaffDto": {
"type": "object",
"properties": {
"matterStaffId": {
"type": "string",
"description": "The unique identifier for the split matter staff.",
"nullable": true
},
"matterStaffRatio": {
"type": "integer",
"description": "The split ratio for the matter staff.",
"format": "int64"
}
},
"additionalProperties": false
},
"SplitMatterStaffSettings": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean",
"description": "Indicates whether the split matter staff settings are enabled or not."
},
"splitMatterStaffs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SplitMatterStaff"
},
"description": "List of staff members involved in the split matter settings.",
"nullable": true
},
"splitMethod": {
"type": "string",
"description": "Method used to split the matter staff.\r\n\r\nPossible values: Unknown, SplitEvenly, UseRatio.",
"nullable": true
},
"remainderStaffId": {
"type": "string",
"description": "The unique identifier for the staff member who will handle the remainder of the matter after the split.",
"nullable": true
}
},
"additionalProperties": false
},
"SplitMatterStaffSettingsDto": {
"type": "object",
"properties": {
"isEnabled": {
"type": "boolean",
"description": "Indicates whether the split matter staff settings are enabled or not."
},
"splitMatterStaffs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SplitMatterStaffDto"
},
"description": "List of staff members involved in the split matter settings.",
"nullable": true
},
"splitMethod": {
"type": "string",
"description": "Method used to split the matter staff.\r\n\r\nPossible values: Unknown, SplitEvenly, UseRatio.",
"nullable": true
},
"remainderStaffId": {
"type": "string",
"description": "The unique identifier for the staff member who will handle the remainder of the matter after the split.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterListItem": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique provider-specific identifier of the item.",
"nullable": true,
"example": "Plaintiff"
},
"providerId": {
"type": "string",
"description": "Provider name of the item.",
"nullable": true,
"example": "roles_provider"
},
"itemId": {
"type": "string",
"description": "Unique identifier of the item.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"name": {
"type": "string",
"description": "Name of the item.",
"nullable": true,
"example": "Claimant"
},
"subItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterListItem"
},
"description": "List of sub items belonging to the item.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterType": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the matter type.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "832e778f-83df-454a-b344-768a862a7e67"
},
"name": {
"type": "string",
"description": "Name of the matter type.",
"nullable": true,
"example": "Federal Litigation"
},
"category": {
"type": "string",
"description": "Name of the category to which the matter type belongs.",
"nullable": true,
"example": "Litigation"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/TypeCategory"
}
],
"description": "Name of the category type to which the matter type belongs (i.e. MatterType or LeadType).\r\n \r\nPossible values: Matter Type = 0, Lead Type = 1.",
"example": 0
},
"representativeOptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of possible representative types for the matter type.",
"nullable": true,
"example": [
"Applicant",
"Respondent"
]
},
"location": {
"type": "string",
"description": "State to which the matter type belongs.",
"nullable": true,
"example": "Litigation"
},
"isDeleted": {
"type": "boolean",
"description": "Returns true if the matter type is deleted.\r\n\r\nDeleted matter types cannot be used when creating new leads/matters."
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterListItem"
},
"nullable": true
}
},
"additionalProperties": false
},
"MatterTypeInfo": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the matter type.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "832e778f-83df-454a-b344-768a862a7e67"
},
"name": {
"type": "string",
"description": "Name of the matter type.",
"nullable": true,
"example": "Federal Litigation"
},
"category": {
"type": "string",
"description": "Name of the category to which the matter type belongs.",
"nullable": true,
"example": "Litigation"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/TypeCategory"
}
],
"description": "Name of the category type to which the matter type belongs (i.e. MatterType or LeadType).\r\n \r\nPossible values: Matter Type = 0, Lead Type = 1.",
"example": 0
},
"representativeOptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of possible representative types for the matter type.",
"nullable": true,
"example": [
"Applicant",
"Respondent"
]
},
"location": {
"type": "string",
"description": "State to which the matter type belongs.",
"nullable": true,
"example": "Litigation"
},
"isDeleted": {
"type": "boolean",
"description": "Returns true if the matter type is deleted.\r\n\r\nDeleted matter types cannot be used when creating new leads/matters."
}
},
"additionalProperties": false
},
"MatterTypeInfoPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterTypeInfo"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"StringCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
}
},
"additionalProperties": false
},
"TypeCategory": {
"enum": [
0,
1
],
"type": "integer",
"description": "Name of the category type to which the matter type belongs (i.e. MatterType or LeadType).\r\n \r\nPossible values: Matter Type = 0, Lead Type = 1.",
"format": "int32"
},
"Memo": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "The unique identifier of the memo.",
"nullable": true,
"example": "009f778f-83df-454a-b344-768a862a7e55"
},
"matterId": {
"type": "string",
"description": "The unique identifier of the matter.",
"nullable": true,
"example": "776e778f-83df-454a-b344-768a862a6e58"
},
"title": {
"type": "string",
"description": "The title of the memo.",
"nullable": true,
"example": "Update"
},
"text": {
"type": "string",
"description": "The text (content) of the memo.\r\n \r\nIn RTF (Rich Text Format).",
"nullable": true,
"example": "{\\\\rtf1\\\\ansi\\\\ansicpg1252\\\\uc1\\\\htmautsp\\\\deff2{\\\\fonttbl{\\\\f0\\\\fcharset0 Times New Roman;}{\\\\f2\\\\fcharset0 Calibri;}}{\\\\colortbl\\\\red0\\\\green0\\\\blue0;\\\\red255\\\\green255\\\\blue255;}\\\\loch\\\\hich\\\\dbch\\\\pard\\\\plain\\\\ltrpar\\\\itap0{\\\\lang1033\\\\fs18\\\\f2\\\\cf0 \\\\cf0\\\\ql{\\\\f2 {\\\\ltrch There has been a recent update on this matter.}\\\\li0\\\\ri0\\\\sa0\\\\sb0\\\\fi0\\\\ql\\\\sl15\\\\slmult0\\\\par}\\r\\n}\\r\\n}"
},
"plainText": {
"type": "string",
"description": "The plain text (content) of the memo.",
"nullable": true,
"example": "There has been a recent update on this matter."
},
"createdDate": {
"type": "string",
"description": "Date the memo was created.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"createdByUserId": {
"type": "string",
"description": "The unique identifier of the user who created the memo.",
"nullable": true,
"example": "010f7d8e-82d1-454b-c324-760a862a7e22"
},
"lastUpdated": {
"type": "string",
"description": "Date and time that the memo was last updated.",
"format": "date-time",
"nullable": true,
"example": "2022-05-02T16:22:02Z"
},
"updatedByUserId": {
"type": "string",
"description": "The unique identifier of the user who last updated the memo.",
"nullable": true,
"example": "010f7d8e-82d1-454b-c324-760a862a7e22"
},
"isDeleted": {
"type": "boolean",
"description": "Indicates whether or not the memo is deleted (true if it is, false if not)."
}
},
"additionalProperties": false
},
"MemoDto": {
"required": [
"text",
"title"
],
"type": "object",
"properties": {
"title": {
"minLength": 1,
"type": "string",
"description": "The title of the memo.",
"example": "Update"
},
"text": {
"type": "string",
"description": "The text (content) of the memo.\r\n \r\nSupports plain-text and RTF.",
"example": "There has been a recent update on this matter."
},
"userId": {
"type": "string",
"description": "Unique identifier of the user.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"createdDateUtc": {
"type": "string",
"description": "Date that the memo was created.\r\n\r\nWill default to the current date and time, if not supplied.",
"format": "date-time",
"nullable": true,
"example": "2022-07-01"
}
},
"additionalProperties": false
},
"MemoPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Memo"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"Notification": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the notification.",
"nullable": true,
"example": "e2fd015b-8a60-42be-9ea4-b2ef7aa0289b"
},
"createdByUserId": {
"type": "string",
"description": "The user that created this notification.",
"nullable": true,
"example": "db0b4298-67ef-4638-a92a-5bb830ea6af6"
},
"createdDate": {
"type": "string",
"description": "Staff id to notify.",
"nullable": true,
"example": "\"832e778f-83df-454a-b344-768a862a7e67\""
},
"icon": {
"type": "string",
"description": "The icon to display for the notification.",
"nullable": true,
"example": ""
},
"iconColor": {
"type": "string",
"description": "The icon hex color to display for the notification.",
"nullable": true,
"example": "#25C9A4"
},
"message": {
"type": "string",
"description": "The message to display for the notification.",
"nullable": true,
"example": "[@staffId] has **assigned** you a Task."
},
"toastyIcon": {
"type": "string",
"description": "The icon to display for the toast notification.",
"nullable": true
},
"toastyMessage": {
"type": "string",
"description": "The message to display for the message.",
"nullable": true
},
"isRead": {
"type": "boolean",
"description": "True if the notification has been forcefully read by the user.\r\n \r\nThis is different to the property - which is not forceful.",
"example": false
},
"hasBeenSeen": {
"type": "boolean",
"description": "True if the notification was \"seen\" by the user.\r\n\r\nThis is different to the forceful \"read\" state.",
"example": false
},
"creationTimestamp": {
"type": "string",
"description": "The time the notification was created.",
"format": "date-time"
},
"updatedDate": {
"type": "string",
"description": "The last time the notification was modified (marked as read, deleted etc).",
"format": "date-time",
"example": "2020-02-15T00:00:00Z"
},
"isDeleted": {
"type": "boolean",
"description": "True if the notification has been deleted.",
"example": false
}
},
"additionalProperties": false
},
"NotificationDto": {
"type": "object",
"properties": {
"staffId": {
"type": "string",
"description": "Staff id to notify.",
"nullable": true,
"example": "832e778f-83df-454a-b344-768a862a7e67"
},
"icon": {
"type": "string",
"description": "The icon to display for the notification.\r\n\r\nWill be validated against the Smokeball icon sets.",
"nullable": true,
"example": ""
},
"iconColor": {
"type": "string",
"description": "The icon hex color to display for the notification.",
"nullable": true,
"example": "#25C9A4"
},
"message": {
"type": "string",
"description": "The message to display for the notification.\r\n\r\nSupports basic markdown syntax, such as: ** bold **, -- italic --\r\n \r\nSupports basic UI markdown syntax for staff member id, such as [@staffId]",
"nullable": true,
"example": "[@staffId] has **assigned** you a Task."
},
"toastyIcon": {
"type": "string",
"description": "The toast notification icon to display for the notification.",
"nullable": true
},
"toastyMessage": {
"type": "string",
"description": "The toast notification message to display for the notification.",
"nullable": true
},
"actionUri": {
"type": "string",
"description": "The Smokeball uri to execute when the notification is clicked.",
"nullable": true
}
},
"additionalProperties": false
},
"Plugin": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"externalId": {
"type": "string",
"description": "Optional id provided by the external system that owns this plugin.",
"nullable": true
},
"application": {
"allOf": [
{
"$ref": "#/components/schemas/PluginApplication"
}
],
"description": "The application that the plugin should be rendered in."
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/PluginType"
}
],
"description": "The type of component the plugin should represent."
},
"version": {
"allOf": [
{
"$ref": "#/components/schemas/PluginVersion"
}
],
"description": "Current version of the plugin.",
"nullable": true
},
"lastUpdated": {
"type": "integer",
"description": "Last updated timestamp.",
"format": "int64",
"example": 637847425252027400
},
"createdDate": {
"type": "string",
"description": "Plugin created date in UTC.",
"format": "date-time",
"example": "2020-02-15T00:00:00Z"
},
"lastUpdatedDate": {
"type": "string",
"description": "Plugin last updated date in UTC.",
"format": "date-time",
"example": "2020-02-15T00:00:00Z"
},
"key": {
"type": "string",
"description": "Signing key of the plugin to verify integrity of requesting secure URLs.",
"nullable": true
},
"additionalData": {
"type": "object",
"additionalProperties": {},
"description": "Collection of plugin meta data as KeyValuePair(string, object).",
"nullable": true
}
},
"additionalProperties": false
},
"PluginApplication": {
"enum": [
"Native",
"Web",
"Archie"
],
"type": "string",
"description": "The application that the plugin should be rendered in."
},
"PluginAttributes": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The text to be rendered on the plugin component (where applicable).",
"nullable": true
},
"icon": {
"type": "string",
"description": "The Icon to be rendered on the plugin component (where applicable).\r\nRefer to documentation for a full list of icons.",
"nullable": true
},
"color": {
"type": "string",
"description": "The hex color code to be rendered on the plugin component (where applicable).",
"nullable": true
},
"tooltip": {
"type": "string",
"description": "Optional: The tooltip to display on component hover (where applicable).",
"nullable": true
},
"page": {
"allOf": [
{
"$ref": "#/components/schemas/PluginPage"
}
],
"description": "Page attributes for the plugin (where applicable).",
"nullable": true
}
},
"additionalProperties": false
},
"PluginAvailability": {
"type": "object",
"properties": {
"matterTypeIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional matter types applicable for the plugin.\r\n\r\nPlugin is applicable for all matter types if this is left empty.",
"nullable": true
}
},
"additionalProperties": false
},
"PluginDto": {
"type": "object",
"properties": {
"externalId": {
"type": "string",
"description": "Optional id provided by the external system that owns this plugin.",
"nullable": true
},
"application": {
"allOf": [
{
"$ref": "#/components/schemas/PluginApplication"
}
],
"description": "The application that the plugin should be rendered in."
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/PluginType"
}
],
"description": "The type of component the plugin should represent."
},
"version": {
"allOf": [
{
"$ref": "#/components/schemas/PluginVersionDto"
}
],
"description": "Current version of the plugin.",
"nullable": true
},
"key": {
"type": "string",
"description": "Signing key of the plugin to verify integrity of requesting secure URLs.\r\nOnly available to set on Plugin creation.",
"nullable": true
},
"additionalData": {
"type": "object",
"additionalProperties": {},
"description": "Collection of KeyValuePair(string, object) to update Plugin meta data.",
"nullable": true
}
},
"additionalProperties": false
},
"PluginPage": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Optional: The title of the page rendered by the plugin (where applicable).\r\nIf not specified, the name of the plugin will be used.",
"nullable": true
},
"width": {
"type": "integer",
"description": "Optional: The width of the page rendered by the plugin (where applicable).\r\nIf not specified, a default width will be used.",
"format": "int32"
},
"height": {
"type": "integer",
"description": "Optional: The height of the page rendered by the plugin (where applicable).\r\nIf not specified, a default width will be used.",
"format": "int32"
},
"useDefaultBrowser": {
"type": "boolean",
"description": "Optional: Override browser behavior.\r\nWhen true, loads the endpoint in the internal browser (where applicable)."
}
},
"additionalProperties": false
},
"PluginPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Plugin"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"PluginSubscription": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the subscription.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"pluginId": {
"type": "string",
"description": "Unique identifier of the plugin.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"pluginVersionId": {
"type": "string",
"description": "Unique identifier of the plugin version. Can be null.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"createdDate": {
"type": "string",
"description": "Plugin subscription created date in UTC.",
"format": "date-time",
"example": "2020-02-15T00:00:00Z"
},
"lastUpdatedDate": {
"type": "string",
"description": "Plugin subscription last updated date in UTC.",
"format": "date-time",
"example": "2020-02-15T00:00:00Z"
},
"isDisabled": {
"type": "boolean",
"description": "True when the subscription is disabled (the plugin will not function for the user)."
}
},
"additionalProperties": false
},
"PluginSubscriptionPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PluginSubscription"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"PluginType": {
"enum": [
"Button",
"Tab"
],
"type": "string",
"description": "The type of component the plugin should represent."
},
"PluginUrlRequestDto": {
"type": "object",
"properties": {
"matterId": {
"type": "string",
"description": "The matter id associated with the request, if applicable.",
"nullable": true,
"example": "0c5a2296-9e02-4c58-bd14-b7467d4c9bcb"
},
"additionalData": {
"type": "object",
"additionalProperties": {},
"description": "Additional key/value pairs to pass to the plugin endpoint.\r\nReserved keys (AccountId, UserId, UserEmail, MatterId) will be rejected.",
"nullable": true
}
},
"additionalProperties": false
},
"PluginVersion": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the plugin version.",
"nullable": true
},
"pluginId": {
"type": "string",
"description": "The plugin id this version is associated to.",
"nullable": true
},
"versionNumber": {
"type": "integer",
"description": "The associated version number.",
"format": "int32"
},
"name": {
"type": "string",
"description": "The name of the plugin.",
"nullable": true
},
"description": {
"type": "string",
"description": "A description of the plugin.",
"nullable": true
},
"placement": {
"type": "string",
"description": "A placement key representing where the plugin should be rendered in the UI.\r\nPlacement key must correspond to the type of the plugin.\r\nRefer to documentation for valid placement keys.",
"nullable": true
},
"requestEndpointUrl": {
"type": "string",
"description": "The url that is called to request the plugin endpoint.\r\n\r\nWhen a user views a plugin, we request the url to view securely through your backend.\r\n\r\nMatter and user information is passed to the endpoint through POST body, and the endpoint is expected to return a JSON object containing a url field.\r\nThe plugin will then load the URL and display it to the user.",
"nullable": true
},
"attributes": {
"allOf": [
{
"$ref": "#/components/schemas/PluginAttributes"
}
],
"description": "Visual attributes associated to this plugin.",
"nullable": true
},
"availability": {
"allOf": [
{
"$ref": "#/components/schemas/PluginAvailability"
}
],
"description": "Optional: Settings for determining the availability of a plugin.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "Plugin version created date in UTC",
"format": "date-time",
"example": "2020-02-15T00:00:00Z"
},
"lastUpdatedDate": {
"type": "string",
"description": "Plugin version last updated date in UTC",
"format": "date-time",
"example": "2020-02-15T00:00:00Z"
}
},
"additionalProperties": false
},
"PluginVersionDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the plugin.",
"nullable": true
},
"description": {
"type": "string",
"description": "A description of the plugin.",
"nullable": true
},
"placement": {
"type": "string",
"description": "A placement key representing where the plugin should be rendered in the UI.\r\n\r\nPlacement key must correspond to the type of the plugin.\r\n\r\nRefer to documentation for valid placement keys.",
"nullable": true
},
"requestEndpointUrl": {
"type": "string",
"description": "The url that is called to request the plugin endpoint.\r\n\r\nWhen a user views a plugin, we request the url to view securely through your backend.\r\n\r\nMatter and user information is passed to the endpoint through POST body, and the endpoint is expected to return a JSON object containing a url field.\r\nThe plugin will then load the URL and display it to the user.",
"nullable": true
},
"attributes": {
"allOf": [
{
"$ref": "#/components/schemas/PluginAttributes"
}
],
"description": "Visual attributes associated to this plugin.",
"nullable": true
},
"availability": {
"allOf": [
{
"$ref": "#/components/schemas/PluginAvailability"
}
],
"description": "Optional settings for determining the availability of a plugin.",
"nullable": true
}
},
"additionalProperties": false
},
"PatchPortalTaskDto": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"description": "The optional external user identifier of the external system.",
"nullable": true
},
"title": {
"type": "string",
"description": "The title of the task to be displayed in the UI.",
"nullable": true,
"example": "Sign: Verification of Identity"
},
"url": {
"type": "string",
"description": "The URL that will be displayed within the task content.",
"nullable": true,
"example": "http://www.yourwebsite.com"
},
"actionText": {
"type": "string",
"description": "Optional action text, a single word to describe the action the task relates to. \r\n\r\nDefaults to \"Complete\", but other examples could be \"Sign\" or \"Review\".",
"nullable": true,
"example": "Complete"
},
"cancelled": {
"type": "boolean",
"description": "Whether the task is Cancelled",
"nullable": true,
"example": true
},
"cancelledText": {
"type": "string",
"description": "Optional cancelled text, used on the task cancelled screen if provided.",
"nullable": true,
"example": "Signing Cancelled!"
},
"cancelledUrl": {
"type": "string",
"description": "Optional cancelled URL, which is a URL that is loaded in the task content body instead of the default cancelled screen if provided.\r\n\r\nThis option overrides CancelledText if provided.",
"nullable": true,
"example": "http://www.yourwebsite.com"
},
"completed": {
"type": "boolean",
"description": "Whether the task is Completed",
"nullable": true,
"example": true
},
"completedText": {
"type": "string",
"description": "Optional completed text, used on the task success screen if provided.",
"nullable": true,
"example": "Signing Complete!"
},
"completedUrl": {
"type": "string",
"description": "Optional completed URL, which is a URL that is loaded in the task content body instead of the default success screen if provided.\r\n\r\nThis option overrides CompletedText if provided.",
"nullable": true,
"example": "http://www.yourwebsite.com"
},
"expired": {
"type": "boolean",
"description": "Whether the task is Expired",
"nullable": true,
"example": true
},
"expiredText": {
"type": "string",
"description": "Optional expired text, used on the task expired screen if provided.",
"nullable": true,
"example": "Signing Expired!"
},
"expiredUrl": {
"type": "string",
"description": "Optional expired URL, which is a URL that is loaded in the task content body instead of the default expired screen if provided.\r\n\r\nThis option overrides ExpiredText if provided.",
"nullable": true,
"example": "http://www.yourwebsite.com"
}
},
"additionalProperties": false
},
"PortalMessageDto": {
"required": [
"message"
],
"type": "object",
"properties": {
"contactId": {
"type": "string",
"description": "Unique identifier of the contact.",
"format": "uuid",
"example": "93421c6f-40bd-465d-bb95-3b3b5e200e30"
},
"message": {
"minLength": 1,
"type": "string"
},
"requireMFA": {
"type": "boolean",
"description": "Whether MFA is required before showing the message content.",
"example": true
}
},
"additionalProperties": false
},
"PortalTaskDto": {
"required": [
"externalUserId",
"title",
"url"
],
"type": "object",
"properties": {
"contactId": {
"type": "string",
"description": "Unique identifier of the contact.",
"format": "uuid",
"nullable": true,
"example": "93421c6f-40bd-465d-bb95-3b3b5e200e30"
},
"email": {
"type": "string",
"description": "Email address of the contact. If provided, this takes precedence over ContactId.",
"nullable": true,
"example": "contact@example.com"
},
"externalUserId": {
"minLength": 1,
"type": "string",
"description": "The optional external user identifier of the external system."
},
"title": {
"minLength": 1,
"type": "string",
"description": "The title of the task to be displayed in the UI.",
"example": "Sign: Verification of Identity"
},
"url": {
"minLength": 1,
"type": "string",
"description": "The URL that will be displayed within the task content.",
"example": "http://www.yourwebsite.com"
},
"requireMFA": {
"type": "boolean",
"description": "Whether MFA is required before showing the task content."
},
"optional": {
"type": "boolean",
"description": "Whether the task is \"Required\" or \"Optional\".\r\n\r\nOptional tasks appear in a separate section in the UI."
},
"actionText": {
"type": "string",
"description": "Optional action text, a single word to describe the action the task relates to. \r\n\r\nDefaults to \"Complete\", but other examples could be \"Sign\" or \"Review\".",
"nullable": true,
"example": "Complete"
},
"completedText": {
"type": "string",
"description": "Optional completed text, used on the task success screen if provided.",
"nullable": true,
"example": "Signing Complete!"
},
"completedUrl": {
"type": "string",
"description": "Optional completed URL, which is a URL that is loaded in the task content body instead of the default success screen if provided.\r\n\r\nThis option overrides CompletedText if provided.",
"nullable": true,
"example": "http://www.yourwebsite.com"
}
},
"additionalProperties": false
},
"FileSearchFilters": {
"type": "object",
"properties": {
"searchFields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Which file fields to match the search query against. Allowed values: `Name`, `Content`.\r\nOmit the property (or pass an empty array) to default to both.",
"nullable": true,
"example": [
"Name",
"Content"
]
},
"includeFileExtensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "File extensions to include in the results (e.g. `pdf`, `docx`). When empty or null, all extensions are allowed.",
"nullable": true,
"example": [
"pdf",
"docx"
]
},
"excludeFileExtensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "File extensions to exclude from the results. Applied after IncludeFileExtensions.",
"nullable": true,
"example": [
"tmp",
"bak"
]
},
"authorIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "User identifiers of file authors to filter by. Results match files authored by any of the supplied users.",
"nullable": true,
"example": [
"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
]
},
"contactIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Contact identifiers to filter by. Results match files associated with any of the supplied contacts.",
"nullable": true,
"example": [
"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
]
}
},
"additionalProperties": false
},
"FileSearchRequest": {
"required": [
"query"
],
"type": "object",
"properties": {
"query": {
"minLength": 1,
"type": "string",
"description": "Full-text search expression. Required and non-empty.",
"example": "contract"
},
"filters": {
"allOf": [
{
"$ref": "#/components/schemas/FileSearchFilters"
}
],
"description": "Filters narrowing the search to specific extensions, date ranges, authors, contacts, and which fields to match against.",
"nullable": true
}
},
"additionalProperties": false
},
"MatterStage": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "da4e7fd1-5394-4ca9-b1c6-e18c4e2bf262"
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Matter in which this mapping is associated to.",
"nullable": true
},
"stageSet": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Current stage set of the matter.",
"nullable": true
},
"stage": {
"allOf": [
{
"$ref": "#/components/schemas/Stage"
}
],
"description": "Current stage of the matter.",
"nullable": true
},
"lastUpdated": {
"type": "integer",
"description": "Timestamp when the matter stage was last updated.",
"format": "int64",
"example": 637847425252027400
}
},
"additionalProperties": false,
"description": "Contains the current stage of the matter."
},
"MatterStagePagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MatterStage"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"Stage": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the stage.",
"nullable": true,
"example": "45b94df1-1657-48b0-ae81-583b42ed52d6"
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "09d1f360-b810-4a63-acaa-5ed81a551f06"
},
"name": {
"type": "string",
"description": "Name of the stage.",
"nullable": true,
"example": "Review contract"
},
"isDeleted": {
"type": "boolean",
"description": "True when the stage is deleted.",
"example": true
},
"lastUpdated": {
"type": "integer",
"description": "Timestamp when the stage was last updated.",
"format": "int64",
"example": 637847425252027400
}
},
"additionalProperties": false,
"description": "Contains information of a stage in a stage set."
},
"StageSet": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the stage set.",
"nullable": true,
"example": "6ccc033d-67c9-4090-8705-3aff0c5a8cfb"
},
"versionId": {
"type": "string",
"description": "Version id of the record.",
"nullable": true,
"example": "499244ff-651f-4f66-b618-9defde27c281"
},
"name": {
"type": "string",
"description": "Name of the stage set.",
"nullable": true,
"example": "Review contract"
},
"isDeleted": {
"type": "boolean",
"description": "True when the stage set is deleted.",
"example": true
},
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Stage"
},
"description": "Stages of the stage set.",
"nullable": true
},
"lastUpdated": {
"type": "integer",
"description": "Timestamp when the stage set was last updated.",
"format": "int64",
"example": 637847425252027400
}
},
"additionalProperties": false,
"description": "Contains the stage set and stages information."
},
"StageSetPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StageSet"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"AddOn": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the add-on.",
"format": "uuid",
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"smokeballId": {
"type": "string",
"description": "Unique Smokeball identifier of the add-on. \r\n\r\nThis identifier convenience purposes only and should not be used to interact with the subscriptions API.",
"nullable": true
},
"productSuite": {
"type": "string",
"description": "The product suite that this add-on belongs to.",
"nullable": true
},
"name": {
"type": "string",
"description": "The display name of the add-on.",
"nullable": true,
"example": "Intake"
},
"description": {
"type": "string",
"description": "The description of the add-on.\r\n\r\nCan be used to describe the add-on to a customer.",
"nullable": true
},
"trialPeriodDays": {
"type": "integer",
"description": "The number of days the add-on can be trialed for.\r\n\r\nCannot be trialed if zero or missing.",
"format": "int32",
"nullable": true
},
"prices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Price"
},
"description": "The price options for the add-on.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "The created date of the add-on.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"updatedDate": {
"type": "string",
"description": "The updated date of the add-on.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
}
},
"additionalProperties": false
},
"AddOnCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AddOn"
},
"nullable": true
}
},
"additionalProperties": false
},
"AddPaymentMethodRequest": {
"type": "object",
"properties": {
"paymentSystemId": {
"type": "string",
"description": "Payment system to use.",
"nullable": true,
"example": "STRIPE"
},
"paymentInformation": {
"allOf": [
{
"$ref": "#/components/schemas/PaymentInformation"
}
],
"description": "Payment information specific to the payment system.\r\n\r\nFor Stripe, this should be StripePaymentInformation.",
"nullable": true
},
"isDefault": {
"type": "boolean",
"description": "Whether to set this as the default payment method for the entire account \r\n\r\nThis does not set the default payment method for the subscription.",
"nullable": true,
"example": true
},
"chargeImmediately": {
"type": "boolean",
"description": "Whether to charge immediately if subscription(s) are overdue.\r\n\r\nIf true, the payment system will attempt to charge the customer immediately if there are any overdue subscriptions.\r\n\r\nIf a subscription id is passed as a parameter to the request, only that subscription will be charged immediately if overdue.",
"nullable": true,
"example": true
}
},
"additionalProperties": false
},
"CancelSubscriptionRequest": {
"type": "object",
"properties": {
"cancellationType": {
"type": "string",
"description": "The subscription cancellation type.\r\n\r\n* None - No cancellation type has been set.\r\n\r\n* PeriodEnd - Cancel subscription at the end of the billing cycle.\r\n\r\n* Immediate - Cancel subscription immediately.\r\n\r\n* Date - Cancel at specified date - see 'CancelAt'."
},
"cancelAt": {
"type": "string",
"description": "Optional date used to cancel at the supplied date. Will only be used if CancellationType is set to 'Date'.\r\n\r\nIf set to a date before the current period ends, this will cause a proration if prorations have been enabled.\r\n\r\nIf set during a future period, this will always cause a proration for that period.",
"format": "date-time",
"nullable": true
},
"cancelSubscription": {
"type": "boolean",
"description": "Optional flag to force cancellation of the subscription instead of applying default cancellation behaviour.",
"nullable": true
},
"reason": {
"type": "string",
"description": "Optional reason for cancellation of the subscription.",
"nullable": true
},
"preview": {
"type": "boolean",
"description": "Optional flag to preview cancellation request. \r\n\r\nIf 'true', the Subscription is not cancelled and the CancellationType and CancellationDate are returned.",
"example": true
}
},
"additionalProperties": false
},
"CancelUsageChargeRequest": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"CancellationResponse": {
"type": "object",
"properties": {
"preview": {
"type": "boolean",
"description": "True if this is a cancellation preview."
},
"cancellationType": {
"type": "string",
"description": "The subscription cancellation type.\r\n\r\n* None - No cancellation type has been set.\r\n\r\n* PeriodEnd - Cancel subscription at the end of the billing cycle.\r\n\r\n* Immediate - Cancel subscription immediately.\r\n\r\n* Date - Cancel at specified date - see 'CancelAt'."
},
"cancellationBehaviour": {
"type": "string",
"description": "The subscription cancellation behaviour.\r\n\r\n* Cancel - Standard behaviour. The subscription will be canceled as normal.\r\n\r\n* CancelTrials - Any trials applied to the subscription will be canceled."
},
"cancelAt": {
"type": "string",
"description": "The date the subscription will be cancelled.",
"format": "date-time",
"nullable": true
},
"reason": {
"type": "string",
"description": "The reason for cancellation.",
"nullable": true
},
"tier": {
"allOf": [
{
"$ref": "#/components/schemas/Tier"
}
],
"description": "The tier that will be set at the as a result of the cancellation.",
"nullable": true
},
"addOns": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AddOn"
},
"description": "The add-ons that will be set at the as a result of the cancellation.",
"nullable": true
}
},
"additionalProperties": false
},
"Charge": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the usage charge.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"externalId": {
"type": "string",
"description": "The external usage charge id.",
"nullable": true
},
"externalAdjustmentId": {
"type": "string",
"description": "The external adjustment id created when the usage charge is canceled.",
"nullable": true
},
"expenseId": {
"type": "string",
"description": "The Billing expense id created for the usage charge.",
"nullable": true
},
"subscriptionId": {
"type": "string",
"description": "The subscription id.",
"nullable": true
},
"accountId": {
"type": "string",
"description": "The Smokeball firm id.",
"nullable": true
},
"userId": {
"type": "string",
"description": "The user id that created the usage charge.",
"nullable": true
},
"productId": {
"type": "string",
"description": "The product id.",
"nullable": true
},
"priceId": {
"type": "string",
"description": "The internal price id.",
"nullable": true
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Caller-supplied metadata associated with the charge.",
"nullable": true
},
"matterId": {
"type": "string",
"description": "The matter id associated with the usage charge.",
"nullable": true
},
"description": {
"type": "string",
"description": "The description associated with the usage charge.",
"nullable": true
},
"supplierTransactionId": {
"type": "string",
"description": "The supplier transaction id associated with the usage charge.",
"nullable": true
},
"supplierTransactionAmount": {
"type": "number",
"description": "The supplier transaction amount associated with the usage charge.",
"format": "double",
"nullable": true
},
"amount": {
"type": "number",
"description": "The total customer billing amount for the usage charge, in dollars.",
"format": "double",
"nullable": true
},
"quantity": {
"type": "integer",
"description": "The usage quantity recorded for the charge.",
"format": "int64",
"example": 1
},
"status": {
"type": "string",
"description": "The usage charge status.\r\n\r\n* Pending\r\n\r\n* Succeeded\r\n\r\n* Failed\r\n\r\n* Canceled\r\n\r\n* Refunded"
},
"failureReason": {
"type": "string",
"description": "The reason the usage charge failed.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "The created date of the usage charge.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"updatedDate": {
"type": "string",
"description": "The updated date of the usage charge.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"occurredDate": {
"type": "string",
"description": "The date the usage occurred.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
}
},
"additionalProperties": false
},
"ChargePagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Charge"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"CreateUsageChargeRequest": {
"required": [
"priceId"
],
"type": "object",
"properties": {
"priceId": {
"type": "string",
"description": "The price to charge for this usage product.",
"format": "uuid"
},
"matterId": {
"type": "string",
"description": "The matter id associated with the usage charge.",
"nullable": true
},
"description": {
"type": "string",
"description": "The description associated with the usage charge.",
"nullable": true
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Optional metadata associated with the usage charge.",
"nullable": true
}
},
"additionalProperties": false
},
"InvoiceDownloadUrl": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "A URL to a downloadable PDF of the invoice from the payment provider.",
"nullable": true
}
},
"additionalProperties": false
},
"InvoicePreview": {
"type": "object",
"properties": {
"dueDate": {
"type": "string",
"description": "The date when the payment is due.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"total": {
"type": "integer",
"description": "The payment total amount.",
"format": "int64",
"example": 1899
},
"subTotal": {
"type": "integer",
"description": "The payment subtotal amount.",
"format": "int64",
"example": 1000
},
"tax": {
"type": "integer",
"description": "The payment tax amount.",
"format": "int64",
"example": 100
},
"preTaxCredit": {
"type": "integer",
"description": "Total pre-tax credits applied to this payment.",
"format": "int64",
"example": 200
},
"previewLineItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InvoicePreviewLineItem"
},
"description": "The invoice line items showing breakdown of charges.",
"nullable": true
}
},
"additionalProperties": false
},
"InvoicePreviewLineItem": {
"type": "object",
"properties": {
"product": {
"allOf": [
{
"$ref": "#/components/schemas/Product"
}
],
"description": "The tier or add-on this item is associated to.\r\n\r\nReturns nothing if the product is not known by our system.",
"nullable": true
},
"description": {
"type": "string",
"description": "Description of this line item.",
"nullable": true
},
"interval": {
"type": "string",
"description": "Recurring payment interval type."
},
"amount": {
"type": "integer",
"description": "The amount charged for this line item.",
"format": "int64",
"example": 109
},
"tax": {
"type": "integer",
"description": "The tax amount in this line item.",
"format": "int64",
"example": 10.9
},
"preTaxCredit": {
"type": "integer",
"description": "Pre-tax credits applied to this line item.",
"format": "int64",
"example": 200
}
},
"additionalProperties": false
},
"Metadata": {
"type": "object",
"properties": {
"key": {
"type": "string",
"nullable": true
},
"value": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"PaymentInformation": {
"type": "object",
"additionalProperties": false,
"description": "Base class for payment information."
},
"PaymentMethod": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the payment method.",
"nullable": true,
"example": "784b3497-bf1f-47d2-93e6-1d38b96b8d3f"
},
"paymentSystem": {
"type": "string",
"description": "Payment system.",
"nullable": true,
"example": "STRIPE"
},
"type": {
"type": "string",
"description": "The payment type.\r\n\r\n* None - The payment type is missing or unknown.\r\n\r\n* CreditCard - Credit Card payment type.\r\n\r\n* DirectDeposit - Direct Deposit payment type. (not currently supported)",
"example": "CreditCard"
},
"isDefault": {
"type": "boolean",
"description": "Whether this is the default payment method for the customer.",
"example": true
},
"details": {
"allOf": [
{
"$ref": "#/components/schemas/PaymentMethodDetails"
}
],
"description": "Payment method specific details for display.",
"nullable": true
},
"lastPaymentState": {
"type": "string",
"description": "The status of a payment.\r\n\r\n* None: The payment status is unknown.\r\n\r\n* Succeeded: The payment was successful.\r\n\r\n* Processing: The payment is being processed.\r\n\r\n* Canceled: The payment was canceled.\r\n\r\n* Failed: The payment requires a payment method to be provided, the provided payment method failed or other action is required (e.g. confirmation or other action by the customer)",
"example": "Succeeded"
},
"createdDate": {
"type": "string",
"description": "When this payment method was added.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
}
},
"additionalProperties": false
},
"PaymentMethodDetails": {
"type": "object",
"properties": {
"brand": {
"type": "string",
"description": "The brand of the credit card.",
"nullable": true
},
"lastFourDigits": {
"type": "string",
"description": "Last four digits of the credit card.",
"nullable": true,
"example": "1234"
},
"expiry": {
"type": "string",
"description": "Expiry date of the credit card in MM/YY format.",
"nullable": true,
"example": "10/28"
},
"expiryMonth": {
"type": "integer",
"description": "Expiry month.",
"format": "int64",
"nullable": true,
"example": 10
},
"expiryYear": {
"type": "integer",
"description": "Expiry year.",
"format": "int64",
"nullable": true,
"example": 2028
},
"accountNumber": {
"type": "integer",
"description": "The account number of the direct deposit account.\r\n\r\nNot yet supported.",
"format": "int64",
"nullable": true,
"example": 123456789
},
"bsb": {
"type": "integer",
"description": "The BSB of the direct deposit account.\r\n\r\nNot yet supported.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false
},
"PaymentMethodPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentMethod"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"PaymentSystem": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of payment system.",
"nullable": true,
"example": "STRIPE"
},
"supportedPaymentTypes": {
"type": "array",
"items": {
"type": "string",
"description": "The payment type.\r\n\r\n* None - The payment type is missing or unknown.\r\n\r\n* CreditCard - Credit Card payment type.\r\n\r\n* DirectDeposit - Direct Deposit payment type. (not currently supported)"
},
"description": "List of supported payment method types.",
"nullable": true
}
},
"additionalProperties": false
},
"PaymentSystemCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentSystem"
},
"nullable": true
}
},
"additionalProperties": false
},
"PreviewSubscriptionRequest": {
"type": "object",
"properties": {
"tierId": {
"type": "string",
"description": "Optional tier id subscription update to preview.\r\n\r\nAn error is thrown if the supplied or existing add-ons are not valid for the supplied tier id.",
"format": "uuid",
"nullable": true,
"example": "8d074e85-4d95-4d9a-8a63-187719470d49"
},
"addOnIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"description": "Optional add-on ids subscription update to preview.\r\n\r\nAn error is thrown if the supplied or existing add-ons are not valid for the existing or supplied tier id.",
"nullable": true
},
"promotionIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional promotion ids subscription update to preview.",
"nullable": true
},
"interval": {
"type": "string",
"description": "Optional billing interval/pricing option change in subscription tier to preview.\r\n\r\nIf an interval is not supplied and a tier id is supplied, the default interval option for the supplied tier will be used.\r\n\r\nIf an interval is supplied but a tier is not supplied, the existing tier is used and the interval is changed.",
"nullable": true,
"example": "Monthly"
}
},
"additionalProperties": false
},
"Price": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The internal price id.",
"nullable": true
},
"externalPriceId": {
"type": "string",
"description": "The external price id.",
"nullable": true
},
"default": {
"type": "boolean",
"description": "Returns `true` if the price is the default price.",
"example": true
},
"active": {
"type": "boolean",
"description": "Returns `true` if the Price is active.",
"example": true
},
"type": {
"type": "string",
"description": "The type of price.",
"example": "Recurring"
},
"name": {
"type": "string",
"description": "The price display name.",
"nullable": true,
"example": "\"$109 per user/month\""
},
"amount": {
"type": "number",
"description": "The per user amount for this pricing option for the specified interval (in cents).",
"format": "double",
"nullable": true,
"example": 5900
},
"interval": {
"type": "string",
"description": "Recurring payment interval type.",
"example": "Monthly"
}
},
"additionalProperties": false
},
"Product": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The id of the Product.",
"nullable": true
},
"smokeballId": {
"type": "string",
"description": "The Smokeball id. For example the tier or add-on id.",
"nullable": true,
"example": "SMK001"
},
"source": {
"type": "string",
"description": "Source of the promotion (e.g. Stripe).",
"nullable": true
},
"externalProductId": {
"type": "string",
"description": "The external id of the Product.",
"nullable": true
},
"smokeballProductType": {
"allOf": [
{
"$ref": "#/components/schemas/SmokeballProductType"
}
],
"description": "The type of the Product (Tier or AddOn)"
},
"productSuite": {
"type": "string",
"description": "The suite that the Product belongs to.",
"nullable": true
},
"iconIdentifier": {
"type": "string",
"description": "Opaque icon identifier of the product.",
"nullable": true
},
"name": {
"type": "string",
"description": "The name of the Product.",
"nullable": true
},
"description": {
"type": "string",
"description": "The description of the Product.",
"nullable": true
},
"trialPeriodDays": {
"type": "integer",
"description": "If the product is trialable, how many days it will be trialed for.\r\n\r\nNote: This will return null or 0 if the product is not trialable.",
"format": "int64",
"nullable": true
},
"created": {
"type": "string",
"description": "The created date of the Product.",
"format": "date-time"
},
"updated": {
"type": "string",
"description": "The updated date of the Product.",
"format": "date-time"
},
"prices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductPrice"
},
"description": "The prices of the Product (e.g. Monthly or Yearly).",
"nullable": true
},
"metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Metadata"
},
"description": "The metadata of the Product.",
"nullable": true
},
"testEnvironment": {
"type": "boolean",
"description": "Returns `true` if this Product is from the Test environment."
},
"active": {
"type": "boolean",
"description": "Returns `true` if this Product is active."
},
"isDeleted": {
"type": "boolean",
"description": "Returns `true` if this Product has been deleted."
}
},
"additionalProperties": false
},
"ProductPrice": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The id of the Price.",
"nullable": true
},
"externalPriceId": {
"type": "string",
"description": "The external Price id.",
"nullable": true
},
"active": {
"type": "boolean",
"description": "Returns `true` if the Price is active."
},
"default": {
"type": "boolean",
"description": "Returns `true` if the Price is the default price."
},
"type": {
"type": "string",
"description": "The Price type (e.g. recurring)"
},
"name": {
"type": "string",
"description": "The Price display name e.g. \"$109 per user/month\"",
"nullable": true
},
"amount": {
"type": "number",
"description": "The per user amount for this pricing option for the specified interval.",
"format": "double",
"nullable": true
},
"interval": {
"type": "string",
"description": "The interval of the Price."
},
"meter": {
"allOf": [
{
"$ref": "#/components/schemas/ProductPriceMeter"
}
],
"description": "Usage-based metering details.",
"nullable": true
},
"metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Metadata"
},
"description": "The metadata of the Price.",
"nullable": true
}
},
"additionalProperties": false
},
"ProductPriceMeter": {
"type": "object",
"properties": {
"externalMeterId": {
"type": "string",
"description": "The external meter id to incur charges.",
"nullable": true
},
"eventName": {
"type": "string",
"description": "The meter event name used to record usage.",
"nullable": true
}
},
"additionalProperties": false
},
"PromotionCode": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the promotion code.",
"nullable": true,
"example": "promo_code_1234"
},
"name": {
"type": "string",
"description": "Display name of the promotion code.",
"nullable": true,
"example": "SUMMER2024"
},
"description": {
"type": "string",
"description": "The description of the promotion code.",
"nullable": true,
"example": "100% discount!"
},
"code": {
"type": "string",
"description": "The actual code that customers can use.",
"nullable": true,
"example": "SUMMER2024"
},
"active": {
"type": "boolean",
"description": "Whether this promotion code is currently active."
},
"minimumAmount": {
"type": "integer",
"description": "Minimum amount in cents required to apply this promotion code.",
"format": "int64",
"nullable": true,
"example": 5000
},
"firstTimeCustomersOnly": {
"type": "boolean",
"description": "Whether this code can only be used by first-time customers."
},
"limit": {
"type": "integer",
"description": "Maximum number of times this code can be used.\r\nNull means unlimited uses.",
"format": "int64",
"nullable": true,
"example": 100
},
"createdDate": {
"type": "string",
"description": "When the promotion code was created.",
"format": "date-time",
"example": "2024-01-15T10:00:00Z"
},
"expiratonDate": {
"type": "string",
"description": "When the promotion code expires.\r\nNull if the code does not expire.",
"format": "date-time",
"nullable": true,
"example": "2024-12-31T23:59:59Z"
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Additional metadata associated with the promotion code.",
"nullable": true
}
},
"additionalProperties": false
},
"RemovePaymentMethodRequest": {
"type": "object",
"properties": {
"newDefaultPaymentMethodId": {
"type": "string",
"description": "Optional ID of payment method to set as new default.",
"nullable": true
}
},
"additionalProperties": false
},
"ResumeSubscriptionRequest": {
"type": "object",
"additionalProperties": false
},
"SetDefaultPaymentMethodRequest": {
"type": "object",
"properties": {
"paymentMethodId": {
"type": "string",
"description": "Public payment method id. Null clears the subscription override which reverts behavior to the Customer's default.",
"format": "uuid",
"nullable": true
},
"subscriptionType": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionType"
}
],
"description": "Deprecated. The subscription type is inferred from the route subscription id."
}
},
"additionalProperties": false,
"description": "Request to set or clear a subscription default payment method."
},
"SetSubscriptionTierRequest": {
"type": "object",
"properties": {
"promotionId": {
"type": "string",
"description": "Optional Promotion ID. If the provided promotion id does not exist, the request will fail.",
"nullable": true
},
"interval": {
"type": "string",
"description": "Optional billing interval/pricing option.\r\n\r\nIf no interval is provided then the default pricing option will be used.\r\n\r\nIf the interval is provided but does not exist, the request will fail.",
"nullable": true,
"example": "Monthly"
},
"reason": {
"type": "string",
"description": "Optional reason for changing the subscription tier.",
"nullable": true
}
},
"additionalProperties": false
},
"SmokeballProductType": {
"enum": [
0,
1,
2,
3
],
"type": "integer",
"format": "int32"
},
"SubscribeUsageRequest": {
"type": "object",
"properties": {
"defaultPaymentMethodId": {
"type": "string",
"description": "Public id of the payment method to set as the default for the usage subscription.",
"format": "uuid",
"nullable": true
}
},
"additionalProperties": false
},
"Subscription": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "Unique identifier of the subscription.",
"nullable": true,
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionType"
}
],
"description": "The kind of subscription represented by this resource."
},
"productSuite": {
"type": "string",
"description": "The product suite of the subscription.",
"nullable": true
},
"tier": {
"allOf": [
{
"$ref": "#/components/schemas/Tier"
}
],
"description": "'Tier' product that the subscription is subscribed to.",
"nullable": true
},
"trialingTier": {
"allOf": [
{
"$ref": "#/components/schemas/TrialingTier"
}
],
"description": "'Tier' product that the subscription is currently trialing.\r\n\r\nReturns nothing if no tiers are being trialed.",
"nullable": true
},
"addOns": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AddOn"
},
"description": "List of 'AddOn' products that the subscription is subscribed to.",
"nullable": true
},
"usages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Usage"
},
"description": "List of 'Usage' products that the subscription is subscribed to.",
"nullable": true
},
"discounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubscriptionDiscount"
},
"description": "List of Discounts (promotions) applied to the subscription.",
"nullable": true
},
"status": {
"type": "string",
"description": "Current status of the subscription.\r\n\r\nIf missing, then the firm does not have a platform subscription.\r\n\r\nPossible values: Trialing, Active, Canceled, PastDue, Unpaid, Incomplete, IncompleteExpired.",
"nullable": true
},
"interval": {
"type": "string",
"description": "Current billing interval of the subscription. \r\n\r\nDerived from the tiers billing interval. Returns 'None' if a tier is not associated to this subscription.\r\n\r\nCurrently only Monthly and Yearly are supported.\r\n\r\nPossible values: None, Daily, Weekly, Monthly, Yearly.",
"nullable": true
},
"quantity": {
"type": "integer",
"description": "The number of user licenses for this subscription.",
"format": "int64",
"nullable": true,
"example": 3
},
"createdDate": {
"type": "string",
"description": "The created date of the subscription.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"trialStatus": {
"type": "string",
"description": "The trial status of the subscription.\r\n\r\n* None - The subscription is not trialing a tier or add-on.\r\n\r\n* Trialing - The subscription is in its trial phase (on signup) or a promotion is applied and a tier or add-on is being trialed.",
"nullable": true
},
"trialPeriodStartDate": {
"type": "string",
"description": "The trial period start date of the subscription.\r\n\r\nUsed in conjuction with the trial period end date to determine if the subscription is currently in trial mode.\r\n\r\nNull if the subscription is not in trial mode.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"trialPeriodEndDate": {
"type": "string",
"description": "The trial period end date of the subscription.\r\n\r\nUsed in conjuction with the trial period start date to determine if the subscription is currently in trial mode.\r\n\r\nNull if the subscription is not in trial mode.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"currentPeriodStartDate": {
"type": "string",
"description": "The start date of the subscription.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"currentPeriodEndDate": {
"type": "string",
"description": "The end date of the subscription.",
"format": "date-time",
"nullable": true,
"example": "2022-04-23T14:00:00Z"
},
"cancellationStatus": {
"type": "string",
"description": "The cancellation status of the subscription.\r\n\r\n* None - The subscription is not canceled and no cancelation requests have been made.\r\n \r\n* Pending - The subscription has been canceled and will be canceled at a later date.\r\n \r\n* Canceled - The subscription has been canceled.\r\n\r\nPossible values: None, Pending, Canceled.",
"nullable": true
},
"cancellationType": {
"type": "string",
"description": "Represents the most recent cancellation type for the subscription.\r\n\r\nThis can be used alongside the CanceledAt and CancelAt properties to determine the cancellation status and timing.\r\n\r\n* PeriodEnd - Subscription will be canceled at the end of the billing cycle.\r\n\r\n* Immediate - Subscription was canceled immediatly. \r\n\r\n* Date - If not already canceled, the subscription will be canceled at the 'CancelAt' date.\r\n\r\nPossible values: PeriodEnd, Immediate, Date.",
"nullable": true,
"example": "PeriodEnd"
},
"canceledAt": {
"type": "string",
"description": "If the subscription has been canceled, the date of that cancellation.\r\n\r\nOtherwise, the date of the cancel request.",
"format": "date-time",
"nullable": true,
"example": "2024-12-01T09:00:00Z"
},
"cancelAt": {
"type": "string",
"description": "A date in the future at which the subscription will automatically get canceled and the status will change to 'Canceled'.",
"format": "date-time",
"nullable": true,
"example": "2025-04-23T14:00:00Z"
}
},
"additionalProperties": false
},
"SubscriptionAudit": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The subscription change type.\r\n\r\n* Updated\r\n\r\n* AddOnAdded\r\n\r\n* AddOnRemoved\r\n\r\n* PromotionApplied\r\n\r\n* PromotionRemoved\r\n\r\n* Canceled\r\n\r\n* Resumed\r\n\r\n* PaymentMethodAdded\r\n\r\n* PaymentMethodRemoved\r\n\r\n* PaymentMethodSetAsDefault\r\n\r\n* QuantityUpdated\r\n\r\n* Created\r\n\r\n* Advanced"
},
"accountId": {
"type": "string",
"description": "The Smokeball firm id.",
"nullable": true
},
"subscriptionId": {
"type": "string",
"description": "The subscription id.",
"nullable": true
},
"name": {
"type": "string",
"description": "Name of the field that was changed or the type of change that was made",
"nullable": true,
"example": "\"TierId\", \"AddOnIds\", \"PromotionId\", \"PaymentMethodIds\", \"Interval\", \"Quantity\""
},
"value": {
"type": "string",
"description": "The value of the change, which can be a string representation of the new value or a JSON object for complex changes.",
"nullable": true
},
"timestamp": {
"type": "string",
"description": "The timestamp of the change.",
"format": "date-time"
}
},
"additionalProperties": false
},
"SubscriptionAuditPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubscriptionAudit"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"SubscriptionCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Subscription"
},
"nullable": true
}
},
"additionalProperties": false
},
"SubscriptionDiscount": {
"type": "object",
"properties": {
"promotion": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionPromotion"
}
],
"description": "The promotion associated with the discount.",
"nullable": true
},
"activationDate": {
"type": "string",
"description": "The date the discount was activated.",
"format": "date-time",
"nullable": true
},
"expirationDate": {
"type": "string",
"description": "The date the discount will expire.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"SubscriptionInvoice": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the invoice.",
"nullable": true
},
"number": {
"type": "string",
"description": "The human-readable invoice number (e.g. ABC-001).",
"nullable": true
},
"status": {
"type": "string",
"description": "The invoice status.",
"example": "Paid"
},
"description": {
"type": "string",
"description": "The invoice description.",
"nullable": true
},
"total": {
"type": "integer",
"description": "The total amount for the invoice.",
"format": "int64",
"example": 1899
},
"subTotal": {
"type": "integer",
"description": "The payment subtotal amount.",
"format": "int64",
"example": 1000
},
"tax": {
"type": "integer",
"description": "The payment tax amount.",
"format": "int64",
"example": 100
},
"preTaxCredit": {
"type": "integer",
"description": "Total pre-tax credits applied to this payment.",
"format": "int64",
"example": 200
},
"lineItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubscriptionInvoiceLineItem"
},
"description": "The line items associated to the invoice.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "The created date of the invoice.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
}
},
"additionalProperties": false
},
"SubscriptionInvoiceCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubscriptionInvoice"
},
"nullable": true
}
},
"additionalProperties": false
},
"SubscriptionInvoiceLineItem": {
"type": "object",
"properties": {
"product": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The tier or add-on this item is associated to.\r\n\r\nReturns nothing if the product is not known by our system.",
"nullable": true
},
"description": {
"type": "string",
"description": "Description of this line item.",
"nullable": true
},
"interval": {
"type": "string",
"description": "Recurring payment interval type."
},
"amount": {
"type": "integer",
"description": "The amount charged for this line item.",
"format": "int64",
"example": 109
},
"tax": {
"type": "integer",
"description": "The tax amount in this line item.",
"format": "int64",
"example": 10.9
},
"preTaxCredit": {
"type": "integer",
"description": "Any credit amount on this line item.",
"format": "int64",
"example": 200
},
"quantity": {
"type": "integer",
"description": "The number of users for this line item.",
"format": "int64",
"nullable": true,
"example": 3
}
},
"additionalProperties": false
},
"SubscriptionInvoicePagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubscriptionInvoice"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"SubscriptionPreview": {
"type": "object",
"properties": {
"immediateProrationPayment": {
"allOf": [
{
"$ref": "#/components/schemas/InvoicePreview"
}
],
"description": "The prorated invoice preview for subscription changes that take effect immediately.",
"nullable": true,
"example": 3
},
"nextBillingCyclePayment": {
"allOf": [
{
"$ref": "#/components/schemas/InvoicePreview"
}
],
"description": "The preview of the next full billing cycle invoice for the updated subscription.",
"nullable": true,
"example": 3
},
"quantity": {
"type": "integer",
"description": "The number of users on the subscription.",
"format": "int64",
"nullable": true,
"example": 3
},
"taxRates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TaxRate"
},
"description": "The current active tax rate.",
"nullable": true
}
},
"additionalProperties": false
},
"SubscriptionPromotion": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the promotion.",
"format": "uuid",
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"productSuite": {
"type": "string",
"description": "The product suite that this promotion belongs to.",
"nullable": true
},
"tiers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Tier"
},
"description": "List of tiers this promotion can be applied to.\r\nIf tiers and add-ons are both empty, the promotion can be applied to any tier or add-on.",
"nullable": true
},
"addOns": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AddOn"
},
"description": "List of add-ons this promotion can be applied to.\r\nIf tiers and add-ons are both empty, the promotion can be applied to any tier or add-on.",
"nullable": true
},
"usage": {
"type": "array",
"items": {
"type": "string",
"description": "The usage context of a promotion.\r\n\r\nThe context can be used by apps to determine how and when to apply a promotion."
},
"description": "Intended usage type for this promotion.\r\n\r\n* Manual - Promotion can be applied manually at any time (with a code).\r\n\r\n* Trial - The promotion can be used for trialing tiers or add-ons.\r\n\r\n* CancelRetention - The promotion can be used when the user is trying to cancel their subscription.\r\n\r\n* DowngradeRetention - The promotion can be used when the user is trying to downgrade their subscription.\r\n\r\n* Signup - The promotion can be used on sign up.",
"nullable": true
},
"name": {
"type": "string",
"description": "Display name of the promotion.",
"nullable": true,
"example": "Summer Sale 2024"
},
"description": {
"type": "string",
"description": "Description of the promotion.",
"nullable": true,
"example": "Summer Sale 2024"
},
"durationDays": {
"type": "integer",
"description": "Number of days the promotion applies for.\r\n\r\nFor example, if the promotion is a trial promotion, how many days the associated tier or add-on will be trialed for.",
"format": "int64",
"nullable": true,
"example": 7
},
"amountOff": {
"type": "integer",
"description": "Fixed amount off (in cents).\r\nOnly one of AmountOff or PercentOff will be set.",
"format": "int64",
"nullable": true,
"example": 2000
},
"percentOff": {
"type": "number",
"description": "Percentage discount.\r\nOnly one of AmountOff or PercentOff will be set.",
"format": "double",
"nullable": true,
"example": 20.5
},
"active": {
"type": "boolean",
"description": "Whether the promotion is currently valid and can be applied."
},
"numUsed": {
"type": "integer",
"description": "Number of times this promotion has been used.",
"format": "int64",
"example": 42
},
"createdDate": {
"type": "string",
"description": "When the promotion was created.",
"format": "date-time",
"example": "2024-01-15T10:00:00Z"
},
"expirationDate": {
"type": "string",
"description": "When the promotion expires.\r\nNull if the promotion does not expire.",
"format": "date-time",
"nullable": true,
"example": "2024-12-31T23:59:59Z"
},
"codes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PromotionCode"
},
"description": "List of promotion codes associated with this promotion.",
"nullable": true
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Additional metadata associated with the promotion code.",
"nullable": true
},
"isPersistent": {
"type": "boolean",
"description": "Whether the promotion persists across tier switches.\r\n\r\nFor example, if a BILL only promotion is applied to the subscription and the firm upgrades to BOOST, the Promotion should be deactivated.\r\n\r\n* If the promotion is non-persistent, it should be removed completely.\r\n\r\n* If the promotion is persistent and the firm reverts back to BILL at a later date, the promotion should automatically be reactivated."
},
"isFree": {
"type": "boolean",
"description": "Whether this promotion makes the targeted tier or add-on free."
},
"deleted": {
"type": "boolean",
"description": "Whether this promotion has been deleted.",
"nullable": true
}
},
"additionalProperties": false
},
"SubscriptionPromotionPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubscriptionPromotion"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"SubscriptionSettings": {
"type": "object",
"properties": {
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"id": {
"type": "string",
"description": "The Smokeball firm id.",
"nullable": true
},
"createExpensesFromUsageCharges": {
"type": "boolean",
"description": "Whether usage charges should create expenses/disbursements."
},
"usageAccessPermission": {
"type": "string",
"description": "Controls which staff at a firm can use Usage-based Products.\r\nMissing settings should be treated as Finance.Subscriptions.Entities.UsageAccessPermission.All."
},
"usageAccessSelectedUserIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Staff user ids granted access when Finance.Subscriptions.Api.Resources.SubscriptionSettings.UsageAccessPermission\r\nis Finance.Subscriptions.Entities.UsageAccessPermission.SelectedUsersAndFirmOwners.",
"nullable": true
},
"updatedDate": {
"type": "string",
"description": "The date the settings were last updated.",
"format": "date-time",
"nullable": true
},
"updatedByUserId": {
"type": "string",
"description": "The user id that last updated the settings.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Settings for an account's subscription behavior."
},
"SubscriptionSettingsDto": {
"type": "object",
"properties": {
"createExpensesFromUsageCharges": {
"type": "boolean",
"description": "Whether usage charges should create expenses/disbursements."
},
"usageAccessPermission": {
"type": "string",
"description": "Controls which staff at a firm can use Usage-based Products.\r\nMissing settings should be treated as Finance.Subscriptions.Entities.UsageAccessPermission.All."
},
"usageAccessSelectedUserIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "User ids granted access when Finance.Subscriptions.Api.Models.SubscriptionSettingsDto.UsageAccessPermission\r\nis Finance.Subscriptions.Entities.UsageAccessPermission.SelectedUsersAndFirmOwners.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Subscription settings patch payload."
},
"SubscriptionType": {
"enum": [
0,
1
],
"type": "integer",
"format": "int32"
},
"TaxRate": {
"type": "object",
"properties": {
"externalId": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"country": {
"type": "string",
"nullable": true
},
"state": {
"type": "string",
"nullable": true
},
"rate": {
"type": "number",
"format": "double"
},
"behaviour": {
"allOf": [
{
"$ref": "#/components/schemas/TaxRateBehavior"
}
],
"description": "The behavior set on Tax Rate."
},
"createdDate": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"TaxRateBehavior": {
"enum": [
0,
1
],
"type": "integer",
"description": "The behavior set on Tax Rate.",
"format": "int32"
},
"Tier": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the tier.",
"format": "uuid",
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"smokeballId": {
"type": "string",
"description": "Unique Smokeball identifier of the tier. \r\n\r\nThis identifier convenience purposes only and should not be used to interact with the subscriptions API.",
"nullable": true
},
"productSuite": {
"type": "string",
"description": "The product suite that this tier belongs to.",
"nullable": true
},
"name": {
"type": "string",
"description": "The display name of the tier.",
"nullable": true,
"example": "Intake"
},
"description": {
"type": "string",
"description": "The description of the tier.\r\n\r\nCan be used to describe the tier to a customer.",
"nullable": true
},
"trialPeriodDays": {
"type": "integer",
"description": "The number of days the tier can be trialed for.\r\n\r\nCannot be trialed if zero or missing.",
"format": "int32",
"nullable": true
},
"prices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Price"
},
"description": "The price options for the tier.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "The created date of the tier.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"updatedDate": {
"type": "string",
"description": "The updated date of the tier.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
}
},
"additionalProperties": false
},
"TrialingTier": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the tier.",
"format": "uuid",
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"smokeballId": {
"type": "string",
"description": "Unique Smokeball identifier of the tier. \r\n\r\nThis identifier convenience purposes only and should not be used to interact with the subscriptions API.",
"nullable": true
},
"productSuite": {
"type": "string",
"description": "The product suite that this tier belongs to.",
"nullable": true
},
"name": {
"type": "string",
"description": "The display name of the tier.",
"nullable": true,
"example": "Intake"
},
"description": {
"type": "string",
"description": "The description of the tier.\r\n\r\nCan be used to describe the tier to a customer.",
"nullable": true
},
"trialPeriodDays": {
"type": "integer",
"description": "The number of days the tier can be trialed for.\r\n\r\nCannot be trialed if zero or missing.",
"format": "int32",
"nullable": true
},
"prices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Price"
},
"description": "The price options for the tier.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "The created date of the tier.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"updatedDate": {
"type": "string",
"description": "The updated date of the tier.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"cancellationStatus": {
"type": "string",
"description": "The cancellation status of the trial.\r\n\r\n* None - The trial has not been canceled. If a payment method is added to the subscription, the trial product(s) will be applied to the subscription at expiration.\r\n \r\n* Pending - The trial has been canceled. The trial product(s) will not be applied to the subscription at expiration.\r\n\r\nPossible values: None, Pending.",
"nullable": true
},
"activationDate": {
"type": "string",
"description": "The date the trial was activated.",
"format": "date-time",
"nullable": true
},
"expirationDate": {
"type": "string",
"description": "The date the trial will expire.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"UpdateSubscriptionRequest": {
"type": "object",
"properties": {
"tierId": {
"type": "string",
"description": "Optional tier id to subscribe to.\r\n\r\nAn error is thrown if the supplied or existing add-ons are not valid for the supplied tier id.",
"format": "uuid",
"nullable": true,
"example": "8d074e85-4d95-4d9a-8a63-187719470d49"
},
"addOnIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"description": "Optional add-on ids to subscribe to.\r\n\r\nAn error is thrown if the supplied or existing add-ons are not valid for the existing or supplied tier id.",
"nullable": true
},
"interval": {
"type": "string",
"description": "Optional billing interval/pricing option to use when setting subscription tier.\r\n\r\nIf an interval is not supplied then the default interval option will be used.\r\n\r\nIf an interval is supplied but a tier is not supplied, the existing tier is used and the interval is changed.",
"nullable": true,
"example": "Monthly"
},
"reason": {
"type": "string",
"description": "Optional reason for changing the subscription tier.",
"nullable": true
}
},
"additionalProperties": false
},
"Usage": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the usage product.",
"format": "uuid",
"example": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"smokeballId": {
"type": "string",
"description": "Unique Smokeball identifier of the usage product.",
"nullable": true
},
"productSuite": {
"type": "string",
"description": "The product suite that this usage product belongs to.",
"nullable": true
},
"iconIdentifier": {
"type": "string",
"description": "Icon identifier for the product.",
"nullable": true
},
"name": {
"type": "string",
"description": "The display name of the usage product.",
"nullable": true
},
"description": {
"type": "string",
"description": "The description of the usage product.",
"nullable": true
},
"trialPeriodDays": {
"type": "integer",
"description": "The number of days the usage product can be trialed for.",
"format": "int64",
"nullable": true
},
"prices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Price"
},
"description": "The chargeable metered price options for the usage product.",
"nullable": true
},
"createdDate": {
"type": "string",
"description": "The created date of the usage product.",
"format": "date-time"
},
"updatedDate": {
"type": "string",
"description": "The updated date of the usage product.",
"format": "date-time"
}
},
"additionalProperties": false
},
"UsageCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Usage"
},
"nullable": true
}
},
"additionalProperties": false
},
"DocumentType": {
"enum": [
0,
1,
2
],
"type": "integer",
"description": "Available document types: \"File = 0\", \"FormTemplate = 1\", \"Memo = 2\" \r\n\r\nThe FormTemplate (1) document type is not currently supported for task document creation.",
"format": "int32"
},
"SubTask": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"parentTask": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The parent (task) of the subtask.",
"nullable": true
},
"createdBy": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The staff member who created the subtask.",
"nullable": true
},
"completedBy": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The staff member who completed the subtask.",
"nullable": true
},
"lastUpdatedBy": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The staff member who last updated the subtask.",
"nullable": true
},
"subject": {
"type": "string",
"description": "The subject - a short description of the subtask.",
"nullable": true,
"example": "Confer with Mary"
},
"completedDate": {
"type": "string",
"description": "**Deprecated.** Use `CompletedDateOnly` instead.\n\nWhen the subtask was completed in UTC.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T13:00:00Z",
"deprecated": true
},
"completedDateOnly": {
"type": "string",
"description": "The date when the subtask was completed.\n\nThe time portion will always be set to 00:00:00\nand should be ignored. Only the date portion is relevant.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T00:00:00"
},
"createdDate": {
"type": "string",
"description": "**Deprecated.** Use `CreatedDateOnly` instead.\n\nWhen the subtask was created in UTC.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T13:00:00Z",
"deprecated": true
},
"createdDateOnly": {
"type": "string",
"description": "The date when the subtask was created.\n\nThe time portion will always be set to 00:00:00\nand should be ignored. Only the date portion is relevant.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T00:00:00"
},
"isCompleted": {
"type": "boolean",
"description": "True when the subtask is completed.",
"example": false
},
"isDeleted": {
"type": "boolean",
"description": "True when the subtask is deleted.",
"example": false
},
"lastUpdated": {
"type": "integer",
"description": "Last updated timestamp.",
"format": "int64",
"example": 637847425252027400
}
},
"additionalProperties": false,
"description": "Subtask resource."
},
"SubTaskCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubTask"
},
"nullable": true
}
},
"additionalProperties": false
},
"SubTaskDto": {
"required": [
"staffId",
"subject"
],
"type": "object",
"properties": {
"staffId": {
"minLength": 1,
"type": "string",
"description": "Unique identifier of the associated staff member creating or updating the subtask.",
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"completedByStaffId": {
"type": "string",
"description": "Unique identifier of the associated staff member who completed the subtask.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"subject": {
"minLength": 1,
"type": "string",
"description": "Subject of the subtask.",
"example": "Confer with Mary"
},
"isCompleted": {
"type": "boolean",
"description": "True when the subtask is completed.",
"example": false
},
"completedDate": {
"type": "string",
"description": "**Deprecated.** Use `CompletedDateOnly` instead.\n\nCompleted date of the subtask in UTC.\r\nIf not provided and IsCompleted is set to true, the current date will be used.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T13:00:00Z",
"deprecated": true
},
"completedDateOnly": {
"type": "string",
"description": "Completed date of the subtask. Takes precendence over CompletedDate if set.\r\nIf not provided and IsCompleted is set to true, the current date will be used.\n\nAny time/timezone information will be discarded\nand only the date portion will be considered.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15"
}
},
"additionalProperties": false,
"description": "Data transfer object for a subtask."
},
"Task": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"matter": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "Matter associated to the task.",
"nullable": true
},
"parentTask": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The parent task associated to this task. Id is missing if this task is not a sub task.",
"nullable": true
},
"createdBy": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The staff member who created the task.",
"nullable": true
},
"completedBy": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The staff member who completed the task.",
"nullable": true
},
"lastUpdatedBy": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The staff member who last updated the task.",
"nullable": true
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "The staff member(s) assigned to the task.",
"nullable": true
},
"subTasks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Link"
},
"description": "The tasks associated to the task.",
"nullable": true
},
"subject": {
"type": "string",
"description": "The subject - a short description of the task.",
"nullable": true,
"example": "Review contract for John Smith"
},
"note": {
"type": "string",
"description": "Notes on the task.",
"nullable": true,
"example": "Contract needs to be reviewed and discussed with John"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Categories for the task.",
"nullable": true
},
"dueDate": {
"type": "string",
"description": "**Deprecated.** Use `DueDateOnly` instead.\n\nThe due date of the task in UTC.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T13:00:00Z",
"deprecated": true
},
"dueDateOnly": {
"type": "string",
"description": "The due date of the task.\n\nThe time portion will always be set to 00:00:00\nand should be ignored. Only the date portion is relevant.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T00:00:00"
},
"completedDate": {
"type": "string",
"description": "**Deprecated.** Use `CompletedDateOnly` instead.\n\nWhen the task was completed in UTC.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T13:00:00Z",
"deprecated": true
},
"completedDateOnly": {
"type": "string",
"description": "The date when the task was completed.\n\nThe time portion will always be set to 00:00:00\nand should be ignored. Only the date portion is relevant.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T00:00:00"
},
"createdDate": {
"type": "string",
"description": "**Deprecated.** Use `CreatedDateOnly` instead.\n\nWhen the task was created in UTC.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T13:00:00Z",
"deprecated": true
},
"createdDateOnly": {
"type": "string",
"description": "The date when the task was created.\n\nThe time portion will always be set to 00:00:00\nand should be ignored. Only the date portion is relevant.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T00:00:00"
},
"isCompleted": {
"type": "boolean",
"description": "True when the task is completed.",
"example": false
},
"isDeleted": {
"type": "boolean",
"description": "True when the task is deleted.",
"example": false
},
"lastUpdated": {
"type": "integer",
"description": "Last updated timestamp.",
"format": "int64",
"example": 637847425252027400
},
"duration": {
"type": "string",
"description": "Duration of the task in ISO 8601 duration format.",
"nullable": true,
"example": "PT4H33M"
}
},
"additionalProperties": false
},
"TaskDocument": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"task": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"description": "The associated task.",
"nullable": true
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentType"
}
],
"description": "The type of the document.\r\n\r\nPossible values: File = 0, FormTemplate = 1, Memo = 2.",
"example": 0
},
"isDeleted": {
"type": "boolean",
"description": "True when the task document has been deleted.",
"example": false
},
"document": {
"description": "Link to the the document.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Task document resource."
},
"TaskDocumentCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskDocument"
},
"nullable": true
}
},
"additionalProperties": false
},
"TaskDocumentDto": {
"required": [
"type"
],
"type": "object",
"properties": {
"documentId": {
"type": "string",
"description": "Unique identifier of the document (file or memo).\r\n\r\nIf a file, the type must be 0 (File). \r\n\r\nIf a memo, the type must be 2 (Memo).\r\n\r\nThe FormTemplate (1) document type is not currently supported for task document creation.",
"nullable": true,
"example": "cf666f06-3ff2-4a41-8c7f-ab5a8bc6a277"
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentType"
}
],
"description": "The type of the document.\r\n\r\nPossible values: File = 0, FormTemplate = 1, Memo = 2.\r\n\r\nThe FormTemplate (1) document type is not currently supported for task document creation.",
"example": 0
}
},
"additionalProperties": false,
"description": "Data transfer object for a task document."
},
"TaskDto": {
"required": [
"staffId"
],
"type": "object",
"properties": {
"matterId": {
"type": "string",
"description": "Unique identifier of the matter associated to the task.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"staffId": {
"minLength": 1,
"type": "string",
"description": "Unique identifier of the associated staff member creating or updating the task.",
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"completedByStaffId": {
"type": "string",
"description": "Unique identifier of the associated staff member completing the task.",
"nullable": true,
"example": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
},
"assigneeIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Unique identifier(s) of the associated staff member(s) assigned to the task.",
"nullable": true
},
"subject": {
"type": "string",
"description": "The subject - this should be a short description of the task.",
"nullable": true,
"example": "Review contract for John Smith"
},
"note": {
"type": "string",
"description": "Notes on the task.",
"nullable": true,
"example": "Contract needs to be reviewed and discussed with John"
},
"isCompleted": {
"type": "boolean",
"description": "True when the task is completed.",
"example": false
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Categories for the task.",
"nullable": true
},
"completedDate": {
"type": "string",
"description": "**Deprecated.** Use `CompletedDateOnly` instead.\n\nCompleted date of the task in UTC.\r\nIf not provided and IsCompleted is set to true, the current date will be used.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T13:00:00Z",
"deprecated": true
},
"completedDateOnly": {
"type": "string",
"description": "Completed date of the task. Takes precendence over CompletedDate if set.\r\nIf not provided and IsCompleted is set to true, the current date will be used.\n\nAny time/timezone information will be discarded\nand only the date portion will be considered.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15"
},
"dueDate": {
"type": "string",
"description": "**Deprecated.** Use `DueDateOnly` instead.\n\nDue date of the task in UTC.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15T13:00:00Z",
"deprecated": true
},
"dueDateOnly": {
"type": "string",
"description": "Due date of the task. Takes precendence over DueDate if set.\n\nAny time/timezone information will be discarded\nand only the date portion will be considered.",
"format": "date-time",
"nullable": true,
"example": "2020-02-15"
},
"duration": {
"type": "string",
"description": "Duration of the task in ISO 8601 duration format.",
"nullable": true,
"example": "PT4H33M"
}
},
"additionalProperties": false
},
"TaskPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Task"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"InviteUserDto": {
"required": [
"email"
],
"type": "object",
"properties": {
"email": {
"minLength": 1,
"type": "string",
"description": "Invite user by email address."
}
},
"additionalProperties": false
},
"User": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"userId": {
"type": "string",
"description": "Unique identifier of the user.",
"nullable": true,
"example": "23d2a4bc-8529-462e-8560-dfbf4fa24e49"
},
"email": {
"type": "string",
"description": "Email address of the user.",
"nullable": true,
"example": "user@domain.com"
},
"isInternal": {
"type": "boolean",
"description": "Returns true if the user is flagged as an internal user.",
"example": true
},
"bypassMfa": {
"type": "boolean",
"description": "Returns true if multi-factor authentication is bypassed for the user.",
"example": true
}
},
"additionalProperties": false
},
"UserDto": {
"required": [
"email"
],
"type": "object",
"properties": {
"email": {
"minLength": 1,
"type": "string",
"description": "Email address of the user.",
"example": "user@domain.com"
},
"password": {
"type": "string",
"description": "Password for the user.\r\n\r\nPassword must include atleast one lowercase character, uppercase character, numeric character as well as a special character.",
"nullable": true
},
"expireAfterDays": {
"type": "integer",
"description": "Expire after the specified days. Must be left blank for users that do not expire.",
"format": "int32",
"nullable": true,
"example": 7
},
"isInternal": {
"type": "boolean",
"description": "Creates the user as an internal user.\r\n\r\nInternal users are excluded from billing and license counts.\r\n\r\nUse this option for testing, background services, or other non-customer-facing purposes.",
"example": true
},
"bypassMfa": {
"type": "boolean",
"description": "Bypasses multi-factor authentication for the user.\r\n\r\nWhen enabled, the user will not be prompted for two factor authentication during login.",
"example": true
}
},
"additionalProperties": false
},
"WebhookSubscription": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"accountId": {
"type": "string",
"description": "Unique identifier of the associated account.",
"nullable": true,
"example": "da4e7fd1-5394-4ca9-b1c6-e18c4e2bf262"
},
"name": {
"type": "string",
"description": "Name or description of the subscription.",
"nullable": true,
"example": "Listen to matter and contact changes"
},
"eventTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "The event types that the webhook subscription is subscribed to.",
"nullable": true,
"example": [
"matter.updated",
"contact.created"
]
},
"eventNotificationUrl": {
"type": "string",
"description": "The uri to notify when an event has occurred.",
"nullable": true,
"example": "http://yourdomain.com/notify"
},
"createdDateUtc": {
"type": "string",
"description": "The webhook subscription creation date.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"updatedDateUtc": {
"type": "string",
"description": "The webhook subscription last updated date.",
"format": "date-time",
"example": "2022-04-23T14:00:00Z"
},
"lastUpdated": {
"type": "integer",
"description": "Last updated timestamp",
"format": "int64",
"example": 637847425252027400
}
},
"additionalProperties": false
},
"WebhookSubscriptionDto": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "Unique key used for creating signature header in webhook notification requests.",
"nullable": true,
"example": "da4e7fd1-5394-4ca9-b1c6-e18c4e2bf262"
},
"name": {
"type": "string",
"description": "Name or description of the webhook subscription.",
"nullable": true,
"example": "Listen to matter and contact changes"
},
"eventTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "The event types that the webhook subscription should be subscribed to.",
"nullable": true,
"example": [
"matter.updated",
"contact.created"
]
},
"eventNotificationUrl": {
"type": "string",
"description": "The uri to notify when an event has occurred.",
"nullable": true,
"example": "http://yourdomain.com/notify"
}
},
"additionalProperties": false
},
"WebhookSubscriptionPagedCollection": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"href": {
"type": "string",
"nullable": true
},
"relation": {
"type": "string",
"nullable": true
},
"method": {
"type": "string",
"default": "GET",
"nullable": true
},
"self": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookSubscription"
},
"nullable": true
},
"offset": {
"type": "integer",
"format": "int32",
"nullable": true
},
"limit": {
"type": "integer",
"format": "int32",
"nullable": true
},
"size": {
"type": "integer",
"format": "int64"
},
"first": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"previous": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"next": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
},
"last": {
"allOf": [
{
"$ref": "#/components/schemas/Link"
}
],
"nullable": true
}
},
"additionalProperties": false
}
}
}