{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/slash/main/json-schema/slash-slashfi-models-entity-invoice-invoice-aggregate-yaml-schema.json", "title": "InvoiceAggregate", "description": "Aggregate model for an invoice", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/slash-invoice-api-openapi.yml#/components/schemas/slashfi.models.entity.Invoice.InvoiceAggregate.yaml", "type": "object", "properties": { "invoice": { "$ref": "#/$defs/slashfi.models.entity.Invoice.Invoice.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/Invoice", "sourcePath": "entity/Invoice/Invoice.yaml", "title": "Invoice", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "invoiceDetails": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceDetails.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceDetails", "sourcePath": "entity/Invoice/InvoiceDetails.yaml", "title": "InvoiceDetails", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "invoiceAccount": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceAccount.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceAccount", "sourcePath": "entity/Invoice/InvoiceAccount.yaml", "title": "InvoiceAccount", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } }, "required": [ "invoice", "invoiceDetails", "invoiceAccount" ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceAggregate", "sourcePath": "entity/Invoice/InvoiceAggregate.yaml", "title": "InvoiceAggregate", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "$defs": { "slashfi.models.entity.CardGroup.Restriction.yaml": { "type": "string", "enum": [ "allowlist", "blacklist" ], "x-entrypoint": { "virtualPath": "entity/CardGroup/Restriction", "sourcePath": "entity/CardGroup/Restriction.yaml", "title": "Restriction", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "Restriction" }, "slashfi.models.entity.IAddressModel.yaml": { "title": "IAddressModel", "type": "object", "properties": { "addressLine": { "type": "string" }, "addressLine2": { "type": "string" }, "addressCity": { "type": "string" }, "addressState": { "type": "string" }, "addressZip": { "type": "string" }, "addressCountry": { "type": "string", "minLength": 2, "maxLength": 2, "description": "ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...)." } }, "required": [ "addressLine", "addressCity", "addressState", "addressZip" ], "x-entrypoint": { "virtualPath": "entity/IAddressModel", "sourcePath": "entity/IAddressModel.yaml", "title": "IAddressModel", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "slashfi.models.entity.Invoice.Invoice.yaml": { "type": "object", "description": "Top-level invoice model", "properties": { "id": { "type": "string" }, "status": { "$ref": "#/$defs/slashfi.models.entity.Invoice.Status.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/Status", "sourcePath": "entity/Invoice/Status.yaml", "title": "Status", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "collectedAmountCents": { "type": "number" }, "invoiceDetailsId": { "type": "string" }, "accountId": { "type": "string" }, "legalEntityContactId": { "type": "string" }, "legalEntityCustomerId": { "type": "string" }, "invoicePaymentMethods": { "type": "array", "items": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceSlashPaymentMethodConfig", "sourcePath": "entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml", "title": "InvoiceSlashPaymentMethodConfig", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } }, "invoiceTransactions": { "type": "array", "items": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceTransaction.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceTransaction", "sourcePath": "entity/Invoice/InvoiceTransaction.yaml", "title": "InvoiceTransaction", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } }, "closedAt": { "type": [ "string", "null" ], "format": "date-time" }, "invoiceSeriesId": { "type": [ "string", "null" ] }, "scheduledSendDate": { "type": [ "string", "null" ], "format": "date-time" } }, "required": [ "id", "status", "collectedAmountCents", "invoiceDetailsId", "accountId", "invoiceTransactions" ], "x-entrypoint": { "virtualPath": "entity/Invoice/Invoice", "sourcePath": "entity/Invoice/Invoice.yaml", "title": "Invoice", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "Invoice" }, "slashfi.models.entity.Invoice.InvoiceAccount.yaml": { "oneOf": [ { "$ref": "#/$defs/slashfi.models.entity.Subaccount.Model.yaml", "x-entrypoint": { "virtualPath": "entity/Subaccount/Model", "sourcePath": "entity/Subaccount/Model.yaml", "title": "Model", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.SlashAccount.Group.Model.yaml", "x-entrypoint": { "virtualPath": "entity/SlashAccount/Group/Model", "sourcePath": "entity/SlashAccount/Group/Model.yaml", "title": "Model", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.SlashWalletAccount.yaml", "x-entrypoint": { "virtualPath": "entity/SlashWalletAccount", "sourcePath": "entity/SlashWalletAccount.yaml", "title": "SlashWalletAccount", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceAccount", "sourcePath": "entity/Invoice/InvoiceAccount.yaml", "title": "InvoiceAccount", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceAccount" }, "slashfi.models.entity.Invoice.InvoiceDetails.yaml": { "type": "object", "properties": { "id": { "type": "string" }, "issuedAt": { "type": "string", "format": "date-time" }, "dueAt": { "type": "string", "format": "date-time" }, "invoiceTz": { "type": "string", "description": "IANA timezone identifier used for interpreting invoice dates" }, "currency": { "type": "string" }, "lineItemsAndTotals": { "$ref": "#/$defs/slashfi.models.entity.Invoice.LineItemsAndTotals.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/LineItemsAndTotals", "sourcePath": "entity/Invoice/LineItemsAndTotals.yaml", "title": "LineItemsAndTotals", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "invoiceNumber": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceNumber.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceNumber", "sourcePath": "entity/Invoice/InvoiceNumber.yaml", "title": "InvoiceNumber", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "memo": { "type": "string", "minLength": 1, "maxLength": 500 }, "documentId": { "type": "string" }, "billedTo": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "address": { "$ref": "#/$defs/slashfi.models.entity.IAddressModel.yaml", "x-entrypoint": { "virtualPath": "entity/IAddressModel", "sourcePath": "entity/IAddressModel.yaml", "title": "IAddressModel", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "ccEmails": { "type": "array", "items": { "type": "string" }, "maxItems": 10 } }, "required": [ "name", "email" ] }, "version": { "type": "integer", "minimum": 1 } }, "required": [ "id", "issuedAt", "dueAt", "invoiceTz", "currency", "lineItemsAndTotals", "invoiceNumber", "documentId", "billedTo", "version" ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceDetails", "sourcePath": "entity/Invoice/InvoiceDetails.yaml", "title": "InvoiceDetails", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceDetails" }, "slashfi.models.entity.Invoice.InvoiceDiscount.yaml": { "oneOf": [ { "type": "object", "additionalProperties": false, "properties": { "type": { "type": "string", "enum": [ "percentage" ] }, "percent": { "type": "number" } }, "required": [ "type", "percent" ] }, { "type": "object", "additionalProperties": false, "properties": { "type": { "type": "string", "enum": [ "fixed" ] }, "amountCents": { "type": "number" } }, "required": [ "type", "amountCents" ] } ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceDiscount", "sourcePath": "entity/Invoice/InvoiceDiscount.yaml", "title": "InvoiceDiscount", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceDiscount" }, "slashfi.models.entity.Invoice.InvoiceLineItem.yaml": { "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string" }, "quantity": { "type": "number" }, "priceCents": { "type": "number" }, "catalogItemId": { "type": "string", "description": "Optional provenance stamp indicating this line item was populated from a catalog item. Cleared if the user manually edits the name or price after selection." } }, "required": [ "name", "quantity", "priceCents" ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceLineItem", "sourcePath": "entity/Invoice/InvoiceLineItem.yaml", "title": "InvoiceLineItem", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceLineItem" }, "slashfi.models.entity.Invoice.InvoiceNumber.yaml": { "type": "string", "pattern": "^[A-Z0-9-_]+$", "minLength": 1, "maxLength": 50, "description": "A user-defined invoice identifier. Allows uppercase letters (A-Z), numbers (0-9), dashes (-), and underscores (_).\n", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceNumber", "sourcePath": "entity/Invoice/InvoiceNumber.yaml", "title": "InvoiceNumber", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceNumber" }, "slashfi.models.entity.Invoice.InvoiceReconciliationPaymentMethod.yaml": { "description": "Payment methods for invoice reconciliation (includes Slash-trackable methods plus external-only options like 'other')", "oneOf": [ { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml.properties.method", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceSlashPaymentMethodConfig", "sourcePath": "entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml", "title": "InvoiceSlashPaymentMethodConfig", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "type": "string", "enum": [ "other" ] } ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceReconciliationPaymentMethod", "sourcePath": "entity/Invoice/InvoiceReconciliationPaymentMethod.yaml", "title": "InvoiceReconciliationPaymentMethod", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceReconciliationPaymentMethod" }, "slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml": { "oneOf": [ { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodAchDebit.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodAchDebit", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodAchDebit.yaml", "title": "PaymentMethodAchDebit", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCardPayment.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodCardPayment", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodCardPayment.yaml", "title": "PaymentMethodCardPayment", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCryptoDeposit.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit.yaml", "title": "PaymentMethodCryptoDeposit", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundAchTransfer.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer.yaml", "title": "PaymentMethodInboundAchTransfer", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundInternationalWire.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire.yaml", "title": "PaymentMethodInboundInternationalWire", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundRtp.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundRtp", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundRtp.yaml", "title": "PaymentMethodInboundRtp", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundWireTransfer.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer.yaml", "title": "PaymentMethodInboundWireTransfer", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceSlashPaymentMethodConfig", "sourcePath": "entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml", "title": "InvoiceSlashPaymentMethodConfig", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceSlashPaymentMethodConfig" }, "slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml.properties.method": { "oneOf": [ { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodAchDebit.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodAchDebit", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodAchDebit.yaml", "title": "PaymentMethodAchDebit", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCardPayment.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodCardPayment", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodCardPayment.yaml", "title": "PaymentMethodCardPayment", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCryptoDeposit.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit.yaml", "title": "PaymentMethodCryptoDeposit", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundAchTransfer.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer.yaml", "title": "PaymentMethodInboundAchTransfer", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundInternationalWire.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire.yaml", "title": "PaymentMethodInboundInternationalWire", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundRtp.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundRtp", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundRtp.yaml", "title": "PaymentMethodInboundRtp", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, { "$ref": "#/$defs/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundWireTransfer.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer.yaml", "title": "PaymentMethodInboundWireTransfer", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceSlashPaymentMethodConfig", "sourcePath": "entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml", "title": "InvoiceSlashPaymentMethodConfig", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceSlashPaymentMethodConfig" }, "slashfi.models.entity.Invoice.InvoiceTax.yaml": { "type": "object", "additionalProperties": false, "properties": { "type": { "type": "string", "enum": [ "percentage" ] }, "percent": { "type": "number" } }, "required": [ "type", "percent" ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceTax", "sourcePath": "entity/Invoice/InvoiceTax.yaml", "title": "InvoiceTax", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceTax" }, "slashfi.models.entity.Invoice.InvoiceTransaction.yaml": { "oneOf": [ { "type": "object", "properties": { "transactionType": { "type": "string", "enum": [ "external" ] }, "transaction": { "type": "object", "properties": { "paymentMethod": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceReconciliationPaymentMethod.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceReconciliationPaymentMethod", "sourcePath": "entity/Invoice/InvoiceReconciliationPaymentMethod.yaml", "title": "InvoiceReconciliationPaymentMethod", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "paidAt": { "type": "string" } }, "required": [ "paymentMethod", "paidAt" ] } }, "required": [ "transactionType", "transaction" ] }, { "type": "object", "properties": { "transactionType": { "type": "string", "enum": [ "internal" ] }, "transaction": { "type": "object", "properties": { "aggregatedTransactionId": { "type": "string" } }, "required": [ "aggregatedTransactionId" ] } }, "required": [ "transactionType", "transaction" ] } ], "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceTransaction", "sourcePath": "entity/Invoice/InvoiceTransaction.yaml", "title": "InvoiceTransaction", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "InvoiceTransaction" }, "slashfi.models.entity.Invoice.LineItemsAndTotals.yaml": { "type": "object", "properties": { "lineItems": { "type": "array", "items": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceLineItem.yaml", "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceLineItem", "sourcePath": "entity/Invoice/InvoiceLineItem.yaml", "title": "InvoiceLineItem", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "minItems": 1 }, "discount": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceDiscount.yaml", "nullable": true, "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceDiscount", "sourcePath": "entity/Invoice/InvoiceDiscount.yaml", "title": "InvoiceDiscount", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "tax": { "$ref": "#/$defs/slashfi.models.entity.Invoice.InvoiceTax.yaml", "nullable": true, "x-entrypoint": { "virtualPath": "entity/Invoice/InvoiceTax", "sourcePath": "entity/Invoice/InvoiceTax.yaml", "title": "InvoiceTax", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "subtotalCents": { "type": "number" }, "totalAmountCents": { "type": "number" } }, "required": [ "lineItems", "subtotalCents", "totalAmountCents" ], "x-entrypoint": { "virtualPath": "entity/Invoice/LineItemsAndTotals", "sourcePath": "entity/Invoice/LineItemsAndTotals.yaml", "title": "LineItemsAndTotals", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "LineItemsAndTotals" }, "slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodAchDebit.yaml": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "ach_debit" ] }, "config": { "type": "object", "properties": { "passFeeToPayer": { "type": "boolean" } }, "required": [ "passFeeToPayer" ], "additionalProperties": false } }, "required": [ "method", "config" ], "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodAchDebit", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodAchDebit.yaml", "title": "PaymentMethodAchDebit", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "PaymentMethodAchDebit" }, "slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCardPayment.yaml": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "acquiring_payment" ] }, "config": { "type": "object", "properties": { "passFeeToPayer": { "type": "boolean", "enum": [ false ] } }, "required": [ "passFeeToPayer" ], "additionalProperties": false } }, "required": [ "method", "config" ], "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodCardPayment", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodCardPayment.yaml", "title": "PaymentMethodCardPayment", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "PaymentMethodCardPayment" }, "slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCryptoDeposit.yaml": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "crypto_deposit" ] }, "config": { "type": "object", "properties": { "passFeeToPayer": { "type": "boolean" }, "fiatRail": { "$ref": "#/$defs/slashfi.models.enums.OffRamp.Method.yaml", "x-entrypoint": { "virtualPath": "enums/OffRamp/Method", "sourcePath": "enums/OffRamp/Method.yaml", "title": "Method", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } }, "required": [ "passFeeToPayer" ], "additionalProperties": false } }, "required": [ "method", "config" ], "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit.yaml", "title": "PaymentMethodCryptoDeposit", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "PaymentMethodCryptoDeposit" }, "slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundAchTransfer.yaml": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "inbound_ach_transfer" ] }, "config": { "type": "object", "additionalProperties": false } }, "required": [ "method", "config" ], "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer.yaml", "title": "PaymentMethodInboundAchTransfer", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "PaymentMethodInboundAchTransfer" }, "slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundInternationalWire.yaml": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "inbound_international_wire" ] }, "config": { "type": "object", "additionalProperties": false } }, "required": [ "method", "config" ], "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire.yaml", "title": "PaymentMethodInboundInternationalWire", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "PaymentMethodInboundInternationalWire" }, "slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundRtp.yaml": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "inbound_rtp" ] }, "config": { "type": "object", "additionalProperties": false } }, "required": [ "method", "config" ], "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundRtp", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundRtp.yaml", "title": "PaymentMethodInboundRtp", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "PaymentMethodInboundRtp" }, "slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundWireTransfer.yaml": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "inbound_wire_transfer" ] }, "config": { "type": "object", "additionalProperties": false } }, "required": [ "method", "config" ], "x-entrypoint": { "virtualPath": "entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer", "sourcePath": "entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer.yaml", "title": "PaymentMethodInboundWireTransfer", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "PaymentMethodInboundWireTransfer" }, "slashfi.models.entity.Invoice.Status.yaml": { "type": "string", "enum": [ "void", "unpaid", "overdue", "paid_partially", "paid", "scheduled" ], "x-entrypoint": { "virtualPath": "entity/Invoice/Status", "sourcePath": "entity/Invoice/Status.yaml", "title": "Status", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "Status" }, "slashfi.models.entity.SlashAccount.Group.Avs.AvsConstraint.yaml": { "type": "object", "properties": { "merchantCategoryRule": { "type": "object", "properties": { "merchantCategories": { "type": "array", "items": { "type": "string" } }, "restriction": { "$ref": "#/$defs/slashfi.models.entity.CardGroup.Restriction.yaml", "x-entrypoint": { "virtualPath": "entity/CardGroup/Restriction", "sourcePath": "entity/CardGroup/Restriction.yaml", "title": "Restriction", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } }, "required": [ "merchantCategories", "restriction" ] }, "merchantRule": { "type": "object", "properties": { "merchants": { "type": "array", "items": { "type": "string" } }, "restriction": { "$ref": "#/$defs/slashfi.models.entity.CardGroup.Restriction.yaml", "x-entrypoint": { "virtualPath": "entity/CardGroup/Restriction", "sourcePath": "entity/CardGroup/Restriction.yaml", "title": "Restriction", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } }, "required": [ "merchants", "restriction" ] }, "countryRestriction": { "type": "object", "properties": { "countries": { "type": "array", "items": { "type": "string" } }, "restriction": { "$ref": "#/$defs/slashfi.models.entity.CardGroup.Restriction.yaml", "x-entrypoint": { "virtualPath": "entity/CardGroup/Restriction", "sourcePath": "entity/CardGroup/Restriction.yaml", "title": "Restriction", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } }, "required": [ "restriction", "countries" ] }, "merchantCategoryCodeRule": { "type": "object", "properties": { "restriction": { "$ref": "#/$defs/slashfi.models.entity.CardGroup.Restriction.yaml", "x-entrypoint": { "virtualPath": "entity/CardGroup/Restriction", "sourcePath": "entity/CardGroup/Restriction.yaml", "title": "Restriction", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "merchantCategoryCodes": { "type": "array", "items": { "type": "string" } } }, "required": [ "restriction", "merchantCategoryCodes" ] } }, "x-entrypoint": { "virtualPath": "entity/SlashAccount/Group/Avs/AvsConstraint", "sourcePath": "entity/SlashAccount/Group/Avs/AvsConstraint.yaml", "title": "AvsConstraint", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "AvsConstraint" }, "slashfi.models.entity.SlashAccount.Group.Avs.AvsSettings.yaml": { "type": "object", "properties": { "avsMode": { "type": "string", "enum": [ "alwaysApprove", "proper", "custom" ] }, "constraints": { "deprecated": true, "$ref": "#/$defs/slashfi.models.entity.SlashAccount.Group.Avs.AvsConstraint.yaml", "x-entrypoint": { "virtualPath": "entity/SlashAccount/Group/Avs/AvsConstraint", "sourcePath": "entity/SlashAccount/Group/Avs/AvsConstraint.yaml", "title": "AvsConstraint", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "avsAddress": { "type": "object", "properties": { "addressLine1": { "type": "string" }, "addressLine2": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "zip": { "type": "string" }, "country": { "type": "string" } }, "required": [ "addressLine1", "city", "state", "zip", "country" ] } }, "required": [ "avsMode" ], "x-entrypoint": { "virtualPath": "entity/SlashAccount/Group/Avs/AvsSettings", "sourcePath": "entity/SlashAccount/Group/Avs/AvsSettings.yaml", "title": "AvsSettings", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "AvsSettings" }, "slashfi.models.entity.SlashAccount.Group.Model.yaml": { "type": "object", "properties": { "$entity": { "type": "string", "enum": [ "slash_account_group" ] }, "id": { "type": "string" }, "legalEntityId": { "type": "string" }, "groupType": { "$ref": "#/$defs/slashfi.models.enums.SlashAccountGroupType.yaml", "x-entrypoint": { "virtualPath": "enums/SlashAccountGroupType", "sourcePath": "enums/SlashAccountGroupType.yaml", "title": "SlashAccountGroupType", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "accountType": { "$ref": "#/$defs/slashfi.models.enums.SlashAccountType.yaml", "x-entrypoint": { "virtualPath": "enums/SlashAccountType", "sourcePath": "enums/SlashAccountType.yaml", "title": "SlashAccountType", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "groupName": { "type": "string" }, "provider": { "$ref": "#/$defs/slashfi.models.enums.SlashAccountProvider.yaml", "x-entrypoint": { "virtualPath": "enums/SlashAccountProvider", "sourcePath": "enums/SlashAccountProvider.yaml", "title": "SlashAccountProvider", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "currency": { "type": "string" }, "accountNumber": { "type": "string" }, "routingNumber": { "type": "string" }, "lockedAt": { "type": "string" }, "closedAt": { "type": "string" }, "pendingClosedAt": { "type": "string" }, "timestamp": { "type": "string" }, "additionalData": { "type": "object", "properties": { "avsSettings": { "$ref": "#/$defs/slashfi.models.entity.SlashAccount.Group.Avs.AvsSettings.yaml", "x-entrypoint": { "virtualPath": "entity/SlashAccount/Group/Avs/AvsSettings", "sourcePath": "entity/SlashAccount/Group/Avs/AvsSettings.yaml", "title": "AvsSettings", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } } } }, "required": [ "$entity", "id", "legalEntityId", "groupType", "accountType", "groupName", "currency", "timestamp" ], "x-entrypoint": { "virtualPath": "entity/SlashAccount/Group/Model", "sourcePath": "entity/SlashAccount/Group/Model.yaml", "title": "Model", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "Model" }, "slashfi.models.entity.SlashWalletAccount.yaml": { "type": "object", "properties": { "$entity": { "type": "string", "enum": [ "slash_wallet_account" ] }, "id": { "type": "string", "description": "The ID of the slash wallet account" }, "slashWalletId": { "type": "string", "description": "The ID of the slash wallet associated with this account" }, "chains": { "type": "array", "items": { "$ref": "#/$defs/slashfi.models.enums.Crypto.Chain.yaml", "x-entrypoint": { "virtualPath": "enums/Crypto/Chain", "sourcePath": "enums/Crypto/Chain.yaml", "title": "Chain", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } } }, "protocol": { "type": "string", "enum": [ "evm", "solana" ], "description": "The protocol that this wallet account supports" }, "address": { "type": "string", "description": "The blockchain address of the wallet account" }, "provider": { "type": "string", "enum": [ "privy", "alchemy", "bridge", "rain" ], "description": "The provider of the wallet account" }, "providerId": { "type": "string", "description": "The ID of the entity on the provider's end" }, "createdAt": { "type": "string", "format": "date-time", "description": "The timestamp when this wallet account was created" }, "timestamp": { "type": "string", "format": "date-time", "description": "The timestamp when this record was last modified" } }, "required": [ "$entity", "id", "slashWalletId", "chains", "address", "provider", "providerId", "timestamp" ], "x-entrypoint": { "virtualPath": "entity/SlashWalletAccount", "sourcePath": "entity/SlashWalletAccount.yaml", "title": "SlashWalletAccount", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "SlashWalletAccount" }, "slashfi.models.entity.Subaccount.Id.yaml": { "type": "string", "pattern": "^subaccount_[a-z0-9]*", "x-typescript": { "typeLiteral": "subaccount_${string}" }, "description": "Represent a Subaccount ID in the format of \"subaccount_102jifoij01\"", "x-entrypoint": { "virtualPath": "entity/Subaccount/Id", "sourcePath": "entity/Subaccount/Id.yaml", "title": "Id", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "Id" }, "slashfi.models.entity.Subaccount.Model.yaml": { "type": "object", "properties": { "id": { "$ref": "#/$defs/slashfi.models.entity.Subaccount.Id.yaml", "x-entrypoint": { "virtualPath": "entity/Subaccount/Id", "sourcePath": "entity/Subaccount/Id.yaml", "title": "Id", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true } }, "name": { "type": "string" }, "accountNumber": { "type": "string" }, "routingNumber": { "type": "string" }, "slashAccountGroupId": { "type": "string" }, "closedAt": { "type": "string" }, "accountType": { "type": "string", "enum": [ "default", "primary" ] } }, "required": [ "id", "name", "slashAccountGroupId", "accountType" ], "x-entrypoint": { "virtualPath": "entity/Subaccount/Model", "sourcePath": "entity/Subaccount/Model.yaml", "title": "Model", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "Model" }, "slashfi.models.enums.Crypto.Chain.yaml": { "type": "string", "enum": [ "aptos", "arbitrum", "avalanche", "base", "celo", "ethereum", "hyperevm", "optimism", "plasma", "polygon", "solana", "stellar", "sui", "tempo", "tron" ], "x-entrypoint": { "virtualPath": "enums/Crypto/Chain", "sourcePath": "enums/Crypto/Chain.yaml", "title": "Chain", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "Chain" }, "slashfi.models.enums.OffRamp.Method.yaml": { "type": "string", "enum": [ "wire", "ach", "instant" ], "x-entrypoint": { "virtualPath": "enums/OffRamp/Method", "sourcePath": "enums/OffRamp/Method.yaml", "title": "Method", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "Method" }, "slashfi.models.enums.SlashAccountGroupType.yaml": { "type": "string", "enum": [ "checking", "charge_card", "unsecured_charge_card", "business_debit_card_account", "savings", "global_usd", "acquiring" ], "x-entrypoint": { "virtualPath": "enums/SlashAccountGroupType", "sourcePath": "enums/SlashAccountGroupType.yaml", "title": "SlashAccountGroupType", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "SlashAccountGroupType" }, "slashfi.models.enums.SlashAccountProvider.yaml": { "type": "string", "enum": [ "bnk.dev", "stripe", "slash_stripe", "treasury_prime", "orum", "column", "slash", "privy", "alchemy", "bridge", "rain" ], "x-entrypoint": { "virtualPath": "enums/SlashAccountProvider", "sourcePath": "enums/SlashAccountProvider.yaml", "title": "SlashAccountProvider", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "SlashAccountProvider" }, "slashfi.models.enums.SlashAccountType.yaml": { "type": "string", "enum": [ "consumer", "commercial" ], "x-entrypoint": { "virtualPath": "enums/SlashAccountType", "sourcePath": "enums/SlashAccountType.yaml", "title": "SlashAccountType", "origin": "/home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas", "globalImport": true }, "title": "SlashAccountType" } } }